mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-02-23 14:40:36 +01:00
Merge pull request #2100 from btcpayserver/fix/uppercase-qrcode
Reverting uppercasing of Bech32 addresses in QR code
This commit is contained in:
commit
3b035158a2
2 changed files with 15 additions and 9 deletions
|
@ -2094,7 +2094,11 @@ namespace BTCPayServer.Tests
|
||||||
Assert.Contains("&lightning=", paymentMethodSecond.InvoiceBitcoinUrlQR);
|
Assert.Contains("&lightning=", paymentMethodSecond.InvoiceBitcoinUrlQR);
|
||||||
Assert.StartsWith("BITCOIN:", paymentMethodSecond.InvoiceBitcoinUrlQR);
|
Assert.StartsWith("BITCOIN:", paymentMethodSecond.InvoiceBitcoinUrlQR);
|
||||||
var split = paymentMethodSecond.InvoiceBitcoinUrlQR.Split('?')[0];
|
var split = paymentMethodSecond.InvoiceBitcoinUrlQR.Split('?')[0];
|
||||||
Assert.True($"BITCOIN:{paymentMethodSecond.BtcAddress.ToUpperInvariant()}" == split);
|
|
||||||
|
// Standard for uppercase Bech32 addresses in QR codes is still not implemented in all wallets
|
||||||
|
// When it is widely propagated consider uncommenting these lines
|
||||||
|
//Assert.True($"BITCOIN:{paymentMethodSecond.BtcAddress.ToUpperInvariant()}" == split);
|
||||||
|
Assert.True($"BITCOIN:{paymentMethodSecond.BtcAddress}" == split);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -71,15 +71,17 @@ namespace BTCPayServer.Payments.Bitcoin
|
||||||
.Replace("bitcoin:", "BITCOIN:", StringComparison.OrdinalIgnoreCase)
|
.Replace("bitcoin:", "BITCOIN:", StringComparison.OrdinalIgnoreCase)
|
||||||
+ lightningFallback.ToUpperInvariant().Replace("LIGHTNING=", "lightning=", StringComparison.OrdinalIgnoreCase);
|
+ lightningFallback.ToUpperInvariant().Replace("LIGHTNING=", "lightning=", StringComparison.OrdinalIgnoreCase);
|
||||||
|
|
||||||
if (bech32Prefixes.Any(a => model.BtcAddress.StartsWith(a, StringComparison.OrdinalIgnoreCase)))
|
// Standard for uppercase Bech32 addresses in QR codes is still not implemented in all wallets
|
||||||
{
|
// When it is widely propagated consider uncommenting these lines
|
||||||
model.InvoiceBitcoinUrlQR = model.InvoiceBitcoinUrlQR.Replace(
|
//if (bech32Prefixes.Any(a => model.BtcAddress.StartsWith(a, StringComparison.OrdinalIgnoreCase)))
|
||||||
$"BITCOIN:{model.BtcAddress}", $"BITCOIN:{model.BtcAddress.ToUpperInvariant()}",
|
//{
|
||||||
StringComparison.OrdinalIgnoreCase
|
// model.InvoiceBitcoinUrlQR = model.InvoiceBitcoinUrlQR.Replace(
|
||||||
);
|
// $"BITCOIN:{model.BtcAddress}", $"BITCOIN:{model.BtcAddress.ToUpperInvariant()}",
|
||||||
}
|
// StringComparison.OrdinalIgnoreCase
|
||||||
|
// );
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
private static string[] bech32Prefixes = new[] { "bc1", "tb1", "bcrt1" };
|
//private static string[] bech32Prefixes = new[] { "bc1", "tb1", "bcrt1" };
|
||||||
|
|
||||||
public override string GetCryptoImage(PaymentMethodId paymentMethodId)
|
public override string GetCryptoImage(PaymentMethodId paymentMethodId)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue