set critical phase flag at the proper places
MODIFY
WalletWasabi/WabiSabi/Client/CoinJoinProgressEvents/CoinJoinProgressEventArgs.cs
WalletWasabi/WabiSabi/Client/CoinJoinProgressEvents/CoinJoinProgressEventArgs.cs
@@ -2,5 +2,5 @@ namespace WalletWasabi.WabiSabi.Client.CoinJoinProgressEvents;
public class CoinJoinProgressEventArgs : EventArgs
{
- public bool IsInCriticalPhase { get; set; }
+ public bool IsInCriticalPhase { get; protected set; }
}

MODIFY
WalletWasabi/WabiSabi/Client/CoinJoinProgressEvents/EnteringOutputRegistrationPhase.cs
WalletWasabi/WabiSabi/Client/CoinJoinProgressEvents/EnteringOutputRegistrationPhase.cs
@@ -6,5 +6,6 @@ public class EnteringOutputRegistrationPhase : RoundStateChanged
{
public EnteringOutputRegistrationPhase(RoundState roundState, DateTimeOffset timeoutAt) : base(roundState, timeoutAt)
{
+ IsInCriticalPhase = true;
}
}

MODIFY
WalletWasabi/WabiSabi/Client/CoinJoinProgressEvents/EnteringSigningPhase.cs
WalletWasabi/WabiSabi/Client/CoinJoinProgressEvents/EnteringSigningPhase.cs
@@ -6,5 +6,6 @@ public class EnteringSigningPhase : RoundStateChanged
{
public EnteringSigningPhase(RoundState roundState, DateTimeOffset timeoutAt) : base(roundState, timeoutAt)
{
+ IsInCriticalPhase = true;
}
}

MODIFY
WalletWasabi/WabiSabi/Client/CoinJoinTracker.cs
WalletWasabi/WabiSabi/Client/CoinJoinTracker.cs
@@ -50,7 +50,6 @@ public class CoinJoinTracker : IDisposable
private void CoinJoinClient_CoinJoinClientProgress(object? sender, CoinJoinProgressEventArgs coinJoinProgressEventArgs)
{
- coinJoinProgressEventArgs.IsInCriticalPhase = InCriticalCoinJoinState;
WalletCoinJoinProgressChanged?.Invoke(Wallet, coinJoinProgressEventArgs);
}

set critical phase flag at the proper places