Rename to AutoStartCoinJoin
MODIFY
WalletWasabi.Fluent/ViewModels/AddWallet/RecoverWalletViewModel.cs
WalletWasabi.Fluent/ViewModels/AddWallet/RecoverWalletViewModel.cs
@@ -80,7 +80,7 @@ public partial class RecoverWalletViewModel : RoutableViewModel
walletFilePath,
MinGapLimit);
- result.AutoCoinJoin = true;
+ result.AutoStartCoinJoin = true;
result.SetNetwork(Services.WalletManager.Network);
return result;

MODIFY
WalletWasabi.Fluent/ViewModels/CoinJoinProfiles/CoinJoinProfileViewModelBase.cs
WalletWasabi.Fluent/ViewModels/CoinJoinProfiles/CoinJoinProfileViewModelBase.cs
@@ -6,7 +6,7 @@ public abstract class CoinJoinProfileViewModelBase : ViewModelBase
public abstract string Description { get; }
- public virtual bool AutoCoinjoin { get; } = true;
+ public virtual bool AutoStartCoinjoin { get; } = true;
public virtual int AnonScoreTarget { get; } = 5;

MODIFY
WalletWasabi.Fluent/ViewModels/CoinJoinProfiles/CoinJoinProfilesViewModel.cs
WalletWasabi.Fluent/ViewModels/CoinJoinProfiles/CoinJoinProfilesViewModel.cs
@@ -59,7 +59,7 @@ public partial class CoinJoinProfilesViewModel : DialogViewModelBase<bool>
{
var selected = SelectedProfile ?? SelectedManualProfile ?? Profiles.First();
- keyManager.AutoCoinJoin = selected.AutoCoinjoin;
+ keyManager.AutoStartCoinJoin = selected.AutoStartCoinjoin;
keyManager.SetAnonScoreTarget(selected.AnonScoreTarget, toFile: false);
keyManager.SetFeeRateMedianTimeFrame(selected.FeeRateMedianTimeFrameHours, toFile: false);
keyManager.IsCoinjoinProfileSelected = true;

MODIFY
WalletWasabi.Fluent/ViewModels/CoinJoinProfiles/ManualCoinJoinProfileViewModel.cs
WalletWasabi.Fluent/ViewModels/CoinJoinProfiles/ManualCoinJoinProfileViewModel.cs
@@ -2,9 +2,9 @@ namespace WalletWasabi.Fluent.ViewModels.CoinJoinProfiles;
public class ManualCoinJoinProfileViewModel : CoinJoinProfileViewModelBase
{
- public ManualCoinJoinProfileViewModel(bool autoCoinjoin, int anonScoreTarget, int feeRateMedianTimeFrameHours)
+ public ManualCoinJoinProfileViewModel(bool autoStartCoinjoin, int anonScoreTarget, int feeRateMedianTimeFrameHours)
{
- AutoCoinjoin = autoCoinjoin;
+ AutoStartCoinjoin = autoStartCoinjoin;
AnonScoreTarget = anonScoreTarget;
FeeRateMedianTimeFrameHours = feeRateMedianTimeFrameHours;
}
@@ -13,7 +13,7 @@ public class ManualCoinJoinProfileViewModel : CoinJoinProfileViewModelBase
public override string Description => "";
- public override bool AutoCoinjoin { get; }
+ public override bool AutoStartCoinjoin { get; }
public override int AnonScoreTarget { get; }

MODIFY
WalletWasabi.Fluent/ViewModels/Dialogs/ManualCoinJoinProfileDialogViewModel.cs
WalletWasabi.Fluent/ViewModels/Dialogs/ManualCoinJoinProfileDialogViewModel.cs
@@ -11,14 +11,14 @@ namespace WalletWasabi.Fluent.ViewModels.Dialogs;
[NavigationMetaData(Title = "Coinjoin Settings")]
public partial class ManualCoinJoinProfileDialogViewModel : DialogViewModelBase<ManualCoinJoinProfileViewModel?>
{
- [AutoNotify] private bool _autoCoinjoin;
+ [AutoNotify] private bool _autoStartCoinjoin;
[AutoNotify] private int _anonScoreTarget;
[AutoNotify] private TimeFrameItem[] _timeFrames;
[AutoNotify] private TimeFrameItem _selectedTimeFrame;
public ManualCoinJoinProfileDialogViewModel(CoinJoinProfileViewModelBase current)
{
- _autoCoinjoin = true;
+ _autoStartCoinjoin = true;
_anonScoreTarget = current.AnonScoreTarget;
@@ -38,7 +38,7 @@ public partial class ManualCoinJoinProfileDialogViewModel : DialogViewModelBase<
NextCommand = ReactiveCommand.Create(() =>
{
- var auto = AutoCoinjoin;
+ var auto = AutoStartCoinjoin;
var target = AnonScoreTarget;
var hours = (int)Math.Floor(SelectedTimeFrame.TimeFrame.TotalHours);

MODIFY
WalletWasabi.Fluent/ViewModels/Wallets/CoinJoinStateViewModel.cs
WalletWasabi.Fluent/ViewModels/Wallets/CoinJoinStateViewModel.cs
@@ -83,8 +83,8 @@ public partial class CoinJoinStateViewModel : ViewModelBase
this.WhenAnyValue(x => x.RemainingTime)
.Subscribe(text => IsBalanceDisplayed = text.Contains("BTC"));
- var initialState = walletVm.Settings.AutoCoinJoin
- ? State.AutoCoinJoin
+ var initialState = walletVm.Settings.AutoStartCoinJoin
+ ? State.AutoStartCoinJoin
: State.ManualCoinJoin;
if (walletVm.Wallet.KeyManager.IsHardwareWallet || walletVm.Wallet.KeyManager.IsWatchOnly)
@@ -115,8 +115,8 @@ public partial class CoinJoinStateViewModel : ViewModelBase
StopCommand = ReactiveCommand.Create(() => _stateMachine.Fire(Trigger.Stop));
- walletVm.Settings.WhenAnyValue(x => x.AutoCoinJoin)
- .Subscribe(SetAutoCoinJoin);
+ walletVm.Settings.WhenAnyValue(x => x.AutoStartCoinJoin)
+ .Subscribe(SetAutoStartCoinJoin);
walletVm.Settings.WhenAnyValue(x => x.PlebStopThreshold)
.SubscribeAsync(async _ =>
@@ -134,7 +134,7 @@ public partial class CoinJoinStateViewModel : ViewModelBase
{
Invalid = 0,
Disabled,
- AutoCoinJoin,
+ AutoStartCoinJoin,
ManualCoinJoin,
AutoStarting,
@@ -156,8 +156,8 @@ public partial class CoinJoinStateViewModel : ViewModelBase
{
Invalid = 0,
AutoStartTimeout,
- AutoCoinJoinOn,
- AutoCoinJoinOff,
+ AutoStartCoinJoinOn,
+ AutoStartCoinJoinOff,
Pause,
Play,
Stop,
@@ -196,7 +196,7 @@ public partial class CoinJoinStateViewModel : ViewModelBase
// Manual Cj State
_stateMachine.Configure(State.ManualCoinJoin)
- .Permit(Trigger.AutoCoinJoinOn, State.AutoCoinJoin)
+ .Permit(Trigger.AutoStartCoinJoinOn, State.AutoStartCoinJoin)
.InitialTransition(State.Stopped)
.OnEntry(() =>
{
@@ -299,10 +299,10 @@ public partial class CoinJoinStateViewModel : ViewModelBase
_overridePlebStop = true;
});
- // AutoCj State
- _stateMachine.Configure(State.AutoCoinJoin)
+ // AutoStartCoinJoin State
+ _stateMachine.Configure(State.AutoStartCoinJoin)
.InitialTransition(State.AutoStarting)
- .Permit(Trigger.AutoCoinJoinOff, State.ManualCoinJoin)
+ .Permit(Trigger.AutoStartCoinJoinOff, State.ManualCoinJoin)
.OnEntry(async () =>
{
IsAuto = true;
@@ -316,7 +316,7 @@ public partial class CoinJoinStateViewModel : ViewModelBase
});
_stateMachine.Configure(State.AutoStarting)
- .SubstateOf(State.AutoCoinJoin)
+ .SubstateOf(State.AutoStartCoinJoin)
.Permit(Trigger.Pause, State.Paused)
.Permit(Trigger.RoundStart, State.AutoPlaying)
.Permit(Trigger.AutoStartTimeout, State.AutoPlaying)
@@ -337,7 +337,7 @@ public partial class CoinJoinStateViewModel : ViewModelBase
});
_stateMachine.Configure(State.Paused)
- .SubstateOf(State.AutoCoinJoin)
+ .SubstateOf(State.AutoStartCoinJoin)
.Permit(Trigger.Play, State.AutoPlaying)
.OnEntry(async () =>
{
@@ -357,7 +357,7 @@ public partial class CoinJoinStateViewModel : ViewModelBase
.OnTrigger(Trigger.BalanceChanged, UpdateAndShowWalletMixedProgress);
_stateMachine.Configure(State.AutoPlaying)
- .SubstateOf(State.AutoCoinJoin)
+ .SubstateOf(State.AutoStartCoinJoin)
.Permit(Trigger.Pause, State.Paused)
.Permit(Trigger.PlebStop, State.AutoFinishedPlebStop)
.Permit(Trigger.RoundStartFailed, State.AutoFinished)
@@ -396,7 +396,7 @@ public partial class CoinJoinStateViewModel : ViewModelBase
});
_stateMachine.Configure(State.AutoFinished)
- .SubstateOf(State.AutoCoinJoin)
+ .SubstateOf(State.AutoStartCoinJoin)
.Permit(Trigger.RoundStart, State.AutoPlaying)
.Permit(Trigger.BalanceChanged, State.AutoPlaying)
.OnEntry(() =>
@@ -670,8 +670,8 @@ public partial class CoinJoinStateViewModel : ViewModelBase
_stateMachine.Fire(Trigger.Timer);
}
- private void SetAutoCoinJoin(bool enabled)
+ private void SetAutoStartCoinJoin(bool enabled)
{
- _stateMachine.Fire(enabled ? Trigger.AutoCoinJoinOn : Trigger.AutoCoinJoinOff);
+ _stateMachine.Fire(enabled ? Trigger.AutoStartCoinJoinOn : Trigger.AutoStartCoinJoinOff);
}
}

MODIFY
WalletWasabi.Fluent/ViewModels/Wallets/WalletSettingsViewModel.cs
WalletWasabi.Fluent/ViewModels/Wallets/WalletSettingsViewModel.cs
@@ -16,7 +16,7 @@ namespace WalletWasabi.Fluent.ViewModels.Wallets;
public partial class WalletSettingsViewModel : RoutableViewModel
{
[AutoNotify] private bool _preferPsbtWorkflow;
- [AutoNotify] private bool _autoCoinJoin;
+ [AutoNotify] private bool _autoStartCoinJoin;
[AutoNotify] private int _anonScoreTarget;
[AutoNotify] private string _plebStopThreshold;
@@ -27,7 +27,7 @@ public partial class WalletSettingsViewModel : RoutableViewModel
_wallet = walletViewModelBase.Wallet;
Title = $"{_wallet.WalletName} - Wallet Settings";
_preferPsbtWorkflow = _wallet.KeyManager.PreferPsbtWorkflow;
- _autoCoinJoin = _wallet.KeyManager.AutoCoinJoin;
+ _autoStartCoinJoin = _wallet.KeyManager.AutoStartCoinJoin;
IsHardwareWallet = _wallet.KeyManager.IsHardwareWallet;
IsWatchOnly = _wallet.KeyManager.IsWatchOnly;
_plebStopThreshold = _wallet.KeyManager.PlebStopThreshold?.ToString() ?? KeyManager.DefaultPlebStopThreshold.ToString();
@@ -47,7 +47,7 @@ public partial class WalletSettingsViewModel : RoutableViewModel
walletViewModelBase.RaisePropertyChanged(nameof(walletViewModelBase.PreferPsbtWorkflow));
});
- SetAutoCoinJoin = ReactiveCommand.CreateFromTask(async () =>
+ SetAutoStartCoinJoin = ReactiveCommand.CreateFromTask(async () =>
{
if (!_wallet.KeyManager.IsCoinjoinProfileSelected)
{
@@ -56,13 +56,13 @@ public partial class WalletSettingsViewModel : RoutableViewModel
if (_wallet.KeyManager.IsCoinjoinProfileSelected)
{
- AutoCoinJoin = !AutoCoinJoin;
- _wallet.KeyManager.AutoCoinJoin = AutoCoinJoin;
+ AutoStartCoinJoin = !AutoStartCoinJoin;
+ _wallet.KeyManager.AutoStartCoinJoin = AutoStartCoinJoin;
_wallet.KeyManager.ToFile();
}
else
{
- AutoCoinJoin = false;
+ AutoStartCoinJoin = false;
}
});
@@ -96,7 +96,7 @@ public partial class WalletSettingsViewModel : RoutableViewModel
public override sealed string Title { get; protected set; }
- public ICommand SetAutoCoinJoin { get; }
+ public ICommand SetAutoStartCoinJoin { get; }
public ICommand VerifyRecoveryWordsCommand { get; }

MODIFY
WalletWasabi.Fluent/Views/Dialogs/ManualCoinJoinProfileDialogView.axaml
WalletWasabi.Fluent/Views/Dialogs/ManualCoinJoinProfileDialogView.axaml
EnableNext="True" NextContent="Done">
<StackPanel Classes="settingsLayout">
<DockPanel>
- <TextBlock Text="Automatic Coinjoin" />
- <ToggleSwitch IsChecked="{Binding AutoCoinjoin}" />
+ <TextBlock Text="Automatically Start Coinjoin" />
+ <ToggleSwitch IsChecked="{Binding AutoStartCoinjoin}" />
</DockPanel>
<StackPanel Spacing="10">

MODIFY
WalletWasabi.Fluent/Views/Wallets/MusicControlsView.axaml
WalletWasabi.Fluent/Views/Wallets/MusicControlsView.axaml
<Ellipse.Styles>
<Style Selector="Ellipse">
<Setter Property="Fill" Value="{DynamicResource SystemAccentColor}" />
- <Setter Property="ToolTip.Tip" Value="Automatic Coinjoin Enabled" />
+ <Setter Property="ToolTip.Tip" Value="Auto-start Coinjoin Enabled" />
</Style>
<Style Selector="Ellipse.waiting">
<Setter Property="Fill" Value="{DynamicResource CoinjoinActiveColor}" />
<Setter Property="ToolTip.Tip"
- Value="Automatic Coinjoin Enabled. Press Play to start immediately." />
+ Value="Auto-start Coinjoin Enabled. Press Play to start immediately." />
</Style>
<Style Selector="Ellipse.disabled">
<Setter Property="Fill" Value="#7FFFFFFF" />
- <Setter Property="ToolTip.Tip" Value="Automatic Coinjoin Disabled" />
+ <Setter Property="ToolTip.Tip" Value="Auto-start Coinjoin Disabled" />
</Style>
</Ellipse.Styles>
</Ellipse>

MODIFY
WalletWasabi.Fluent/Views/Wallets/WalletSettingsView.axaml
WalletWasabi.Fluent/Views/Wallets/WalletSettingsView.axaml
</DockPanel>
<DockPanel IsVisible="{Binding !IsWatchOnly}">
- <TextBlock Text="Automatic coinjoin" />
- <ToggleSwitch IsChecked="{Binding AutoCoinJoin, Mode=OneWay}" Command="{Binding SetAutoCoinJoin}" />
+ <TextBlock Text="Automatically start coinjoin" />
+ <ToggleSwitch IsChecked="{Binding AutoStartCoinJoin, Mode=OneWay}" Command="{Binding SetAutoStartCoinJoin}" />
</DockPanel>
<StackPanel Spacing="10"
- ToolTip.Tip="No automatic coinjoin if the non-private wallet balance is less than this.">
- <TextBlock Text="Automatic coinjoin threshold (BTC)" />
+ ToolTip.Tip="Coinjoin will not automatically start if the non-private wallet balance is less than this.">
+ <TextBlock Text="Auto-start coinjoin threshold (BTC)" />
<TextBox Text="{Binding PlebStopThreshold}" />
</StackPanel>

MODIFY
WalletWasabi/Blockchain/Keys/KeyManager.cs
WalletWasabi/Blockchain/Keys/KeyManager.cs
@@ -24,7 +24,7 @@ namespace WalletWasabi.Blockchain.Keys;
public class KeyManager
{
public const int DefaultAnonScoreTarget = 5;
- public const bool DefaultAutoCoinjoin = false;
+ public const bool DefaultAutoStartCoinjoin = false;
public const int DefaultFeeRateMedianTimeFrameHours = 0;
public const int AbsoluteMinGapLimit = 21;
@@ -96,9 +96,9 @@ public class KeyManager
{
// This should be impossible but in any case, coinjoin can only happen,
// if a profile is selected. Otherwise, the user's money can be drained.
- if (AutoCoinJoin && !IsCoinjoinProfileSelected)
+ if (AutoStartCoinJoin && !IsCoinjoinProfileSelected)
{
- AutoCoinJoin = false;
+ AutoStartCoinJoin = false;
}
}
@@ -155,11 +155,11 @@ public class KeyManager
[JsonProperty(Order = 9, PropertyName = "PreferPsbtWorkflow")]
public bool PreferPsbtWorkflow { get; set; }
- [JsonProperty(Order = 10, PropertyName = "AutoCoinJoin")]
- public bool AutoCoinJoin { get; set; } = DefaultAutoCoinjoin;
+ [JsonProperty(Order = 10, PropertyName = "AutoStartCoinJoin")]
+ public bool AutoStartCoinJoin { get; set; } = DefaultAutoStartCoinjoin;
/// <summary>
- /// Won't coinjoin automatically if there are less than this much non-private coins in the wallet.
+ /// Won't automatically start coinjoin if there are less than this much non-private coins in the wallet.
/// </summary>
[JsonProperty(Order = 11, PropertyName = "PlebStopThreshold")]
[JsonConverter(typeof(MoneyBtcJsonConverter))]

MODIFY
WalletWasabi/Blockchain/Keys/WalletGenerator.cs
WalletWasabi/Blockchain/Keys/WalletGenerator.cs
@@ -42,7 +42,7 @@ public class WalletGenerator
PasswordHelper.Guard(password);
var km = KeyManager.CreateNew(out Mnemonic mnemonic, password, Network);
- km.AutoCoinJoin = true;
+ km.AutoStartCoinJoin = true;
km.SetNetwork(Network);
km.SetBestHeight(new Height(TipHeight));
km.SetFilePath(walletFilePath);

MODIFY
WalletWasabi/WabiSabi/Client/CoinJoinManager.cs
WalletWasabi/WabiSabi/Client/CoinJoinManager.cs
@@ -245,7 +245,7 @@ public class CoinJoinManager : BackgroundService
if (!trackedAutoStarts.TryAdd(walletToStart, restartTask))
{
- walletToStart.LogInfo($"AutoCoinJoin task was already added.");
+ walletToStart.LogInfo($"AutoStartCoinJoin task was already added.");
}
}

Rename to AutoStartCoinJoin