Getting display names directly from NetworkProvider

This commit is contained in:
rockstardev
2018-07-16 23:25:28 -05:00
parent 464ab30fea
commit c75512303d
13 changed files with 17 additions and 18 deletions

View File

@@ -45,6 +45,7 @@ namespace BTCPayServer
public string BlockExplorerLink { get; internal set; } public string BlockExplorerLink { get; internal set; }
public string UriScheme { get; internal set; } public string UriScheme { get; internal set; }
public Money MinFee { get; internal set; } public Money MinFee { get; internal set; }
public string DisplayName { get; set; }
[Obsolete("Should not be needed")] [Obsolete("Should not be needed")]
public bool IsBTC public bool IsBTC

View File

@@ -17,6 +17,7 @@ namespace BTCPayServer
Add(new BTCPayNetwork() Add(new BTCPayNetwork()
{ {
CryptoCode = nbxplorerNetwork.CryptoCode, CryptoCode = nbxplorerNetwork.CryptoCode,
DisplayName = "Bitcoin",
BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://www.smartbit.com.au/tx/{0}" : "https://testnet.smartbit.com.au/tx/{0}", BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://www.smartbit.com.au/tx/{0}" : "https://testnet.smartbit.com.au/tx/{0}",
NBitcoinNetwork = nbxplorerNetwork.NBitcoinNetwork, NBitcoinNetwork = nbxplorerNetwork.NBitcoinNetwork,
NBXplorerNetwork = nbxplorerNetwork, NBXplorerNetwork = nbxplorerNetwork,

View File

@@ -10,6 +10,7 @@ namespace BTCPayServer
Add(new BTCPayNetwork() Add(new BTCPayNetwork()
{ {
CryptoCode = nbxplorerNetwork.CryptoCode, CryptoCode = nbxplorerNetwork.CryptoCode,
DisplayName = "BGold",
BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://explorer.bitcoingold.org/insight/tx/{0}/" : "https://test-explorer.bitcoingold.org/insight/tx/{0}", BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://explorer.bitcoingold.org/insight/tx/{0}/" : "https://test-explorer.bitcoingold.org/insight/tx/{0}",
NBitcoinNetwork = nbxplorerNetwork.NBitcoinNetwork, NBitcoinNetwork = nbxplorerNetwork.NBitcoinNetwork,
NBXplorerNetwork = nbxplorerNetwork, NBXplorerNetwork = nbxplorerNetwork,

View File

@@ -16,6 +16,7 @@ namespace BTCPayServer
Add(new BTCPayNetwork() Add(new BTCPayNetwork()
{ {
CryptoCode = nbxplorerNetwork.CryptoCode, CryptoCode = nbxplorerNetwork.CryptoCode,
DisplayName = "Dogecoin",
BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://dogechain.info/tx/{0}" : "https://dogechain.info/tx/{0}", BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://dogechain.info/tx/{0}" : "https://dogechain.info/tx/{0}",
NBitcoinNetwork = nbxplorerNetwork.NBitcoinNetwork, NBitcoinNetwork = nbxplorerNetwork.NBitcoinNetwork,
NBXplorerNetwork = nbxplorerNetwork, NBXplorerNetwork = nbxplorerNetwork,

View File

@@ -16,6 +16,7 @@ namespace BTCPayServer
Add(new BTCPayNetwork() Add(new BTCPayNetwork()
{ {
CryptoCode = nbxplorerNetwork.CryptoCode, CryptoCode = nbxplorerNetwork.CryptoCode,
DisplayName = "Feathercoin",
BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://explorer.feathercoin.com/tx/{0}" : "https://explorer.feathercoin.com/tx/{0}", BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://explorer.feathercoin.com/tx/{0}" : "https://explorer.feathercoin.com/tx/{0}",
NBitcoinNetwork = nbxplorerNetwork.NBitcoinNetwork, NBitcoinNetwork = nbxplorerNetwork.NBitcoinNetwork,
NBXplorerNetwork = nbxplorerNetwork, NBXplorerNetwork = nbxplorerNetwork,

View File

@@ -15,6 +15,7 @@ namespace BTCPayServer
Add(new BTCPayNetwork() Add(new BTCPayNetwork()
{ {
CryptoCode = nbxplorerNetwork.CryptoCode, CryptoCode = nbxplorerNetwork.CryptoCode,
DisplayName = "Groestlcoin",
BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://chainz.cryptoid.info/grs/tx.dws?{0}.htm" : "https://chainz.cryptoid.info/grs-test/tx.dws?{0}.htm", BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://chainz.cryptoid.info/grs/tx.dws?{0}.htm" : "https://chainz.cryptoid.info/grs-test/tx.dws?{0}.htm",
NBitcoinNetwork = nbxplorerNetwork.NBitcoinNetwork, NBitcoinNetwork = nbxplorerNetwork.NBitcoinNetwork,
NBXplorerNetwork = nbxplorerNetwork, NBXplorerNetwork = nbxplorerNetwork,

View File

@@ -16,6 +16,7 @@ namespace BTCPayServer
Add(new BTCPayNetwork() Add(new BTCPayNetwork()
{ {
CryptoCode = nbxplorerNetwork.CryptoCode, CryptoCode = nbxplorerNetwork.CryptoCode,
DisplayName = "Litecoin",
BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://live.blockcypher.com/ltc/tx/{0}/" : "http://explorer.litecointools.com/tx/{0}", BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://live.blockcypher.com/ltc/tx/{0}/" : "http://explorer.litecointools.com/tx/{0}",
NBitcoinNetwork = nbxplorerNetwork.NBitcoinNetwork, NBitcoinNetwork = nbxplorerNetwork.NBitcoinNetwork,
NBXplorerNetwork = nbxplorerNetwork, NBXplorerNetwork = nbxplorerNetwork,

View File

@@ -16,6 +16,7 @@ namespace BTCPayServer
Add(new BTCPayNetwork() Add(new BTCPayNetwork()
{ {
CryptoCode = nbxplorerNetwork.CryptoCode, CryptoCode = nbxplorerNetwork.CryptoCode,
DisplayName = "Monacoin",
BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://mona.insight.monaco-ex.org/insight/tx/{0}" : "https://testnet-mona.insight.monaco-ex.org/insight/tx/{0}", BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://mona.insight.monaco-ex.org/insight/tx/{0}" : "https://testnet-mona.insight.monaco-ex.org/insight/tx/{0}",
NBitcoinNetwork = nbxplorerNetwork.NBitcoinNetwork, NBitcoinNetwork = nbxplorerNetwork.NBitcoinNetwork,
NBXplorerNetwork = nbxplorerNetwork, NBXplorerNetwork = nbxplorerNetwork,

View File

@@ -16,6 +16,7 @@ namespace BTCPayServer
Add(new BTCPayNetwork() Add(new BTCPayNetwork()
{ {
CryptoCode = nbxplorerNetwork.CryptoCode, CryptoCode = nbxplorerNetwork.CryptoCode,
DisplayName = "Polis",
BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://insight.polispay.org/tx/{0}" : "https://insight.polispay.org/tx/{0}", BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://insight.polispay.org/tx/{0}" : "https://insight.polispay.org/tx/{0}",
NBitcoinNetwork = nbxplorerNetwork.NBitcoinNetwork, NBitcoinNetwork = nbxplorerNetwork.NBitcoinNetwork,
NBXplorerNetwork = nbxplorerNetwork, NBXplorerNetwork = nbxplorerNetwork,

View File

@@ -16,6 +16,7 @@ namespace BTCPayServer
Add(new BTCPayNetwork() Add(new BTCPayNetwork()
{ {
CryptoCode = nbxplorerNetwork.CryptoCode, CryptoCode = nbxplorerNetwork.CryptoCode,
DisplayName = "Ufo",
BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://chainz.cryptoid.info/ufo/tx.dws?{0}" : "https://chainz.cryptoid.info/ufo/tx.dws?{0}", BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://chainz.cryptoid.info/ufo/tx.dws?{0}" : "https://chainz.cryptoid.info/ufo/tx.dws?{0}",
NBitcoinNetwork = nbxplorerNetwork.NBitcoinNetwork, NBitcoinNetwork = nbxplorerNetwork.NBitcoinNetwork,
NBXplorerNetwork = nbxplorerNetwork, NBXplorerNetwork = nbxplorerNetwork,

View File

@@ -16,6 +16,7 @@ namespace BTCPayServer
Add(new BTCPayNetwork() Add(new BTCPayNetwork()
{ {
CryptoCode = nbxplorerNetwork.CryptoCode, CryptoCode = nbxplorerNetwork.CryptoCode,
DisplayName = "Viacoin",
BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://explorer.viacoin.org/tx/{0}" : "https://explorer.viacoin.org/tx/{0}", BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://explorer.viacoin.org/tx/{0}" : "https://explorer.viacoin.org/tx/{0}",
NBitcoinNetwork = nbxplorerNetwork.NBitcoinNetwork, NBitcoinNetwork = nbxplorerNetwork.NBitcoinNetwork,
NBXplorerNetwork = nbxplorerNetwork, NBXplorerNetwork = nbxplorerNetwork,

View File

@@ -248,7 +248,7 @@ namespace BTCPayServer.Controllers
{ {
CryptoCode = network.CryptoCode, CryptoCode = network.CryptoCode,
PaymentMethodId = paymentMethodId.ToString(), PaymentMethodId = paymentMethodId.ToString(),
PaymentMethodName = GetPaymentMethodName(paymentMethodId.ToString()), PaymentMethodName = network.DisplayName,
CryptoImage = "/" + GetImage(paymentMethodId, network), CryptoImage = "/" + GetImage(paymentMethodId, network),
IsLightning = paymentMethodId.PaymentType == PaymentTypes.LightningLike, IsLightning = paymentMethodId.PaymentType == PaymentTypes.LightningLike,
ServerUrl = HttpContext.Request.GetAbsoluteRoot(), ServerUrl = HttpContext.Request.GetAbsoluteRoot(),
@@ -289,11 +289,12 @@ namespace BTCPayServer.Controllers
.Select(kv => new PaymentModel.AvailableCrypto() .Select(kv => new PaymentModel.AvailableCrypto()
{ {
PaymentMethodId = kv.GetId().ToString(), PaymentMethodId = kv.GetId().ToString(),
PaymentMethodName = GetPaymentMethodName(kv.GetId().ToString()), PaymentMethodName = kv.Network.DisplayName,
LightningLike = kv.GetId().PaymentType == PaymentTypes.LightningLike,
CryptoImage = "/" + GetImage(kv.GetId(), kv.Network), CryptoImage = "/" + GetImage(kv.GetId(), kv.Network),
Link = Url.Action(nameof(Checkout), new { invoiceId = invoiceId, paymentMethodId = kv.GetId().ToString() }) Link = Url.Action(nameof(Checkout), new { invoiceId = invoiceId, paymentMethodId = kv.GetId().ToString() })
}).Where(c => c.CryptoImage != "/") }).Where(c => c.CryptoImage != "/")
.OrderBy(a => a.PaymentMethodName) .OrderBy(a => a.PaymentMethodName).ThenBy(a => a.LightningLike ? 1 : 0)
.ToList() .ToList()
}; };
@@ -302,19 +303,6 @@ namespace BTCPayServer.Controllers
return model; return model;
} }
private static readonly Dictionary<string, string> CURRENCY_NAMES = new Dictionary<string, string>
{
{"BTC", "Bitcoin (BTC)" },
{"BTC_LightningLike", "Bitcoin (BTC) Lightning" },
{"LTC", "Litecoin (LTC)" },
{"LTC_LightningLike", "Litecoin (LTC) Lightning" },
{"DOGE", "Dogecoin (DOGE)" },
};
private string GetPaymentMethodName(string key)
{
return CURRENCY_NAMES[key];
}
private string GetImage(PaymentMethodId paymentMethodId, BTCPayNetwork network) private string GetImage(PaymentMethodId paymentMethodId, BTCPayNetwork network)
{ {
return (paymentMethodId.PaymentType == PaymentTypes.BTCLike ? Url.Content(network.CryptoImagePath) : Url.Content(network.LightningImagePath)); return (paymentMethodId.PaymentType == PaymentTypes.BTCLike ? Url.Content(network.CryptoImagePath) : Url.Content(network.LightningImagePath));

View File

@@ -13,6 +13,7 @@ namespace BTCPayServer.Models.InvoicingModels
public string CryptoImage { get; set; } public string CryptoImage { get; set; }
public string Link { get; set; } public string Link { get; set; }
public string PaymentMethodName { get; set; } public string PaymentMethodName { get; set; }
public bool LightningLike { get; set; }
} }
public string HtmlTitle { get; set; } public string HtmlTitle { get; set; }
public string CustomCSSLink { get; set; } public string CustomCSSLink { get; set; }
@@ -31,8 +32,7 @@ namespace BTCPayServer.Models.InvoicingModels
public string Status { get; set; } public string Status { get; set; }
public string MerchantRefLink { get; set; } public string MerchantRefLink { get; set; }
public int MaxTimeSeconds { get; set; } public int MaxTimeSeconds { get; set; }
// These properties are not used in client side code
public string StoreName { get; set; } public string StoreName { get; set; }
public string ItemDesc { get; set; } public string ItemDesc { get; set; }
public string TimeLeft { get; set; } public string TimeLeft { get; set; }