CW-476 Only get Transactions of one Account on tx-history refresh (#1077)
Konstantin Ullrich committed
Sep 8, 2023 at 19:12 UTC
4bcf6162f11d45273d509c0e158c4fe07fa7372d
2 files changed
+6
-4
cw_monero/lib/api/transaction_history.dart
+1
-1
@@ -55,7 +55,7 @@ void refreshTransactions() => transactionsRefreshNative();
55
56
int countOfTransactions() => transactionsCountNative();
57
58
-List<TransactionInfoRow> getAllTransations() {
58
+List<TransactionInfoRow> getAllTransactions() {
59
final size = transactionsCountNative();
60
final transactionsPointer = transactionsGetAllNative();
61
final transactionsAddresses = transactionsPointer.asTypedList(size);
cw_monero/lib/monero_wallet.dart
+5
-3
@@ -482,7 +482,7 @@ abstract class MoneroWalletBase extends WalletBase<MoneroBalance,
482
@override
483
Future<Map<String, MoneroTransactionInfo>> fetchTransactions() async {
484
transaction_history.refreshTransactions();
485
- return _getAllTransactions(null).fold<Map<String, MoneroTransactionInfo>>(
485
+ return _getAllTransactionsOfAccount(walletAddresses.account?.id).fold<Map<String, MoneroTransactionInfo>>(
486
<String, MoneroTransactionInfo>{},
487
(Map<String, MoneroTransactionInfo> acc, MoneroTransactionInfo tx) {
488
acc[tx.id] = tx;
@@ -497,6 +497,7 @@ abstract class MoneroWalletBase extends WalletBase<MoneroBalance,
497
}
498
499
_isTransactionUpdating = true;
500
+ transactionHistory.clear();
501
final transactions = await fetchTransactions();
502
transactionHistory.addMany(transactions);
503
await transactionHistory.save();
@@ -511,10 +512,11 @@ abstract class MoneroWalletBase extends WalletBase<MoneroBalance,
512
return monero_wallet.getSubaddressLabel(accountIndex, addressIndex);
513
}
514
514
- List<MoneroTransactionInfo> _getAllTransactions(dynamic _) =>
515
+ List<MoneroTransactionInfo> _getAllTransactionsOfAccount(int? accountIndex) =>
516
transaction_history
516
- .getAllTransations()
517
+ .getAllTransactions()
518
.map((row) => MoneroTransactionInfo.fromRow(row))
519
+ .where((element) => element.accountIndex == (accountIndex ?? 0))
520
.toList();
521
522
void _setListeners() {