Skip to content

Commit f626837

Browse files
Merge pull request #1147 from cypherstack/fixes
Fixes
2 parents df168d9 + 877ef21 commit f626837

2 files changed

Lines changed: 44 additions & 32 deletions

File tree

lib/models/exchange/change_now/cn_exchange_transaction.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class CNExchangeTransaction {
4848
final String refundExtraId;
4949

5050
/// Deadline until which the estimated rate or transaction is valid.
51-
final DateTime validUntil;
51+
final DateTime? validUntil;
5252

5353
/// Date when transaction was created.
5454
final DateTime date;
@@ -104,7 +104,7 @@ class CNExchangeTransaction {
104104
toCurrency: json["toCurrency"] as String,
105105
refundAddress: json["refundAddress"] as String,
106106
refundExtraId: json["refundExtraId"] as String,
107-
validUntil: DateTime.parse(json["validUntil"] as String),
107+
validUntil: DateTime.tryParse(json["validUntil"] as String? ?? ""),
108108
date: DateTime.parse(json["date"] as String),
109109
id: json["id"] as String,
110110
directedAmount: Decimal.tryParse(json["directedAmount"].toString()),
@@ -133,7 +133,7 @@ class CNExchangeTransaction {
133133
"toCurrency": toCurrency,
134134
"refundAddress": refundAddress,
135135
"refundExtraId": refundExtraId,
136-
"validUntil": validUntil.toIso8601String(),
136+
"validUntil": validUntil?.toIso8601String(),
137137
"date": date.toIso8601String(),
138138
"id": id,
139139
"directedAmount": directedAmount,

lib/wallets/isar/providers/favourite_wallets_provider.dart

Lines changed: 41 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@ import 'dart:async';
33
import 'package:flutter/foundation.dart';
44
import 'package:flutter_riverpod/flutter_riverpod.dart';
55
import 'package:isar/isar.dart';
6-
import '../../../providers/db/main_db_provider.dart';
6+
77
import '../../../app_config.dart';
8+
import '../../../providers/db/main_db_provider.dart';
9+
import '../../../providers/global/duress_provider.dart';
810
import '../../crypto_currency/crypto_currency.dart';
911
import '../models/wallet_info.dart';
1012

@@ -27,9 +29,9 @@ class _Watcher extends ChangeNotifier {
2729
.sortByFavouriteOrderIndex()
2830
.watch(fireImmediately: true)
2931
.listen((event) {
30-
_value = event;
31-
notifyListeners();
32-
});
32+
_value = event;
33+
notifyListeners();
34+
});
3335
}
3436

3537
@override
@@ -39,32 +41,42 @@ class _Watcher extends ChangeNotifier {
3941
}
4042
}
4143

42-
final _wiProvider = ChangeNotifierProvider.family<_Watcher, bool>(
43-
(ref, isFavourite) {
44-
final isar = ref.watch(mainDBProvider).isar;
44+
final _wiProvider = ChangeNotifierProvider.family<_Watcher, bool>((
45+
ref,
46+
isFavourite,
47+
) {
48+
final isar = ref.watch(mainDBProvider).isar;
49+
50+
final watcher = _Watcher(
51+
isar.walletInfo
52+
.filter()
53+
.anyOf<String, CryptoCurrency>(
54+
AppConfig.coins.map((e) => e.identifier),
55+
(q, element) => q.coinNameMatches(element),
56+
)
57+
.isFavouriteEqualTo(isFavourite)
58+
.sortByFavouriteOrderIndex()
59+
.findAllSync(),
60+
isFavourite,
61+
isar,
62+
);
63+
64+
ref.onDispose(() => watcher.dispose());
65+
66+
return watcher;
67+
});
4568

46-
final watcher = _Watcher(
47-
isar.walletInfo
48-
.filter()
49-
.anyOf<String, CryptoCurrency>(
50-
AppConfig.coins.map((e) => e.identifier),
51-
(q, element) => q.coinNameMatches(element),
52-
)
53-
.isFavouriteEqualTo(isFavourite)
54-
.sortByFavouriteOrderIndex()
55-
.findAllSync(),
56-
isFavourite,
57-
isar,
58-
);
69+
final pFavouriteWalletInfos = Provider.family<List<WalletInfo>, bool>((
70+
ref,
71+
isFavourite,
72+
) {
73+
final isDuress = ref.watch(pDuress);
5974

60-
ref.onDispose(() => watcher.dispose());
75+
final infos = ref.watch(_wiProvider(isFavourite)).value;
6176

62-
return watcher;
63-
},
64-
);
77+
if (isDuress) {
78+
infos.retainWhere((e) => e.isDuressVisible);
79+
}
6580

66-
final pFavouriteWalletInfos = Provider.family<List<WalletInfo>, bool>(
67-
(ref, isFavourite) {
68-
return ref.watch(_wiProvider(isFavourite)).value;
69-
},
70-
);
81+
return infos;
82+
});

0 commit comments

Comments
 (0)