diff --git a/Plugins/BTCPayServer.Plugins.NIP05/BTCPayServer.Plugins.NIP05.csproj b/Plugins/BTCPayServer.Plugins.NIP05/BTCPayServer.Plugins.NIP05.csproj index 3c91d0a..0136d44 100644 --- a/Plugins/BTCPayServer.Plugins.NIP05/BTCPayServer.Plugins.NIP05.csproj +++ b/Plugins/BTCPayServer.Plugins.NIP05/BTCPayServer.Plugins.NIP05.csproj @@ -11,7 +11,7 @@ Nostr NIP5 addresses, Zap support, Nostr Wallet Connect Lightning support - 1.1.15 + 1.1.16 true diff --git a/Plugins/BTCPayServer.Plugins.NIP05/NostrWalletConnectLightningConnectionStringHandler.cs b/Plugins/BTCPayServer.Plugins.NIP05/NostrWalletConnectLightningConnectionStringHandler.cs index 8e879e5..64d3ee5 100644 --- a/Plugins/BTCPayServer.Plugins.NIP05/NostrWalletConnectLightningConnectionStringHandler.cs +++ b/Plugins/BTCPayServer.Plugins.NIP05/NostrWalletConnectLightningConnectionStringHandler.cs @@ -28,9 +28,19 @@ public class NostrWalletConnectLightningConnectionStringHandler : ILightningConn } connectionString = connectionString.Replace("type=nwc;key=", ""); + if (!connectionString.StartsWith(NIP47.UriScheme, StringComparison.OrdinalIgnoreCase)) + { + error = $"Invalid nostr wallet connect uri (must start with {NIP47.UriScheme})"; + return null; + } + + if (!Uri.TryCreate(connectionString, UriKind.Absolute, out var uri)) + { + error = "Invalid nostr wallet connect uri"; + return null; + } try { - Uri.TryCreate(connectionString, UriKind.Absolute, out var uri); var connectParams = NIP47.ParseUri(uri); var cts = new CancellationTokenSource(); cts.CancelAfter(TimeSpan.FromSeconds(10)); diff --git a/Plugins/BTCPayServer.Plugins.NIP05/Views/Shared/NWC/LNPaymentMethodSetupTab.cshtml b/Plugins/BTCPayServer.Plugins.NIP05/Views/Shared/NWC/LNPaymentMethodSetupTab.cshtml index a979d65..afbdadf 100644 --- a/Plugins/BTCPayServer.Plugins.NIP05/Views/Shared/NWC/LNPaymentMethodSetupTab.cshtml +++ b/Plugins/BTCPayServer.Plugins.NIP05/Views/Shared/NWC/LNPaymentMethodSetupTab.cshtml @@ -29,7 +29,7 @@