Files
hash-wallet/cw_core/lib/transaction_history.dart
T
SerhiiandGitHub 02fd12f5f8 CW-214-Monero-wallet-rescan-bug (#945)
* clear transactionHistory before rescan

* move the clear method to the abstract class
2023-07-11 20:56:01 +03:00

54 lines
1.4 KiB
Dart

import 'package:mobx/mobx.dart';
import 'package:cw_core/transaction_info.dart';
abstract class TransactionHistoryBase<TransactionType extends TransactionInfo> {
TransactionHistoryBase()
: transactions = ObservableMap<String, TransactionType>();
@observable
ObservableMap<String, TransactionType> transactions;
Future<void> save();
void addOne(TransactionType transaction);
void addMany(Map<String, TransactionType> transactions);
void clear() => transactions.clear();
// bool _isUpdating;
// @action
// Future<void> update() async {
// if (_isUpdating) {
// return;
// }
// try {
// _isUpdating = true;
// final _transactions = await fetchTransactions();
// transactions.keys
// .toSet()
// .difference(_transactions.keys.toSet())
// .forEach((k) => transactions.remove(k));
// _transactions.forEach((key, value) => transactions[key] = value);
// _isUpdating = false;
// } catch (e) {
// _isUpdating = false;
// rethrow;
// }
// }
// void updateAsync({void Function() onFinished}) {
// fetchTransactionsAsync(
// (transaction) => transactions[transaction.id] = transaction,
// onFinished: onFinished);
// }
// void fetchTransactionsAsync(
// void Function(TransactionType transaction) onTransactionLoaded,
// {void Function() onFinished});
// Future<Map<String, TransactionType>> fetchTransactions();
}