mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2025-03-20 22:28:46 +00:00
fix Electrum transaction updates (#953)
This commit is contained in:
parent
a7ba4a84e8
commit
f88e150cd1
1 changed files with 3 additions and 15 deletions
|
@ -35,7 +35,7 @@ abstract class ElectrumTransactionHistoryBase
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void addMany(Map<String, ElectrumTransactionInfo> transactions) =>
|
void addMany(Map<String, ElectrumTransactionInfo> transactions) =>
|
||||||
transactions.forEach((_, tx) => _updateOrInsert(tx));
|
transactions.forEach((_, tx) => _update(tx));
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<void> save() async {
|
Future<void> save() async {
|
||||||
|
@ -74,7 +74,7 @@ abstract class ElectrumTransactionHistoryBase
|
||||||
|
|
||||||
if (val is Map<String, dynamic>) {
|
if (val is Map<String, dynamic>) {
|
||||||
final tx = ElectrumTransactionInfo.fromJson(val, walletInfo.type);
|
final tx = ElectrumTransactionInfo.fromJson(val, walletInfo.type);
|
||||||
_updateOrInsert(tx);
|
_update(tx);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -84,18 +84,6 @@ abstract class ElectrumTransactionHistoryBase
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void _updateOrInsert(ElectrumTransactionInfo transaction) {
|
void _update(ElectrumTransactionInfo transaction) =>
|
||||||
|
|
||||||
if (transactions[transaction.id] == null) {
|
|
||||||
transactions[transaction.id] = transaction;
|
transactions[transaction.id] = transaction;
|
||||||
} else {
|
|
||||||
final originalTx = transactions[transaction.id];
|
|
||||||
originalTx?.confirmations = transaction.confirmations;
|
|
||||||
originalTx?.amount = transaction.amount;
|
|
||||||
originalTx?.height = transaction.height;
|
|
||||||
originalTx?.date ??= transaction.date;
|
|
||||||
originalTx?.isPending = transaction.isPending;
|
|
||||||
originalTx?.direction = transaction.direction;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue