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))
{