diff --git a/Plugins/BTCPayServer.Plugins.Wabisabi/BTCPayServer.Plugins.Wabisabi.csproj b/Plugins/BTCPayServer.Plugins.Wabisabi/BTCPayServer.Plugins.Wabisabi.csproj index a815aaa..cda56a2 100644 --- a/Plugins/BTCPayServer.Plugins.Wabisabi/BTCPayServer.Plugins.Wabisabi.csproj +++ b/Plugins/BTCPayServer.Plugins.Wabisabi/BTCPayServer.Plugins.Wabisabi.csproj @@ -13,7 +13,7 @@ Wabisabi Coinjoin Allows you to integrate your btcpayserver store with coinjoins. - 1.0.40 + 1.0.41 diff --git a/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabisabiCoordinatorService.cs b/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabisabiCoordinatorService.cs index 79d5a0b..b866dcb 100644 --- a/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabisabiCoordinatorService.cs +++ b/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabisabiCoordinatorService.cs @@ -175,6 +175,11 @@ public class WabisabiCoordinatorService : PeriodicRunner _httpClientFactory); HostedServices.Register(() => WabiSabiCoordinator, "WabiSabi Coordinator"); var settings = await GetSettings(); + + if (settings.Enabled) + { + _ = StartCoordinator(cancellationToken); + } if (settings.DiscoveredCoordinators?.Any() is true) { foreach (var discoveredCoordinator in settings.DiscoveredCoordinators) @@ -182,10 +187,6 @@ public class WabisabiCoordinatorService : PeriodicRunner _instanceManager.AddCoordinator(discoveredCoordinator.Name, discoveredCoordinator.Name, _ => discoveredCoordinator.Uri, null, discoveredCoordinator.Description ); } } - if (settings.Enabled) - { - _ = StartCoordinator(cancellationToken); - } await base.StartAsync(cancellationToken); } diff --git a/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiCoordinatorClientInstance.cs b/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiCoordinatorClientInstance.cs index b6a4ac0..8c69b90 100644 --- a/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiCoordinatorClientInstance.cs +++ b/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiCoordinatorClientInstance.cs @@ -92,13 +92,18 @@ public class WabisabiCoordinatorClientInstanceManager:IHostedService return; } - var url = fetcher.Invoke(_provider).AbsoluteUri; - url = url.EndsWith("/") - ? url - : url + "/"; + + var url = fetcher.Invoke(_provider)?.AbsoluteUri; + if (url is not null) + { + url = url.EndsWith("/") is true + ? url + : url + "/"; + } + var instance = new WabisabiCoordinatorClientInstance( displayName, - name, new Uri(url), _provider.GetService(), _provider, UTXOLocker, + name, url is null? null: new Uri(url), _provider.GetService(), _provider, UTXOLocker, _provider.GetService(), termsConditions, description); if (HostedServices.TryAdd(instance.CoordinatorName, instance)) {