From 77b1e231445574c23c9a4a09fc962686c26e0041 Mon Sep 17 00:00:00 2001 From: sneurlax Date: Mon, 10 Apr 2023 15:21:33 -0500 Subject: [PATCH] assume mints listed in lelantus txs are confirmed TODO make sure that mints/_mintTxnData only contains confirmed tx / filter unconfirmed --- lib/services/coins/firo/firo_wallet.dart | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/services/coins/firo/firo_wallet.dart b/lib/services/coins/firo/firo_wallet.dart index 22cdde933..113c2e7f5 100644 --- a/lib/services/coins/firo/firo_wallet.dart +++ b/lib/services/coins/firo/firo_wallet.dart @@ -900,6 +900,10 @@ class FiroWallet extends CoinServiceAPI .findAll(); // _transactionData ??= _refreshTransactions(); + // Query for lelantus txs / mints + Future> get _mintsTxnData => + db.getTransactions(walletId).filter().isLelantusEqualTo(true).findAll(); + // models.TransactionData? cachedTxData; // hack to add tx to txData before refresh completes @@ -2385,6 +2389,7 @@ class FiroWallet extends CoinServiceAPI } final jindexes = firoGetJIndex(); final transactions = await _txnData; + final mints = await _mintsTxnData; final lelantusTransactionsd = await db .getTransactions(walletId) .filter() @@ -2413,7 +2418,9 @@ class FiroWallet extends CoinServiceAPI if (!jindexes!.contains(lelantusCoinsList[i].index) && transactions .where((e) => e.txid == lelantusCoinsList[i].txId) - .isEmpty) { + .isEmpty && + mints.where((e) => e.txid == lelantusCoinsList[i].txId).isEmpty) { + // TODO make sure that mints is filtered to remove unconfirmed tx isUnconfirmed = true; }