fix: calling SP check on other wallet types transactions

OmarHatem committed Apr 2, 2025 at 01:47 UTC 79fe9da6b7d2898ea962bd2c612a4afab32ae217
2 files changed +11 -5
lib/di.dart
+1 -1
@@ -348,7 +348,7 @@ Future<void> setup({
348 getIt.registerSingleton<OrdersStore>(
349 OrdersStore(ordersSource: _ordersSource, settingsStore: getIt.get<SettingsStore>()));
350 getIt.registerSingleton<TradeFilterStore>(TradeFilterStore());
351 - getIt.registerSingleton<TransactionFilterStore>(TransactionFilterStore());
351 + getIt.registerSingleton<TransactionFilterStore>(TransactionFilterStore(getIt.get<AppStore>()));
352 getIt.registerSingleton<FiatConversionStore>(FiatConversionStore());
353 getIt.registerSingleton<SendTemplateStore>(SendTemplateStore(templateSource: _templates));
354 getIt.registerSingleton<ExchangeTemplateStore>(
lib/store/dashboard/transaction_filter_store.dart
+10 -4
@@ -1,6 +1,8 @@
1 import 'package:cake_wallet/bitcoin/bitcoin.dart';
2 +import 'package:cake_wallet/store/app_store.dart';
3 import 'package:cake_wallet/view_model/dashboard/action_list_item.dart';
4 import 'package:cake_wallet/view_model/dashboard/anonpay_transaction_list_item.dart';
5 +import 'package:cw_core/wallet_type.dart';
6 import 'package:mobx/mobx.dart';
7 import 'package:cw_core/transaction_direction.dart';
8 import 'package:cake_wallet/view_model/dashboard/transaction_list_item.dart';
@@ -10,11 +12,13 @@ part 'transaction_filter_store.g.dart';
12 class TransactionFilterStore = TransactionFilterStoreBase with _$TransactionFilterStore;
13
14 abstract class TransactionFilterStoreBase with Store {
13 - TransactionFilterStoreBase()
15 + TransactionFilterStoreBase(this._appStore)
16 : displayIncoming = true,
17 displayOutgoing = true,
18 displaySilentPayments = true;
19
20 + final AppStore _appStore;
21 +
22 @observable
23 bool displayIncoming;
24
@@ -87,13 +91,15 @@ abstract class TransactionFilterStoreBase with Store {
91
92 if (allowed && (!displayAll)) {
93 if (item is TransactionListItem) {
94 + final canShowSilentPayment = _appStore.wallet?.type == WalletType.bitcoin &&
95 + (bitcoin?.txIsReceivedSilentPayment(item.transaction) ?? false);
96 +
97 allowed =
98 (displayOutgoing && item.transaction.direction == TransactionDirection.outgoing) ||
99 (displayIncoming &&
100 item.transaction.direction == TransactionDirection.incoming &&
94 - !(bitcoin?.txIsReceivedSilentPayment(item.transaction) ?? false)) ||
95 - (displaySilentPayments &&
96 - (bitcoin?.txIsReceivedSilentPayment(item.transaction) ?? false));
101 + !canShowSilentPayment) ||
102 + (displaySilentPayments && canShowSilentPayment);
103 } else if (item is AnonpayTransactionListItem) {
104 allowed = displayIncoming;
105 }