mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-18 14:34:23 +01:00
Lightning Address: Use lowercased username when resolving (#5579)
* Lightning Address: Use lowercased username when resolving * Use static NormalizeUsername
This commit is contained in:
@@ -48,16 +48,11 @@ public class LightningAddressService
|
||||
{
|
||||
return await _memoryCache.GetOrCreateAsync(GetKey(username), async entry =>
|
||||
{
|
||||
var result = await Get(new LightningAddressQuery { Usernames = new[] { username } });
|
||||
var result = await Get(new LightningAddressQuery { Usernames = new[] { NormalizeUsername(username) } });
|
||||
return result.FirstOrDefault();
|
||||
});
|
||||
}
|
||||
|
||||
private string NormalizeUsername(string username)
|
||||
{
|
||||
return username.ToLowerInvariant();
|
||||
}
|
||||
|
||||
public async Task<bool> Set(LightningAddressData data)
|
||||
{
|
||||
data.Username = NormalizeUsername(data.Username);
|
||||
@@ -115,8 +110,12 @@ public class LightningAddressService
|
||||
await context.AddAsync(data);
|
||||
}
|
||||
|
||||
public static string NormalizeUsername(string username)
|
||||
{
|
||||
return username.ToLowerInvariant();
|
||||
}
|
||||
|
||||
private string GetKey(string username)
|
||||
private static string GetKey(string username)
|
||||
{
|
||||
username = NormalizeUsername(username);
|
||||
return $"{nameof(LightningAddressService)}_{username}";
|
||||
|
||||
@@ -373,7 +373,7 @@ namespace BTCPayServer
|
||||
if (string.IsNullOrEmpty(username))
|
||||
return NotFound("Unknown username");
|
||||
|
||||
LNURLPayRequest lnurlRequest = null;
|
||||
LNURLPayRequest lnurlRequest;
|
||||
|
||||
// Check core and fall back to lookup Lightning Address via plugins
|
||||
var lightningAddressSettings = await _lightningAddressService.ResolveByAddress(username);
|
||||
|
||||
9
BTCPayServer/Plugins/LightningAddressResolver.cs
Normal file
9
BTCPayServer/Plugins/LightningAddressResolver.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
using LNURL;
|
||||
|
||||
namespace BTCPayServer.Plugins;
|
||||
|
||||
public class LightningAddressResolver(string username)
|
||||
{
|
||||
public string Username { get; set; } = LightningAddressService.NormalizeUsername(username);
|
||||
public LNURLPayRequest LNURLPayRequest { get; set; }
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
using LNURL;
|
||||
|
||||
namespace BTCPayServer.Plugins;
|
||||
|
||||
public class LightningAddressResolver
|
||||
{
|
||||
public string Username { get; set; }
|
||||
public LNURLPayRequest LNURLPayRequest { get; set; }
|
||||
|
||||
public LightningAddressResolver(string username)
|
||||
{
|
||||
Username = username;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user