public void InitGroestlcoin()
        {
            var nbxplorerNetwork = NBXplorerNetworkProvider.GetFrombitcoinCode("GRS");

            Add(new BTCPayNetwork()
            {
                bitcoinCode       = nbxplorerNetwork.bitcoinCode,
                DisplayName       = "Groestlcoin",
                BlockExplorerLink = NetworkType == NetworkType.Mainnet
                    ? "https://chainz.bitcoinid.info/grs/tx.dws?{0}.htm"
                    : "https://chainz.bitcoinid.info/grs-test/tx.dws?{0}.htm",
                NBXplorerNetwork = nbxplorerNetwork,
                UriScheme        = "groestlcoin",
                DefaultRateRules = new[]
                {
                    "GRS_X = GRS_BTC * BTC_X",
                    "GRS_BTC = bittrex(GRS_BTC)"
                },
                bitcoinImagePath   = "imlegacy/groestlcoin.png",
                LightningImagePath = "imlegacy/groestlcoin-lightning.svg",
                DefaultSettings    = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType           = NetworkType == NetworkType.Mainnet ? new KeyPath("17'") : new KeyPath("1'"),
                SupportRBF         = true,
                SupportPayJoin     = true
            });
        }
        public void InitDash()
        {
            //not needed: NBitcoin.Altcoins.Dash.Instance.EnsureRegistered();
            var nbxplorerNetwork = NBXplorerNetworkProvider.GetFrombitcoinCode("DASH");

            Add(new BTCPayNetwork()
            {
                bitcoinCode       = nbxplorerNetwork.bitcoinCode,
                DisplayName       = "Dash",
                BlockExplorerLink = NetworkType == NetworkType.Mainnet
                    ? "https://insight.dash.org/insight/tx/{0}"
                    : "https://testnet-insight.dashevo.org/insight/tx/{0}",
                NBXplorerNetwork = nbxplorerNetwork,
                UriScheme        = "dash",
                DefaultRateRules = new[]
                {
                    "DASH_X = DASH_BTC * BTC_X",
                    "DASH_BTC = bittrex(DASH_BTC)"
                },
                bitcoinImagePath = "imlegacy/dash.png",
                DefaultSettings  = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                //https://github.com/satoshilabs/slips/blob/master/slip-0044.md
                CoinType = NetworkType == NetworkType.Mainnet ? new KeyPath("5'")
                    : new KeyPath("1'")
            });
        }
        public void InitBitcoin()
        {
            var nbxplorerNetwork = NBXplorerNetworkProvider.GetFrombitcoinCode("BTC");

            Add(new BTCPayNetwork()
            {
                bitcoinCode        = nbxplorerNetwork.bitcoinCode,
                DisplayName        = "Bitcoin",
                BlockExplorerLink  = NetworkType == NetworkType.Mainnet ? "https://blockstream.info/tx/{0}" : "https://blockstream.info/testnet/tx/{0}",
                NBXplorerNetwork   = nbxplorerNetwork,
                UriScheme          = "bitcoin",
                bitcoinImagePath   = "imlegacy/bitcoin.svg",
                LightningImagePath = "imlegacy/bitcoin-lightning.svg",
                DefaultSettings    = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType           = NetworkType == NetworkType.Mainnet ? new KeyPath("0'") : new KeyPath("1'"),
                SupportRBF         = true,
                SupportPayJoin     = true,
                //https://github.com/spesmilo/electrum/blob/11733d6bc271646a00b69ff07657119598874da4/electrum/constants.py
                ElectrumMapping = NetworkType == NetworkType.Mainnet
                    ? new Dictionary <uint, DerivationType>()
                {
                    { 0x0488b21eU, DerivationType.Legacy },     // xpub
                    { 0x049d7cb2U, DerivationType.SegwitP2SH }, // ypub
                    { 0x4b24746U, DerivationType.Segwit },      //zpub
                }
                    : new Dictionary <uint, DerivationType>()
                {
                    { 0x043587cfU, DerivationType.Legacy },
                    { 0x044a5262U, DerivationType.SegwitP2SH },
                    { 0x045f1cf6U, DerivationType.Segwit }
                }
            });
        }
        public void InitBitcoinplus()
        {
            var nbxplorerNetwork = NBXplorerNetworkProvider.GetFrombitcoinCode("XBC");

            Add(new BTCPayNetwork()
            {
                bitcoinCode       = nbxplorerNetwork.bitcoinCode,
                DisplayName       = "Bitcoinplus",
                BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://chainz.bitcoinid.info/xbc/tx.dws?{0}" : "https://chainz.bitcoinid.info/xbc/tx.dws?{0}",
                NBXplorerNetwork  = nbxplorerNetwork,
                UriScheme         = "bitcoinplus",
                DefaultRateRules  = new[]
                {
                    "XBC_X = XBC_BTC * BTC_X",
                    "XBC_BTC = bitcoinpia(XBC_BTC)"
                },
                bitcoinImagePath = "imlegacy/bitcoinplus.png",
                DefaultSettings  = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType         = NetworkType == NetworkType.Mainnet ? new KeyPath("65'") : new KeyPath("1'")
            });
        }
Example #5
0
        public void InitPolis()
        {
            var nbxplorerNetwork = NBXplorerNetworkProvider.GetFrombitcoinCode("POLIS");

            Add(new BTCPayNetwork()
            {
                bitcoinCode       = nbxplorerNetwork.bitcoinCode,
                DisplayName       = "Polis",
                BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://blockbook.polispay.org/tx/{0}" : "https://blockbook.polispay.org/tx/{0}",
                NBXplorerNetwork  = nbxplorerNetwork,
                UriScheme         = "polis",
                DefaultRateRules  = new[]
                {
                    "POLIS_X = POLIS_BTC * BTC_X",
                    "POLIS_BTC = polispay(POLIS_BTC)"
                },
                bitcoinImagePath = "imlegacy/polis.png",
                DefaultSettings  = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType         = NetworkType == NetworkType.Mainnet ? new KeyPath("1997'") : new KeyPath("1'")
            });
        }
        public void InitDogecoin()
        {
            var nbxplorerNetwork = NBXplorerNetworkProvider.GetFrombitcoinCode("DOGE");

            Add(new BTCPayNetwork()
            {
                bitcoinCode       = nbxplorerNetwork.bitcoinCode,
                DisplayName       = "Dogecoin",
                BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://dogechain.info/tx/{0}" : "https://dogechain.info/tx/{0}",
                NBXplorerNetwork  = nbxplorerNetwork,
                UriScheme         = "dogecoin",
                DefaultRateRules  = new[]
                {
                    "DOGE_X = DOGE_BTC * BTC_X",
                    "DOGE_BTC = bittrex(DOGE_BTC)"
                },
                bitcoinImagePath = "imlegacy/dogecoin.png",
                DefaultSettings  = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType         = NetworkType == NetworkType.Mainnet ? new KeyPath("3'") : new KeyPath("1'")
            });
        }
        public void InitFeathercoin()
        {
            var nbxplorerNetwork = NBXplorerNetworkProvider.GetFrombitcoinCode("FTC");

            Add(new BTCPayNetwork()
            {
                bitcoinCode       = nbxplorerNetwork.bitcoinCode,
                DisplayName       = "Feathercoin",
                BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://explorer.feathercoin.com/tx/{0}" : "https://explorer.feathercoin.com/tx/{0}",
                NBXplorerNetwork  = nbxplorerNetwork,
                UriScheme         = "feathercoin",
                DefaultRateRules  = new[]
                {
                    "FTC_X = FTC_BTC * BTC_X",
                    "FTC_BTC = bittrex(FTC_BTC)"
                },
                bitcoinImagePath = "imlegacy/feathercoin.png",
                DefaultSettings  = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType         = NetworkType == NetworkType.Mainnet ? new KeyPath("8'") : new KeyPath("1'")
            });
        }
Example #8
0
        public void InitUfo()
        {
            var nbxplorerNetwork = NBXplorerNetworkProvider.GetFrombitcoinCode("UFO");

            Add(new BTCPayNetwork()
            {
                bitcoinCode       = nbxplorerNetwork.bitcoinCode,
                DisplayName       = "Ufo",
                BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://chainz.bitcoinid.info/ufo/tx.dws?{0}" : "https://chainz.bitcoinid.info/ufo/tx.dws?{0}",
                NBXplorerNetwork  = nbxplorerNetwork,
                UriScheme         = "ufo",
                DefaultRateRules  = new[]
                {
                    "UFO_X = UFO_BTC * BTC_X",
                    "UFO_BTC = coinexchange(UFO_BTC)"
                },
                bitcoinImagePath = "imlegacy/ufo.png",
                DefaultSettings  = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType         = NetworkType == NetworkType.Mainnet ? new KeyPath("202'") : new KeyPath("1'")
            });
        }
        public void InitBitcoinGold()
        {
            var nbxplorerNetwork = NBXplorerNetworkProvider.GetFrombitcoinCode("BTG");

            Add(new BTCPayNetwork()
            {
                bitcoinCode       = nbxplorerNetwork.bitcoinCode,
                DisplayName       = "BGold",
                BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://explorer.bitcoingold.org/insight/tx/{0}/" : "https://test-explorer.bitcoingold.org/insight/tx/{0}",
                NBXplorerNetwork  = nbxplorerNetwork,
                UriScheme         = "bitcoingold",
                DefaultRateRules  = new[]
                {
                    "BTG_X = BTG_BTC * BTC_X",
                    "BTG_BTC = bitfinex(BTG_BTC)",
                },
                bitcoinImagePath   = "imlegacy/btg.svg",
                LightningImagePath = "imlegacy/btg-lightning.svg",
                DefaultSettings    = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType           = NetworkType == NetworkType.Mainnet ? new KeyPath("156'") : new KeyPath("1'")
            });
        }
Example #10
0
        public void InitMonacoin()
        {
            var nbxplorerNetwork = NBXplorerNetworkProvider.GetFrombitcoinCode("MONA");

            Add(new BTCPayNetwork()
            {
                bitcoinCode       = nbxplorerNetwork.bitcoinCode,
                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}",
                NBXplorerNetwork  = nbxplorerNetwork,
                UriScheme         = "monacoin",
                DefaultRateRules  = new[]
                {
                    "MONA_X = MONA_BTC * BTC_X",
                    "MONA_BTC = bittrex(MONA_BTC)"
                },
                bitcoinImagePath   = "imlegacy/monacoin.png",
                LightningImagePath = "imlegacy/mona-lightning.svg",
                DefaultSettings    = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType           = NetworkType == NetworkType.Mainnet ? new KeyPath("22'") : new KeyPath("1'")
            });
        }
        public void InitBitcore()
        {
            var nbxplorerNetwork = NBXplorerNetworkProvider.GetFrombitcoinCode("BTX");

            Add(new BTCPayNetwork()
            {
                bitcoinCode       = nbxplorerNetwork.bitcoinCode,
                DisplayName       = "Bitcore",
                BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://insight.bitcore.cc/tx/{0}" : "https://insight.bitcore.cc/tx/{0}",
                NBXplorerNetwork  = nbxplorerNetwork,
                UriScheme         = "bitcore",
                DefaultRateRules  = new[]
                {
                    "BTX_X = BTX_BTC * BTC_X",
                    "BTX_BTC = hitbtc(BTX_BTC)"
                },
                bitcoinImagePath   = "imlegacy/bitcore.svg",
                LightningImagePath = "imlegacy/bitcore-lightning.svg",
                DefaultSettings    = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType           = NetworkType == NetworkType.Mainnet ? new KeyPath("160'") : new KeyPath("1'")
            });
        }
Example #12
0
        public void InitLitecoin()
        {
            var nbxplorerNetwork = NBXplorerNetworkProvider.GetFrombitcoinCode("LTC");

            Add(new BTCPayNetwork()
            {
                bitcoinCode       = nbxplorerNetwork.bitcoinCode,
                DisplayName       = "Litecoin",
                BlockExplorerLink = NetworkType == NetworkType.Mainnet
                    ? "https://live.blockcypher.com/ltc/tx/{0}/"
                    : "http://explorer.litecointools.com/tx/{0}",
                NBXplorerNetwork = nbxplorerNetwork,
                UriScheme        = "litecoin",
                DefaultRateRules = new[]
                {
                    "LTC_X = LTC_BTC * BTC_X",
                    "LTC_BTC = coingecko(LTC_BTC)"
                },
                bitcoinImagePath   = "imlegacy/litecoin.svg",
                LightningImagePath = "imlegacy/litecoin-lightning.svg",
                DefaultSettings    = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType           = NetworkType == NetworkType.Mainnet ? new KeyPath("2'") : new KeyPath("1'"),
                //https://github.com/pooler/electrum-ltc/blob/0d6989a9d2fb2edbea421c116e49d1015c7c5a91/electrum_ltc/constants.py
                ElectrumMapping = NetworkType == NetworkType.Mainnet
                    ? new Dictionary <uint, DerivationType>()
                {
                    { 0x0488b21eU, DerivationType.Legacy },
                    { 0x049d7cb2U, DerivationType.SegwitP2SH },
                    { 0x04b24746U, DerivationType.Segwit },
                }
                    : new Dictionary <uint, DerivationType>()
                {
                    { 0x043587cfU, DerivationType.Legacy },
                    { 0x044a5262U, DerivationType.SegwitP2SH },
                    { 0x045f1cf6U, DerivationType.Segwit }
                }
            });
        }
Example #13
0
        public void InitLiquid()
        {
            var nbxplorerNetwork = NBXplorerNetworkProvider.GetFrombitcoinCode("LBTC");

            Add(new ElementsBTCPayNetwork()
            {
                AssetId            = NetworkType == NetworkType.Mainnet ? ElementsParams <Liquid> .PeggedAssetId: ElementsParams <Liquid.LiquidRegtest> .PeggedAssetId,
                bitcoinCode        = "LBTC",
                NetworkbitcoinCode = "LBTC",
                DisplayName        = "Liquid Bitcoin",
                DefaultRateRules   = new[]
                {
                    "LBTC_X = LBTC_BTC * BTC_X",
                    "LBTC_BTC = 1",
                },
                BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://blockstream.info/liquid/tx/{0}" : "https://blockstream.info/testnet/liquid/tx/{0}",
                NBXplorerNetwork  = nbxplorerNetwork,
                UriScheme         = "liquidnetwork",
                bitcoinImagePath  = "imlegacy/liquid.png",
                DefaultSettings   = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType          = NetworkType == NetworkType.Mainnet ? new KeyPath("1776'") : new KeyPath("1'"),
                SupportRBF        = true
            });
        }
Example #14
0
        public void InitLiquidAssets()
        {
            var nbxplorerNetwork = NBXplorerNetworkProvider.GetFrombitcoinCode("LBTC");

            Add(new ElementsBTCPayNetwork()
            {
                bitcoinCode        = "USDt",
                NetworkbitcoinCode = "LBTC",
                ShowSyncSummary    = false,
                DefaultRateRules   = new[]
                {
                    "USDT_UST = 1",
                    "USDT_X = USDT_BTC * BTC_X",
                    "USDT_BTC = bitfinex(UST_BTC)",
                },
                AssetId           = new uint256("ce091c998b83c78bb71a632313ba3760f1763d9cfcffae02258ffa9865a37bd2"),
                DisplayName       = "Liquid Tether",
                BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://blockstream.info/liquid/tx/{0}" : "https://blockstream.info/testnet/liquid/tx/{0}",
                NBXplorerNetwork  = nbxplorerNetwork,
                UriScheme         = "liquidnetwork",
                bitcoinImagePath  = "imlegacy/liquid-tether.svg",
                DefaultSettings   = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType          = NetworkType == NetworkType.Mainnet ? new KeyPath("1776'") : new KeyPath("1'"),
                SupportRBF        = true,
                SupportLightning  = false
            });

            Add(new ElementsBTCPayNetwork()
            {
                bitcoinCode        = "ETB",
                NetworkbitcoinCode = "LBTC",
                ShowSyncSummary    = false,
                DefaultRateRules   = new[]
                {
                    "ETB_X = ETB_BTC * BTC_X",
                    "ETB_BTC = bitpay(ETB_BTC)"
                },
                Divisibility      = 2,
                AssetId           = new uint256("aa775044c32a7df391902b3659f46dfe004ccb2644ce2ddc7dba31e889391caf"),
                DisplayName       = "Ethiopian Birr",
                BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://blockstream.info/liquid/tx/{0}" : "https://blockstream.info/testnet/liquid/tx/{0}",
                NBXplorerNetwork  = nbxplorerNetwork,
                UriScheme         = "liquidnetwork",
                bitcoinImagePath  = "imlegacy/etb.png",
                DefaultSettings   = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType          = NetworkType == NetworkType.Mainnet ? new KeyPath("1776'") : new KeyPath("1'"),
                SupportRBF        = true,
                SupportLightning  = false
            });

            Add(new ElementsBTCPayNetwork()
            {
                bitcoinCode        = "LCAD",
                NetworkbitcoinCode = "LBTC",
                ShowSyncSummary    = false,
                DefaultRateRules   = new[]
                {
                    "LCAD_CAD = 1",
                    "LCAD_X = CAD_BTC * BTC_X",
                    "LCAD_BTC = bylls(CAD_BTC)",
                },
                AssetId           = new uint256("0e99c1a6da379d1f4151fb9df90449d40d0608f6cb33a5bcbfc8c265f42bab0a"),
                DisplayName       = "Liquid CAD",
                BlockExplorerLink = NetworkType == NetworkType.Mainnet ? "https://blockstream.info/liquid/tx/{0}" : "https://blockstream.info/testnet/liquid/tx/{0}",
                NBXplorerNetwork  = nbxplorerNetwork,
                UriScheme         = "liquidnetwork",
                bitcoinImagePath  = "imlegacy/lcad.png",
                DefaultSettings   = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType          = NetworkType == NetworkType.Mainnet ? new KeyPath("1776'") : new KeyPath("1'"),
                SupportRBF        = true,
                SupportLightning  = false
            });
        }