mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-02-21 22:11:48 +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:
parent
c94dc87cb8
commit
8ae9e59d9d
4 changed files with 16 additions and 22 deletions
|
@ -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;
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue