fix: calling SP check on other wallet types transactions

This commit is contained in:
OmarHatem 2025-04-02 01:47:08 +02:00
parent d04e9c4efa
commit 79fe9da6b7
2 changed files with 11 additions and 5 deletions

View file

@ -348,7 +348,7 @@ Future<void> setup({
getIt.registerSingleton<OrdersStore>( getIt.registerSingleton<OrdersStore>(
OrdersStore(ordersSource: _ordersSource, settingsStore: getIt.get<SettingsStore>())); OrdersStore(ordersSource: _ordersSource, settingsStore: getIt.get<SettingsStore>()));
getIt.registerSingleton<TradeFilterStore>(TradeFilterStore()); getIt.registerSingleton<TradeFilterStore>(TradeFilterStore());
getIt.registerSingleton<TransactionFilterStore>(TransactionFilterStore()); getIt.registerSingleton<TransactionFilterStore>(TransactionFilterStore(getIt.get<AppStore>()));
getIt.registerSingleton<FiatConversionStore>(FiatConversionStore()); getIt.registerSingleton<FiatConversionStore>(FiatConversionStore());
getIt.registerSingleton<SendTemplateStore>(SendTemplateStore(templateSource: _templates)); getIt.registerSingleton<SendTemplateStore>(SendTemplateStore(templateSource: _templates));
getIt.registerSingleton<ExchangeTemplateStore>( getIt.registerSingleton<ExchangeTemplateStore>(

View file

@ -1,6 +1,8 @@
import 'package:cake_wallet/bitcoin/bitcoin.dart'; 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/action_list_item.dart';
import 'package:cake_wallet/view_model/dashboard/anonpay_transaction_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:mobx/mobx.dart';
import 'package:cw_core/transaction_direction.dart'; import 'package:cw_core/transaction_direction.dart';
import 'package:cake_wallet/view_model/dashboard/transaction_list_item.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; class TransactionFilterStore = TransactionFilterStoreBase with _$TransactionFilterStore;
abstract class TransactionFilterStoreBase with Store { abstract class TransactionFilterStoreBase with Store {
TransactionFilterStoreBase() TransactionFilterStoreBase(this._appStore)
: displayIncoming = true, : displayIncoming = true,
displayOutgoing = true, displayOutgoing = true,
displaySilentPayments = true; displaySilentPayments = true;
final AppStore _appStore;
@observable @observable
bool displayIncoming; bool displayIncoming;
@ -87,13 +91,15 @@ abstract class TransactionFilterStoreBase with Store {
if (allowed && (!displayAll)) { if (allowed && (!displayAll)) {
if (item is TransactionListItem) { if (item is TransactionListItem) {
final canShowSilentPayment = _appStore.wallet?.type == WalletType.bitcoin &&
(bitcoin?.txIsReceivedSilentPayment(item.transaction) ?? false);
allowed = allowed =
(displayOutgoing && item.transaction.direction == TransactionDirection.outgoing) || (displayOutgoing && item.transaction.direction == TransactionDirection.outgoing) ||
(displayIncoming && (displayIncoming &&
item.transaction.direction == TransactionDirection.incoming && item.transaction.direction == TransactionDirection.incoming &&
!(bitcoin?.txIsReceivedSilentPayment(item.transaction) ?? false)) || !canShowSilentPayment) ||
(displaySilentPayments && (displaySilentPayments && canShowSilentPayment);
(bitcoin?.txIsReceivedSilentPayment(item.transaction) ?? false));
} else if (item is AnonpayTransactionListItem) { } else if (item is AnonpayTransactionListItem) {
allowed = displayIncoming; allowed = displayIncoming;
} }