diff --git a/lib/di.dart b/lib/di.dart index b20b4062f..03de7ce47 100644 --- a/lib/di.dart +++ b/lib/di.dart @@ -348,7 +348,7 @@ Future setup({ getIt.registerSingleton( OrdersStore(ordersSource: _ordersSource, settingsStore: getIt.get())); getIt.registerSingleton(TradeFilterStore()); - getIt.registerSingleton(TransactionFilterStore()); + getIt.registerSingleton(TransactionFilterStore(getIt.get())); getIt.registerSingleton(FiatConversionStore()); getIt.registerSingleton(SendTemplateStore(templateSource: _templates)); getIt.registerSingleton( diff --git a/lib/store/dashboard/transaction_filter_store.dart b/lib/store/dashboard/transaction_filter_store.dart index f28f7e915..81888109c 100644 --- a/lib/store/dashboard/transaction_filter_store.dart +++ b/lib/store/dashboard/transaction_filter_store.dart @@ -1,6 +1,8 @@ import 'package:cake_wallet/bitcoin/bitcoin.dart'; +import 'package:cake_wallet/store/app_store.dart'; import 'package:cake_wallet/view_model/dashboard/action_list_item.dart'; import 'package:cake_wallet/view_model/dashboard/anonpay_transaction_list_item.dart'; +import 'package:cw_core/wallet_type.dart'; import 'package:mobx/mobx.dart'; import 'package:cw_core/transaction_direction.dart'; import 'package:cake_wallet/view_model/dashboard/transaction_list_item.dart'; @@ -10,11 +12,13 @@ part 'transaction_filter_store.g.dart'; class TransactionFilterStore = TransactionFilterStoreBase with _$TransactionFilterStore; abstract class TransactionFilterStoreBase with Store { - TransactionFilterStoreBase() + TransactionFilterStoreBase(this._appStore) : displayIncoming = true, displayOutgoing = true, displaySilentPayments = true; + final AppStore _appStore; + @observable bool displayIncoming; @@ -87,13 +91,15 @@ abstract class TransactionFilterStoreBase with Store { if (allowed && (!displayAll)) { if (item is TransactionListItem) { + final canShowSilentPayment = _appStore.wallet?.type == WalletType.bitcoin && + (bitcoin?.txIsReceivedSilentPayment(item.transaction) ?? false); + allowed = (displayOutgoing && item.transaction.direction == TransactionDirection.outgoing) || (displayIncoming && item.transaction.direction == TransactionDirection.incoming && - !(bitcoin?.txIsReceivedSilentPayment(item.transaction) ?? false)) || - (displaySilentPayments && - (bitcoin?.txIsReceivedSilentPayment(item.transaction) ?? false)); + !canShowSilentPayment) || + (displaySilentPayments && canShowSilentPayment); } else if (item is AnonpayTransactionListItem) { allowed = displayIncoming; }