diff --git a/GingerCommon/Crypto/Random/RandomExtensions.cs b/GingerCommon/Crypto/Random/RandomExtensions.cs index 34cd6d6ea2..e670106ae6 100644 --- a/GingerCommon/Crypto/Random/RandomExtensions.cs +++ b/GingerCommon/Crypto/Random/RandomExtensions.cs @@ -1,8 +1,4 @@ -using System; using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace GingerCommon.Crypto.Random; diff --git a/GingerCommon/Static/HttpUtils.cs b/GingerCommon/Static/HttpUtils.cs index 05d971a42f..20937a2cd4 100644 --- a/GingerCommon/Static/HttpUtils.cs +++ b/GingerCommon/Static/HttpUtils.cs @@ -1,10 +1,5 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Net.Http.Headers; using System.Net.Http; -using System.Text; -using System.Text.Json; using System.Threading; using System.Threading.Tasks; using System.Net; diff --git a/GingerCommon/Static/JsonUtils.cs b/GingerCommon/Static/JsonUtils.cs index d01f0fdeef..77c63a031d 100644 --- a/GingerCommon/Static/JsonUtils.cs +++ b/GingerCommon/Static/JsonUtils.cs @@ -1,9 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; using System.Text.Json; -using System.Threading.Tasks; namespace GingerCommon.Static; diff --git a/GingerCommon/Static/TypeUtils.cs b/GingerCommon/Static/TypeUtils.cs index 8f75a8f858..7dc31ae9f2 100644 --- a/GingerCommon/Static/TypeUtils.cs +++ b/GingerCommon/Static/TypeUtils.cs @@ -1,9 +1,5 @@ using System; -using System.Collections.Generic; -using System.Linq; using System.Runtime.CompilerServices; -using System.Text; -using System.Threading.Tasks; namespace GingerCommon.Static; diff --git a/WalletWasabi.Backend/Extensions.cs b/WalletWasabi.Backend/Extensions.cs index ab7b1a6714..993ea1ebd5 100644 --- a/WalletWasabi.Backend/Extensions.cs +++ b/WalletWasabi.Backend/Extensions.cs @@ -1,4 +1,3 @@ -using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using System.Linq; diff --git a/WalletWasabi.Backend/Global.cs b/WalletWasabi.Backend/Global.cs index a77f4ff83c..c257684fdb 100644 --- a/WalletWasabi.Backend/Global.cs +++ b/WalletWasabi.Backend/Global.cs @@ -1,7 +1,6 @@ using GingerCommon.Logging; using Microsoft.Extensions.Logging; using NBitcoin; -using NBitcoin.Secp256k1; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.IO; @@ -21,7 +20,6 @@ using WalletWasabi.WabiSabi; using WalletWasabi.WabiSabi.Backend; using WalletWasabi.WabiSabi.Backend.Banning; -using WalletWasabi.WabiSabi.Backend.Rounds; using WalletWasabi.WabiSabi.Backend.Rounds.CoinJoinStorage; using WalletWasabi.WabiSabi.Backend.Statistics; using WalletWasabi.WabiSabi.Recommendation; diff --git a/WalletWasabi.Daemon/BuySell/BuySellClient.cs b/WalletWasabi.Daemon/BuySell/BuySellClient.cs index 9229e5b11e..3164323629 100644 --- a/WalletWasabi.Daemon/BuySell/BuySellClient.cs +++ b/WalletWasabi.Daemon/BuySell/BuySellClient.cs @@ -1,4 +1,3 @@ -using System; using System.Net.Http; using System.Text; using System.Text.Json; diff --git a/WalletWasabi.Daemon/FeeRateProviders/FeeRateProvider.cs b/WalletWasabi.Daemon/FeeRateProviders/FeeRateProvider.cs index 7ade825529..ce40d567d1 100644 --- a/WalletWasabi.Daemon/FeeRateProviders/FeeRateProvider.cs +++ b/WalletWasabi.Daemon/FeeRateProviders/FeeRateProvider.cs @@ -82,6 +82,7 @@ public void Initialize(RpcFeeRateProvider? rpcFeeRateProvider) /// public FeeRateProvider(WasabiHttpClientFactory httpClientFactory, Network network) : this(httpClientFactory, FeeRateProviderSource.BlockstreamInfo, network) { + Initialize(null); } public AllFeeEstimate GetAllFeeEstimate() diff --git a/WalletWasabi.Daemon/PersistentConfig.cs b/WalletWasabi.Daemon/PersistentConfig.cs index 1ab95b09e5..31167e6c23 100644 --- a/WalletWasabi.Daemon/PersistentConfig.cs +++ b/WalletWasabi.Daemon/PersistentConfig.cs @@ -252,6 +252,16 @@ static public bool Migrate(bool readFromWasabi, [NotNullWhen(true)] ref Persiste }; } + // Previous imports from Wasabi could increase this to 100. We do want to check and change this, even if we are not readFromWasabi. + if (config.AbsoluteMinInputCount > Constants.DefaultAbsoluteMinInputCount) + { + hasChanged = true; + config = config with + { + AbsoluteMinInputCount = Constants.DefaultAbsoluteMinInputCount + }; + } + if (readFromWasabi) { var torMode = Config.ObjectToTorMode(config.UseTor); diff --git a/WalletWasabi.Fluent/AddWallet/ViewModels/AdvancedRecoveryOptionsViewModel.cs b/WalletWasabi.Fluent/AddWallet/ViewModels/AdvancedRecoveryOptionsViewModel.cs index 01cecbd5da..77b4419b91 100644 --- a/WalletWasabi.Fluent/AddWallet/ViewModels/AdvancedRecoveryOptionsViewModel.cs +++ b/WalletWasabi.Fluent/AddWallet/ViewModels/AdvancedRecoveryOptionsViewModel.cs @@ -32,7 +32,7 @@ public AdvancedRecoveryOptionsViewModel(int minGapLimit) private void ValidateMinGapLimit(IValidationErrors errors) { if (!int.TryParse(MinGapLimit, out var minGapLimit) || - minGapLimit is < KeyManager.AbsoluteMinGapLimit or > KeyManager.MaxGapLimit) + minGapLimit is < KeyManager.AbsoluteMinGapLimit or > KeyManager.MaxGapLimit) { errors.Add( ErrorSeverity.Error, diff --git a/WalletWasabi.Fluent/AddWallet/ViewModels/Create/ConfirmRecoveryWordsViewModel.cs b/WalletWasabi.Fluent/AddWallet/ViewModels/Create/ConfirmRecoveryWordsViewModel.cs index aa69788d82..39e7ad88a8 100644 --- a/WalletWasabi.Fluent/AddWallet/ViewModels/Create/ConfirmRecoveryWordsViewModel.cs +++ b/WalletWasabi.Fluent/AddWallet/ViewModels/Create/ConfirmRecoveryWordsViewModel.cs @@ -55,9 +55,9 @@ protected override void OnNavigatedTo(bool isInHistory, CompositeDisposable disp var nextCommandCanExecute = confirmationWordsSourceList - .Connect() - .WhenValueChanged(x => x.IsConfirmed) - .Select(_ => confirmationWordsSourceList.Items.All(x => x.IsConfirmed)); + .Connect() + .WhenValueChanged(x => x.IsConfirmed) + .Select(_ => confirmationWordsSourceList.Items.All(x => x.IsConfirmed)); NextCommand = ReactiveCommand.CreateFromTask(OnNextAsync, nextCommandCanExecute); diff --git a/WalletWasabi.Fluent/AddWallet/ViewModels/CreatePasswordDialogViewModel.cs b/WalletWasabi.Fluent/AddWallet/ViewModels/CreatePasswordDialogViewModel.cs index 47d387cf38..e3acfe95a8 100644 --- a/WalletWasabi.Fluent/AddWallet/ViewModels/CreatePasswordDialogViewModel.cs +++ b/WalletWasabi.Fluent/AddWallet/ViewModels/CreatePasswordDialogViewModel.cs @@ -41,10 +41,10 @@ public CreatePasswordDialogViewModel(string title, string caption = "", bool ena this.RaisePropertyChanged(nameof(ConfirmPassword)); return IsDialogOpen && - ((enableEmpty && string.IsNullOrEmpty(Password) && - string.IsNullOrEmpty(ConfirmPassword)) || - (!string.IsNullOrEmpty(Password) && !string.IsNullOrEmpty(ConfirmPassword) && - !Validations.Any)); + ((enableEmpty && string.IsNullOrEmpty(Password) && + string.IsNullOrEmpty(ConfirmPassword)) || + (!string.IsNullOrEmpty(Password) && !string.IsNullOrEmpty(ConfirmPassword) && + !Validations.Any)); }) .ObserveOn(RxApp.MainThreadScheduler); diff --git a/WalletWasabi.Fluent/AddWallet/ViewModels/WelcomePageViewModel.cs b/WalletWasabi.Fluent/AddWallet/ViewModels/WelcomePageViewModel.cs index 4c1e5f1f0d..30637f6882 100644 --- a/WalletWasabi.Fluent/AddWallet/ViewModels/WelcomePageViewModel.cs +++ b/WalletWasabi.Fluent/AddWallet/ViewModels/WelcomePageViewModel.cs @@ -35,12 +35,11 @@ public WelcomePageViewModel() _selectedDisplayLanguage = Settings.SelectedDisplayLanguage; this.WhenAnyValue(x => x.SelectedIndex) - .Subscribe( - x => - { - NextLabel = x < NumberOfPages - 1 ? Resources.Continue : Resources.GetStarted; - EnableNextKey = x < NumberOfPages - 1; - }); + .Subscribe(x => + { + NextLabel = x < NumberOfPages - 1 ? Resources.Continue : Resources.GetStarted; + EnableNextKey = x < NumberOfPages - 1; + }); this.WhenAnyValue(x => x.IsActive) .Skip(1) diff --git a/WalletWasabi.Fluent/AddWallet/Views/AddWalletPageView.axaml b/WalletWasabi.Fluent/AddWallet/Views/AddWalletPageView.axaml index 14db3a19cb..6078f6f3d7 100644 --- a/WalletWasabi.Fluent/AddWallet/Views/AddWalletPageView.axaml +++ b/WalletWasabi.Fluent/AddWallet/Views/AddWalletPageView.axaml @@ -16,16 +16,16 @@ EnableNext="False"> - - - - + + + + + CancelContent="{x:Static lang:Resources.Cancel}" + EnableCancel="{Binding EnableCancel}" + EnableBack="{Binding EnableBack}" + EnableNext="True" NextContent="OK"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WalletWasabi.Fluent/CoinList/Views/CoinListView.axaml.cs b/WalletWasabi.Fluent/CoinList/Views/CoinListView.axaml.cs index 425bee1010..20a1a07faf 100644 --- a/WalletWasabi.Fluent/CoinList/Views/CoinListView.axaml.cs +++ b/WalletWasabi.Fluent/CoinList/Views/CoinListView.axaml.cs @@ -2,6 +2,7 @@ using Avalonia.Markup.Xaml; namespace WalletWasabi.Fluent.CoinList.Views; + public class CoinListView : UserControl { public CoinListView() diff --git a/WalletWasabi.Fluent/CoinList/Views/Core/Cells/AnonymityScoreCellView.axaml b/WalletWasabi.Fluent/CoinList/Views/Core/Cells/AnonymityScoreCellView.axaml index d74bc134ed..88b52447cf 100644 --- a/WalletWasabi.Fluent/CoinList/Views/Core/Cells/AnonymityScoreCellView.axaml +++ b/WalletWasabi.Fluent/CoinList/Views/Core/Cells/AnonymityScoreCellView.axaml @@ -8,7 +8,8 @@ x:DataType="viewModels:CoinListItem" x:CompileBindings="True" x:Class="WalletWasabi.Fluent.CoinList.Views.Core.Cells.AnonymityScoreCellView"> - + diff --git a/WalletWasabi.Fluent/CoinList/Views/Core/Cells/IndicatorsCellView.axaml b/WalletWasabi.Fluent/CoinList/Views/Core/Cells/IndicatorsCellView.axaml index f8ae14adfa..37a6fb7ccb 100644 --- a/WalletWasabi.Fluent/CoinList/Views/Core/Cells/IndicatorsCellView.axaml +++ b/WalletWasabi.Fluent/CoinList/Views/Core/Cells/IndicatorsCellView.axaml @@ -31,8 +31,8 @@ - - + + - - + + diff --git a/WalletWasabi.Fluent/CoinList/Views/Core/Cells/SelectionCellView.axaml b/WalletWasabi.Fluent/CoinList/Views/Core/Cells/SelectionCellView.axaml index e1f6944ac4..05aa08f02a 100644 --- a/WalletWasabi.Fluent/CoinList/Views/Core/Cells/SelectionCellView.axaml +++ b/WalletWasabi.Fluent/CoinList/Views/Core/Cells/SelectionCellView.axaml @@ -19,8 +19,8 @@ - - + + @@ -37,12 +37,14 @@ - - + diff --git a/WalletWasabi.Fluent/CoinList/Views/SelectCoinsDialogView.axaml b/WalletWasabi.Fluent/CoinList/Views/SelectCoinsDialogView.axaml index 50e51eb80e..b5f8128cfd 100644 --- a/WalletWasabi.Fluent/CoinList/Views/SelectCoinsDialogView.axaml +++ b/WalletWasabi.Fluent/CoinList/Views/SelectCoinsDialogView.axaml @@ -18,7 +18,8 @@ IsBusy="{Binding IsBusy}" ScrollViewer.VerticalScrollBarVisibility="Disabled"> - + + - - - - - + + + + + diff --git a/WalletWasabi.Fluent/Controls/PreviewItem.axaml b/WalletWasabi.Fluent/Controls/PreviewItem.axaml index 744e8829be..8d781ecb92 100644 --- a/WalletWasabi.Fluent/Controls/PreviewItem.axaml +++ b/WalletWasabi.Fluent/Controls/PreviewItem.axaml @@ -6,7 +6,7 @@ + CopyableContent="Text to copy" /> @@ -19,17 +19,18 @@ Data="{TemplateBinding Icon}" Margin="0 0 20 0" Foreground="{DynamicResource SystemAccentCustomColorLight}" - DockPanel.Dock="Left" IsVisible="{TemplateBinding Icon, Converter={x:Static ObjectConverters.IsNotNull}}" /> + DockPanel.Dock="Left" + IsVisible="{TemplateBinding Icon, Converter={x:Static ObjectConverters.IsNotNull}}" /> + IsVisible="{Binding !!$self.Text}" /> + ToolTip.Tip="{x:Static lang:Resources.Copy}" + DockPanel.Dock="Right" Width="30" + Text="{Binding Path=CopyableContent, RelativeSource={RelativeSource TemplatedParent}, Converter={x:Static conv:StringConverters.AsString}}" + ShowCopyButton="{TemplateBinding IsCopyButtonVisible}" /> + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:conv="using:WalletWasabi.Fluent.Converters" + xmlns:lang="clr-namespace:WalletWasabi.Lang;assembly=WalletWasabi"> + CopyableContent="Text to copy" /> @@ -16,13 +16,13 @@ + ToolTip.Tip="{x:Static lang:Resources.Copy}" + DockPanel.Dock="{TemplateBinding CopyButtonPlacement}" + Width="30" + Text="{Binding Path=CopyableContent, RelativeSource={RelativeSource TemplatedParent}, Converter={x:Static conv:StringConverters.AsString}}" + ShowCopyButton="{TemplateBinding IsCopyButtonVisible}" + VerticalAlignment="Center" + HorizontalAlignment="Center" /> diff --git a/WalletWasabi.Fluent/Controls/TagsBox.axaml b/WalletWasabi.Fluent/Controls/TagsBox.axaml index 723fbef825..cb6032d12a 100644 --- a/WalletWasabi.Fluent/Controls/TagsBox.axaml +++ b/WalletWasabi.Fluent/Controls/TagsBox.axaml @@ -1,8 +1,7 @@ + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:generic="clr-namespace:System.Collections.Generic;assembly=System.Collections" + xmlns:system="clr-namespace:System;assembly=System.Runtime"> @@ -16,7 +15,7 @@ - + @@ -40,71 +39,71 @@ - - - - - - - - - - - - diff --git a/WalletWasabi.Fluent/HomeScreen/BuySell/Views/Columns/OrderActionsColumnView.axaml b/WalletWasabi.Fluent/HomeScreen/BuySell/Views/Columns/OrderActionsColumnView.axaml index c630b04e7b..78ad1da1db 100644 --- a/WalletWasabi.Fluent/HomeScreen/BuySell/Views/Columns/OrderActionsColumnView.axaml +++ b/WalletWasabi.Fluent/HomeScreen/BuySell/Views/Columns/OrderActionsColumnView.axaml @@ -8,7 +8,8 @@ x:DataType="viewModels:OrderViewModel" x:CompileBindings="True" x:Class="WalletWasabi.Fluent.HomeScreen.BuySell.Views.Columns.OrderActionsColumnView"> - + diff --git a/WalletWasabi.Fluent/HomeScreen/BuySell/Views/SellSuccessView.axaml b/WalletWasabi.Fluent/HomeScreen/BuySell/Views/SellSuccessView.axaml index 71c0501fb5..b117dd9a03 100644 --- a/WalletWasabi.Fluent/HomeScreen/BuySell/Views/SellSuccessView.axaml +++ b/WalletWasabi.Fluent/HomeScreen/BuySell/Views/SellSuccessView.axaml @@ -34,11 +34,14 @@ - + - + - + @@ -47,7 +50,7 @@ FontWeight="Bold" Text="{Binding Provider}" Foreground="{DynamicResource SystemAccentCustomColorDark}" - Opacity="0.8"/> + Opacity="0.8" /> @@ -55,4 +58,3 @@ - diff --git a/WalletWasabi.Fluent/HomeScreen/BuySell/Views/SellSuccessView.axaml.cs b/WalletWasabi.Fluent/HomeScreen/BuySell/Views/SellSuccessView.axaml.cs index f3ebba2faa..c1a45303b0 100644 --- a/WalletWasabi.Fluent/HomeScreen/BuySell/Views/SellSuccessView.axaml.cs +++ b/WalletWasabi.Fluent/HomeScreen/BuySell/Views/SellSuccessView.axaml.cs @@ -15,4 +15,3 @@ private void InitializeComponent() AvaloniaXamlLoader.Load(this); } } - diff --git a/WalletWasabi.Fluent/HomeScreen/BuySell/Views/SellView.axaml b/WalletWasabi.Fluent/HomeScreen/BuySell/Views/SellView.axaml index 1c62140d68..449aeceb20 100644 --- a/WalletWasabi.Fluent/HomeScreen/BuySell/Views/SellView.axaml +++ b/WalletWasabi.Fluent/HomeScreen/BuySell/Views/SellView.axaml @@ -23,7 +23,7 @@ Theme="{StaticResource OutlineButton}"> + IsVisible="{Binding SelectedCountry.StateName, Converter={x:Static StringConverters.IsNotNullOrEmpty}}" /> @@ -55,7 +55,8 @@