From 3f98a50410b1877328eff2fff30b708d2318bee0 Mon Sep 17 00:00:00 2001 From: Oliver Ziegler Date: Fri, 25 Jan 2019 01:03:04 +0100 Subject: [PATCH] Support Bitcoinplus --- .../BTCPayNetworkProvider.Bitcoinplus.cs | 35 ++++++++++++++++++ BTCPayServer/BTCPayNetworkProvider.cs | 6 ++- BTCPayServer/wwwroot/imlegacy/bitcoinplus.png | Bin 0 -> 10008 bytes README.md | 1 + 4 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 BTCPayServer/BTCPayNetworkProvider.Bitcoinplus.cs create mode 100644 BTCPayServer/wwwroot/imlegacy/bitcoinplus.png diff --git a/BTCPayServer/BTCPayNetworkProvider.Bitcoinplus.cs b/BTCPayServer/BTCPayNetworkProvider.Bitcoinplus.cs new file mode 100644 index 000000000..d7b472993 --- /dev/null +++ b/BTCPayServer/BTCPayNetworkProvider.Bitcoinplus.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using BTCPayServer.Services.Rates; +using NBitcoin; +using NBXplorer; + +namespace BTCPayServer +{ + public partial class BTCPayNetworkProvider + { + public void InitBitcoinplus() + { + var nbxplorerNetwork = NBXplorerNetworkProvider.GetFromCryptoCode("XBC"); + Add(new BTCPayNetwork() + { + CryptoCode = nbxplorerNetwork.CryptoCode, + DisplayName = "Bitcoinplus", + BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://chainz.cryptoid.info/xbc/tx.dws?{0}" : "https://chainz.cryptoid.info/xbc/tx.dws?{0}", + NBitcoinNetwork = nbxplorerNetwork.NBitcoinNetwork, + NBXplorerNetwork = nbxplorerNetwork, + UriScheme = "bitcoinplus", + DefaultRateRules = new[] + { + "XBC_X = XBC_BTC * BTC_X", + "XBC_BTC = cryptopia(XBC_BTC)" + }, + CryptoImagePath = "imlegacy/bitcoinplus.png", + DefaultSettings = BTCPayDefaultSettings.GetDefaultSettings(NetworkType), + CoinType = NetworkType == NetworkType.Mainnet ? new KeyPath("65'") : new KeyPath("1'") + }); + } + } +} diff --git a/BTCPayServer/BTCPayNetworkProvider.cs b/BTCPayServer/BTCPayNetworkProvider.cs index 2eb67d333..be0c4970d 100644 --- a/BTCPayServer/BTCPayNetworkProvider.cs +++ b/BTCPayServer/BTCPayNetworkProvider.cs @@ -52,11 +52,13 @@ namespace BTCPayServer InitBitcoinGold(); InitMonacoin(); InitDash(); - // Disabled because of https://twitter.com/Cryptopia_NZ/status/1085084168852291586 - //InitPolis(); InitFeathercoin(); InitGroestlcoin(); InitViacoin(); + + // Disabled because of https://twitter.com/Cryptopia_NZ/status/1085084168852291586 + //InitPolis(); + //InitBitcoinplus(); //InitUfo(); } diff --git a/BTCPayServer/wwwroot/imlegacy/bitcoinplus.png b/BTCPayServer/wwwroot/imlegacy/bitcoinplus.png new file mode 100644 index 0000000000000000000000000000000000000000..98ba4456042eba248621dc1673c080c238c061ff GIT binary patch literal 10008 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 ALI3~& literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 12944ebbc..4de36b807 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,7 @@ In addition to Bitcoin, BTCPay supports the following cryptocurrencies: * Polis * UFO * Viacoin +* Bitcoinplus ## Documentation