diff --git a/Plugins/BTCPayServer.Plugins.NIP05/BTCPayServer.Plugins.NIP05.csproj b/Plugins/BTCPayServer.Plugins.NIP05/BTCPayServer.Plugins.NIP05.csproj
index a191411..8723ecc 100644
--- a/Plugins/BTCPayServer.Plugins.NIP05/BTCPayServer.Plugins.NIP05.csproj
+++ b/Plugins/BTCPayServer.Plugins.NIP05/BTCPayServer.Plugins.NIP05.csproj
@@ -11,7 +11,7 @@
Nostr
Allows you to verify your nostr account with NIP5 and zap like the rest of the crazies
- 1.0.12
+ 1.0.13
@@ -35,7 +35,7 @@
-
+
diff --git a/Plugins/BTCPayServer.Plugins.Wabisabi/BTCPayServer.Plugins.Wabisabi.csproj b/Plugins/BTCPayServer.Plugins.Wabisabi/BTCPayServer.Plugins.Wabisabi.csproj
index c1315f1..b5a02c1 100644
--- a/Plugins/BTCPayServer.Plugins.Wabisabi/BTCPayServer.Plugins.Wabisabi.csproj
+++ b/Plugins/BTCPayServer.Plugins.Wabisabi/BTCPayServer.Plugins.Wabisabi.csproj
@@ -43,7 +43,7 @@
-
+
diff --git a/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabisabiCoordinatorService.cs b/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabisabiCoordinatorService.cs
index 80f04b7..692b447 100644
--- a/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabisabiCoordinatorService.cs
+++ b/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabisabiCoordinatorService.cs
@@ -209,12 +209,10 @@ public class WabisabiCoordinatorService : PeriodicRunner
if (s.Enabled && !string.IsNullOrEmpty(s.NostrIdentity) && s.NostrRelay is not null &&
s.UriToAdvertise is not null)
{
-
- var uri = new Uri(s.UriToAdvertise, "plugins/wabisabi-coordinator/wabisabi");
await Nostr.Publish(s.NostrRelay,
new[]
{
- await Nostr.CreateCoordinatorDiscoveryEvent(network, s.NostrIdentity, uri,
+ await Nostr.CreateCoordinatorDiscoveryEvent(network, s.NostrIdentity, s.UriToAdvertise,
s.CoordinatorDescription)
},s.UriToAdvertise.IsOnion()? _socks5HttpClientHandler: null, cancel);
}
diff --git a/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabisabiCoordinatorSettings.cs b/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabisabiCoordinatorSettings.cs
index 11f76c0..d8c4634 100644
--- a/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabisabiCoordinatorSettings.cs
+++ b/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabisabiCoordinatorSettings.cs
@@ -11,7 +11,7 @@ public class WabisabiCoordinatorSettings
public bool Enabled { get; set; } = false;
public string NostrIdentity { get; set; }
- public Uri NostrRelay { get; set; } = new Uri("wss://nostr.mutinywallet.com");
+ public Uri NostrRelay { get; set; } = new Uri("wss://kukks.org/nostr");
public List DiscoveredCoordinators { get; set; } = new();
diff --git a/Plugins/BTCPayServer.Plugins.Wabisabi/Nostr.cs b/Plugins/BTCPayServer.Plugins.Wabisabi/Nostr.cs
index 8ae8949..b25c9c6 100644
--- a/Plugins/BTCPayServer.Plugins.Wabisabi/Nostr.cs
+++ b/Plugins/BTCPayServer.Plugins.Wabisabi/Nostr.cs
@@ -73,45 +73,28 @@ public class Nostr
{
var nostrClient = new NostrClient(relayUri, socket => socket.Options.Proxy = relayUri.IsLocalNetwork()? null: httpClientHandler?.Proxy);
- Stopwatch stopwatch = new();
var result = new List();
- var tcs = new TaskCompletionSource();
- nostrClient.EoseReceived += (sender, s) =>
- {
- tcs.SetResult();
- };
- nostrClient.EventsReceived += (sender, tuple) =>
- {
- stopwatch.Restart();
- result.AddRange(tuple.events);
- };
-
var network = currentNetwork.Name.ToLower();
- var cts = new CancellationTokenSource(TimeSpan.FromMinutes(1));
+
+ var cts = CancellationTokenSource.CreateLinkedTokenSource(new CancellationTokenSource(TimeSpan.FromMinutes(1)).Token,
+ cancellationToken);
_ = nostrClient.Connect(cts.Token);
await nostrClient.WaitUntilConnected(cts.Token);
- await nostrClient.CreateSubscription("nostr-wabisabi-coordinators",
+
+ result = await nostrClient.SubscribeForEvents(
new[]
{
new NostrSubscriptionFilter()
{
- Kinds = new[] {Kind},
+ Kinds = new[] {Kind},
Since = DateTimeOffset.UtcNow.Subtract(TimeSpan.FromHours(1)),
ExtensionData = new Dictionary()
{
- ["#type"] = JsonSerializer.SerializeToElement(new []{TypeTagValue}),
- ["#network"] = JsonSerializer.SerializeToElement(new []{network})
+ ["#type"] = JsonSerializer.SerializeToElement(new[] {TypeTagValue}),
+ ["#network"] = JsonSerializer.SerializeToElement(new[] {network})
}
}
- }, cancellationToken);
- stopwatch.Start();
-
-
- while (!tcs.Task.IsCompleted && !cts.IsCancellationRequested &&
- stopwatch.ElapsedMilliseconds < 10000)
- {
- await Task.Delay(1000, cts.Token);
- }
+ }, true, cts.Token).ToListAsync();
nostrClient.Dispose();
diff --git a/Plugins/BTCPayServer.Plugins.Wabisabi/Views/Shared/Wabisabi/AddCoordinatorPrompt.cshtml b/Plugins/BTCPayServer.Plugins.Wabisabi/Views/Shared/Wabisabi/AddCoordinatorPrompt.cshtml
index de5d1e0..09c4ca6 100644
--- a/Plugins/BTCPayServer.Plugins.Wabisabi/Views/Shared/Wabisabi/AddCoordinatorPrompt.cshtml
+++ b/Plugins/BTCPayServer.Plugins.Wabisabi/Views/Shared/Wabisabi/AddCoordinatorPrompt.cshtml
@@ -36,7 +36,7 @@
diff --git a/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiStoreController.cs b/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiStoreController.cs
index 31b57cc..ebef1bc 100644
--- a/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiStoreController.cs
+++ b/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiStoreController.cs
@@ -73,6 +73,7 @@ namespace BTCPayServer.Plugins.Wabisabi
}
[HttpGet("")]
+ [HttpGet("add-coordinator")]
public async Task UpdateWabisabiStoreSettings(string storeId)
{
WabisabiStoreSettings Wabisabi = null;
@@ -132,7 +133,6 @@ namespace BTCPayServer.Plugins.Wabisabi
}
return View(vm);
- break;
case "check":
await _walletProvider.Check(storeId, CancellationToken.None);
TempData["SuccessMessage"] = "Store wallet re-checked";