add one item group as a single item
MODIFY
WalletWasabi.Fluent/ViewModels/Wallets/Home/History/HistoryItems/HistoryItemViewModelBase.cs
WalletWasabi.Fluent/ViewModels/Wallets/Home/History/HistoryItems/HistoryItemViewModelBase.cs
@@ -40,7 +40,7 @@ public abstract partial class HistoryItemViewModelBase : ViewModelBase
public uint256 Id { get; }
- public SmartLabel Label { get; protected set; } = SmartLabel.Empty;
+ public SmartLabel Label { get; init; } = SmartLabel.Empty;
public bool IsCoinJoin { get; protected set; }

MODIFY
WalletWasabi.Fluent/ViewModels/Wallets/Home/History/HistoryViewModel.cs
WalletWasabi.Fluent/ViewModels/Wallets/Home/History/HistoryViewModel.cs
@@ -13,6 +13,7 @@ using DynamicData;
using DynamicData.Binding;
using NBitcoin;
using ReactiveUI;
+using WalletWasabi.Blockchain.Analysis.Clustering;
using WalletWasabi.Blockchain.Transactions;
using WalletWasabi.Fluent.Extensions;
using WalletWasabi.Fluent.Helpers;
@@ -273,9 +274,21 @@ public partial class HistoryViewModel : ActivatableViewModel
if (coinJoinGroup is { } cjg &&
(i + 1 < txRecordList.Count && !txRecordList[i + 1].IsOwnCoinjoin || // The next item is not CJ so add the group.
i == txRecordList.Count - 1)) // There is no following item in the list so add the group.
+ {
+ if (cjg.CoinJoinTransactions.Count == 1)
+ {
+ var singleCjItem = new CoinJoinHistoryItemViewModel(cjg.OrderIndex, cjg.CoinJoinTransactions.First(), _walletViewModel, balance, _updateTrigger)
+ {
+ Label = new SmartLabel("Coinjoin")
+ };
+ yield return singleCjItem;
+ }
+ else
{
cjg.SetBalance(balance);
yield return cjg;
+ }
+
coinJoinGroup = null;
}
}

add one item group as a single item