add psbt workflow to settings and uiconfig
MODIFY
WalletWasabi.Fluent/ViewModels/Settings/GeneralSettingsTabViewModel.cs
WalletWasabi.Fluent/ViewModels/Settings/GeneralSettingsTabViewModel.cs
@@ -26,6 +26,7 @@ namespace WalletWasabi.Fluent.ViewModels.Settings
[AutoNotify] private bool _autoCopy;
[AutoNotify] private bool _customFee;
[AutoNotify] private bool _customChangeAddress;
+ [AutoNotify] private bool _usePsbtWorkflow;
[AutoNotify] private FeeDisplayFormat _selectedFeeDisplayFormat;
public GeneralSettingsTabViewModel()
@@ -34,6 +35,7 @@ namespace WalletWasabi.Fluent.ViewModels.Settings
_autoCopy = Services.UiConfig.Autocopy;
_customFee = Services.UiConfig.IsCustomFee;
_customChangeAddress = Services.UiConfig.IsCustomChangeAddress;
+ _usePsbtWorkflow = Services.UiConfig.UsePsbtWorkflow;
_selectedFeeDisplayFormat = Enum.IsDefined(typeof(FeeDisplayFormat), Services.UiConfig.FeeDisplayFormat)
? (FeeDisplayFormat) Services.UiConfig.FeeDisplayFormat
: FeeDisplayFormat.SatoshiPerByte;
@@ -66,6 +68,11 @@ namespace WalletWasabi.Fluent.ViewModels.Settings
.ObserveOn(RxApp.MainThreadScheduler)
.Skip(1)
.Subscribe(x => Services.UiConfig.FeeDisplayFormat = (int)x);
+
+ this.WhenAnyValue(x => x.UsePsbtWorkflow)
+ .ObserveOn(RxApp.TaskpoolScheduler)
+ .Skip(1)
+ .Subscribe(x => Services.UiConfig.UsePsbtWorkflow = x);
}
public IEnumerable<FeeDisplayFormat> FeeDisplayFormats =>

MODIFY
WalletWasabi.Fluent/Views/Settings/GeneralSettingsTabView.axaml
WalletWasabi.Fluent/Views/Settings/GeneralSettingsTabView.axaml
<ToggleSwitch IsChecked="{Binding CustomChangeAddress}" />
</DockPanel>
+ <DockPanel>
+ <TextBlock VerticalAlignment="Center" Text="PSBT workflow" />
+ <ToggleSwitch IsChecked="{Binding UsePsbtWorkflow}" />
+ </DockPanel>
+
<StackPanel Spacing="10">
<TextBlock Text="Fee Display Format" />
<ComboBox HorizontalAlignment="Stretch" Items="{Binding FeeDisplayFormats}" SelectedItem="{Binding SelectedFeeDisplayFormat}">

MODIFY
WalletWasabi.Gui/UiConfig.cs
WalletWasabi.Gui/UiConfig.cs
@@ -24,6 +24,7 @@ namespace WalletWasabi.Gui
private bool _darkModeEnabled;
private string? _lastSelectedWallet;
private string _windowState = "Normal";
+ private bool _usePsbtWorkflow;
public UiConfig() : base()
{
@@ -40,7 +41,8 @@ namespace WalletWasabi.Gui
x => x.FeeDisplayFormat,
x => x.LastSelectedWallet,
x => x.WindowState,
- (_, _, _, _, _, _, _, _) => Unit.Default)
+ x => x.UsePsbtWorkflow,
+ (_, _, _, _, _, _, _, _, _) => Unit.Default)
.Throttle(TimeSpan.FromMilliseconds(500))
.Skip(1) // Won't save on UiConfig creation.
.ObserveOn(RxApp.TaskpoolScheduler)
@@ -135,6 +137,14 @@ namespace WalletWasabi.Gui
set => RaiseAndSetIfChanged(ref _lastSelectedWallet, value);
}
+ [DefaultValue(false)]
+ [JsonProperty(PropertyName = "UsePsbtWorkflow", DefaultValueHandling = DefaultValueHandling.Populate)]
+ public bool UsePsbtWorkflow
+ {
+ get => _usePsbtWorkflow;
+ set => RaiseAndSetIfChanged(ref _usePsbtWorkflow, value);
+ }
+
[JsonProperty(PropertyName = "CoinListViewSortingPreference")]
[JsonConverter(typeof(SortingPreferenceJsonConverter))]
public SortingPreference CoinListViewSortingPreference { get; internal set; } = new SortingPreference(SortOrder.Increasing, "Amount");

add psbt workflow to settings and uiconfig