Remove unncessary classes
DELETE
WalletWasabi.Fluent/ViewModels/CoinControl/Core/Cells/IndicatorsCellViewModel.cs
-namespace WalletWasabi.Fluent.ViewModels.CoinControl.Core.Cells;
-
-public class IndicatorsCellViewModel : ViewModelBase
-{
- public IndicatorsCellViewModel(ICoin coin)
- {
- IsCoinjoining = coin.IsCoinjoining;
- IsConfirmed = coin.IsConfirmed;
- IsBanned = coin.BannedUntil.HasValue;
- ConfirmationStatus = coin.IsConfirmed ? "Confirmed" : "Pending confirmation";
- BannedUntilUtcToolTip = coin.BannedUntil.HasValue ? $"Can't participate in coinjoin until: {coin.BannedUntil:g}" : "";
- }
-
- public bool IsBanned { get; }
-
- public string BannedUntilUtcToolTip { get; }
-
- public bool IsCoinjoining { get; }
-
- public bool IsConfirmed { get; }
-
- public string? ConfirmationStatus { get; }
-}

DELETE
WalletWasabi.Fluent/ViewModels/CoinControl/Core/Cells/LabelsCellViewModel.cs
-using System.Collections.Generic;
-using WalletWasabi.Fluent.Helpers;
-
-namespace WalletWasabi.Fluent.ViewModels.CoinControl.Core.Cells;
-
-public class LabelsCellViewModel : ViewModelBase
-{
- public LabelsCellViewModel(ICoin coin)
- {
- Labels = coin.Labels;
-
- if (coin.Labels == CoinPocketHelper.PrivateFundsText)
- {
- IsPrivate = true;
- }
- else if (coin.Labels == CoinPocketHelper.SemiPrivateFundsText)
- {
- IsSemiPrivate = true;
- }
- else
- {
- IsNonPrivate = true;
- }
- }
-
- public bool IsPrivate { get; }
-
- public bool IsSemiPrivate { get; }
-
- public bool IsNonPrivate { get; }
-
- public IEnumerable<string> Labels { get; }
-}

DELETE
WalletWasabi.Fluent/ViewModels/CoinControl/Core/ConstantTemplate.cs
-using Avalonia.Controls;
-using Avalonia.Controls.Presenters;
-using Avalonia.Controls.Templates;
-using Avalonia.Layout;
-
-namespace WalletWasabi.Fluent.ViewModels.CoinControl.Core;
-
-public class ConstantTemplate<T> : IDataTemplate
-{
- private readonly Func<T, object> _build;
- private readonly HorizontalAlignment _alignment;
-
- public ConstantTemplate(Func<T, object> build, HorizontalAlignment alignment = HorizontalAlignment.Center)
- {
- _build = build;
- _alignment = alignment;
- }
-
- public IControl Build(object param)
- {
- return new ContentPresenter
- {
- Content = _build((T) param),
- HorizontalContentAlignment = _alignment
- };
- }
-
- public bool Match(object data)
- {
- return data is T;
- }
-}

DELETE
WalletWasabi.Fluent/ViewModels/CoinControl/Core/ICoin.cs
-using NBitcoin;
-using WalletWasabi.Blockchain.Analysis.Clustering;
-
-namespace WalletWasabi.Fluent.ViewModels.CoinControl.Core;
-
-public interface ICoin
-{
- Money Amount { get; }
- int AnonymityScore { get; }
- SmartLabel Labels { get; }
- bool IsCoinjoining { get; }
- DateTimeOffset? BannedUntil { get; }
- bool IsConfirmed { get; }
-}

DELETE
WalletWasabi.Fluent/ViewModels/CoinControl/Core/PocketCoinAdapter.cs
-using System.Linq;
-using NBitcoin;
-using WalletWasabi.Blockchain.Analysis.Clustering;
-using WalletWasabi.Fluent.Models;
-
-namespace WalletWasabi.Fluent.ViewModels.CoinControl.Core;
-
-public class PocketCoinAdapter : ICoin
-{
- private readonly Pocket _pocket;
-
- public PocketCoinAdapter(Pocket pocket)
- {
- _pocket = pocket;
- }
-
- public Money Amount => _pocket.Amount;
- public int AnonymityScore => _pocket.Coins.Max(x => (int) x.HdPubKey.AnonymitySet);
- public SmartLabel Labels => _pocket.Labels;
- public bool IsCoinjoining => _pocket.Coins.Any(x => x.CoinJoinInProgress);
- public DateTimeOffset? BannedUntil => _pocket.Coins.Max(x => x.BannedUntilUtc);
- public bool IsConfirmed => _pocket.Coins.All(x => x.Confirmed);
-}

DELETE
WalletWasabi.Fluent/ViewModels/CoinControl/Core/SmartCoinAdapter.cs
-using NBitcoin;
-using WalletWasabi.Blockchain.Analysis.Clustering;
-using WalletWasabi.Blockchain.TransactionOutputs;
-
-namespace WalletWasabi.Fluent.ViewModels.CoinControl.Core;
-
-public class SmartCoinAdapter : ICoin
-{
- private readonly SmartCoin _smartCoin;
-
- public SmartCoinAdapter(SmartCoin smartCoin)
- {
- _smartCoin = smartCoin;
- }
-
- public Money Amount => _smartCoin.Amount;
- public int AnonymityScore => (int) _smartCoin.HdPubKey.AnonymitySet;
- public SmartLabel Labels => _smartCoin.HdPubKey.Label;
- public bool IsCoinjoining => _smartCoin.CoinJoinInProgress;
- public DateTimeOffset? BannedUntil => _smartCoin.BannedUntilUtc;
- public bool IsConfirmed => _smartCoin.Confirmed;
-}

DELETE
WalletWasabi.Fluent/ViewModels/CoinControl/Core/TreeNode.cs
-using System.Collections.Generic;
-using System.Linq;
-
-namespace WalletWasabi.Fluent.ViewModels.CoinControl.Core;
-
-public class TreeNode
-{
- public TreeNode(object value) : this(value, Enumerable.Empty<TreeNode>())
- {
- }
-
- public TreeNode(object value, IEnumerable<TreeNode> children)
- {
- Value = value;
- Children = children;
- }
-
- public object Value { get; }
- public IEnumerable<TreeNode> Children { get; }
-
- public bool IsExpanded { get; set; } = true;
-
- public override string? ToString()
- {
- return Value.ToString();
- }
-}

Remove unncessary classes