diff --git a/Plugins/BTCPayServer.Plugins.NIP05/BTCPayServer.Plugins.NIP05.csproj b/Plugins/BTCPayServer.Plugins.NIP05/BTCPayServer.Plugins.NIP05.csproj
index cac77ca..3260262 100644
--- a/Plugins/BTCPayServer.Plugins.NIP05/BTCPayServer.Plugins.NIP05.csproj
+++ b/Plugins/BTCPayServer.Plugins.NIP05/BTCPayServer.Plugins.NIP05.csproj
@@ -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 689626e..96b3070 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.50
+ 1.0.51
diff --git a/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabisabiCoordinatorService.cs b/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabisabiCoordinatorService.cs
index 450ac06..64601d8 100644
--- a/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabisabiCoordinatorService.cs
+++ b/Plugins/BTCPayServer.Plugins.Wabisabi/Coordinator/WabisabiCoordinatorService.cs
@@ -16,8 +16,10 @@ using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using NBitcoin;
using NBitcoin.RPC;
+using NBitcoin.Secp256k1;
using NBXplorer;
using Newtonsoft.Json.Linq;
+using NNostr.Client;
using WalletWasabi.Bases;
using WalletWasabi.BitcoinCore.Rpc;
using WalletWasabi.Cache;
@@ -95,9 +97,10 @@ public class WabisabiCoordinatorService : PeriodicRunner
instance.TermsConditions = wabisabiCoordinatorSettings.TermsConditions;
}
- _ = ActionAsync(CancellationToken.None);
await _settingsRepository.UpdateSetting(wabisabiCoordinatorSettings, nameof(WabisabiCoordinatorSettings));
+
+ TriggerRound();
}
public class BtcPayRpcClient : CachedRpcClient
@@ -217,10 +220,21 @@ public class WabisabiCoordinatorService : PeriodicRunner
if (s.Enabled && !string.IsNullOrEmpty(s.NostrIdentity) && s.NostrRelay is not null &&
s.UriToAdvertise is not null)
{
+ ECPrivKey key;
+ try
+ {
+ key = NostrExtensions.ParseKey(s.NostrIdentity);
+ }
+ catch (Exception e)
+ {
+ s.NostrIdentity = null;
+ await UpdateSettings(s);
+ throw;
+ }
await Nostr.Publish(s.NostrRelay,
new[]
{
- await Nostr.CreateCoordinatorDiscoveryEvent(network, s.NostrIdentity, s.UriToAdvertise,
+ await Nostr.CreateCoordinatorDiscoveryEvent(network, key, s.UriToAdvertise,
s.CoordinatorDescription)
},s.UriToAdvertise.IsOnion()? _socks5HttpClientHandler: null, cancel);
}
diff --git a/Plugins/BTCPayServer.Plugins.Wabisabi/Nostr.cs b/Plugins/BTCPayServer.Plugins.Wabisabi/Nostr.cs
index ebec16d..f2a58fa 100644
--- a/Plugins/BTCPayServer.Plugins.Wabisabi/Nostr.cs
+++ b/Plugins/BTCPayServer.Plugins.Wabisabi/Nostr.cs
@@ -8,6 +8,7 @@ using System.Threading.Tasks;
using BTCPayServer.Services;
using LNURL;
using NBitcoin;
+using NBitcoin.Secp256k1;
using NNostr.Client;
using WalletWasabi.Backend.Controllers;
@@ -46,11 +47,10 @@ public class Nostr
}
public static async Task CreateCoordinatorDiscoveryEvent(Network currentNetwork,
- string key,
+ ECPrivKey key,
Uri coordinatorUri,
string description)
{
- var privateKey = NostrExtensions.ParseKey(key);
var evt = new NostrEvent()
{
Kind = Kind,
@@ -63,7 +63,7 @@ public class Nostr
}
};
- await evt.ComputeIdAndSignAsync(privateKey);
+ await evt.ComputeIdAndSignAsync(key);
return evt;
}
diff --git a/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiStoreController.cs b/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiStoreController.cs
index a6e46e1..11310e0 100644
--- a/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiStoreController.cs
+++ b/Plugins/BTCPayServer.Plugins.Wabisabi/WabisabiStoreController.cs
@@ -10,12 +10,10 @@ using BTCPayServer.Abstractions.Contracts;
using BTCPayServer.Client;
using BTCPayServer.Client.Models;
using BTCPayServer.Common;
-using BTCPayServer.Configuration;
using BTCPayServer.Security;
using BTCPayServer.Services;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
-using Microsoft.Extensions.Caching.Memory;
using Microsoft.Extensions.DependencyInjection;
using NBitcoin;
using NBitcoin.Payment;
@@ -31,7 +29,7 @@ namespace BTCPayServer.Plugins.Wabisabi
[Authorize(AuthenticationSchemes = AuthenticationSchemes.Cookie)]
[Authorize(Policy = Policies.CanModifyStoreSettings, AuthenticationSchemes = AuthenticationSchemes.Cookie)]
[Route("plugins/{storeId}/Wabisabi")]
- public partial class WabisabiStoreController : Controller
+ public class WabisabiStoreController : Controller
{
private readonly WabisabiService _WabisabiService;
private readonly WalletProvider _walletProvider;