コード例 #1
0
        public void InitBitcoinGold()
        {
            var nbxplorerNetwork = NBXplorerNetworkProvider.GetFromCryptoCode("BTG");

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

            Add(new BTCPayNetwork()
            {
                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}",
                NBitcoinNetwork   = nbxplorerNetwork.NBitcoinNetwork,
                NBXplorerNetwork  = nbxplorerNetwork,
                UriScheme         = "monacoin",
                DefaultRateRules  = new[]
                {
                    "MONA_X = MONA_BTC * BTC_X",
                    "MONA_BTC = zaif(MONA_BTC)"
                },
                CryptoImagePath    = "imlegacy/monacoin.png",
                LightningImagePath = "imlegacy/mona-lightning.svg",
                DefaultSettings    = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType           = NetworkType == NetworkType.Mainnet ? new KeyPath("22'") : new KeyPath("1'")
            });
        }
コード例 #3
0
        public void InitBitcore()
        {
            var nbxplorerNetwork = NBXplorerNetworkProvider.GetFromCryptoCode("BTX");

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

            Add(new BTCPayNetwork()
            {
                CryptoCode        = nbxplorerNetwork.CryptoCode,
                DisplayName       = "Litecoin",
                BlockExplorerLink = NetworkType == ChainName.Mainnet
                    ? "https://live.blockcypher.com/ltc/tx/{0}/"
                    : "http://explorer.litecointools.com/tx/{0}",
                NBXplorerNetwork = nbxplorerNetwork,
                DefaultRateRules = new[]
                {
                    "LTC_X = LTC_BTC * BTC_X",
                    "LTC_BTC = coingecko(LTC_BTC)"
                },
                CryptoImagePath    = "imlegacy/litecoin.svg",
                LightningImagePath = "imlegacy/litecoin-lightning.svg",
                DefaultSettings    = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType           = NetworkType == ChainName.Mainnet ? new KeyPath("2'") : new KeyPath("1'"),
                //https://github.com/pooler/electrum-ltc/blob/0d6989a9d2fb2edbea421c116e49d1015c7c5a91/electrum_ltc/constants.py
                ElectrumMapping = NetworkType == ChainName.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 }
                }
            });
        }
コード例 #5
0
        public void InitBitcoin()
        {
            var nbxplorerNetwork = NBXplorerNetworkProvider.GetFromCryptoCode("BTC");
            var coinaverage      = new CoinAverageRateProvider("BTC");
            var bitpay           = new BitpayRateProvider(new Bitpay(new Key(), new Uri("https://bitpay.com/")));
            var btcRate          = new FallbackRateProvider(new IRateProvider[] { coinaverage, bitpay });

            Add(new BTCPayNetwork()
            {
                CryptoCode            = nbxplorerNetwork.CryptoCode,
                BlockExplorerLink     = NBXplorerNetworkProvider.ChainType == ChainType.Main ? "https://www.smartbit.com.au/tx/{0}" : "https://testnet.smartbit.com.au/tx/{0}",
                NBitcoinNetwork       = nbxplorerNetwork.NBitcoinNetwork,
                NBXplorerNetwork      = nbxplorerNetwork,
                UriScheme             = "bitcoin",
                DefaultRateProvider   = btcRate,
                CryptoImagePath       = "imlegacy/bitcoin-symbol.svg",
                LightningImagePath    = "imlegacy/bitcoin-symbol.svg",
                DefaultSettings       = BTCPayDefaultSettings.GetDefaultSettings(NBXplorerNetworkProvider.ChainType),
                CoinType              = NBXplorerNetworkProvider.ChainType == ChainType.Main ? new KeyPath("0'") : new KeyPath("1'"),
                CLightningNetworkName = ChainType == ChainType.Main ? "bitcoin" :
                                        ChainType == ChainType.Test ? "testnet" :
                                        ChainType == ChainType.Regtest ? "regtest" : null
            });
        }
コード例 #6
0
        public void InitLiquid()
        {
            var nbxplorerNetwork = NBXplorerNetworkProvider.GetFromCryptoCode("LBTC");

            Add(new ElementsBTCPayNetwork()
            {
                AssetId           = NetworkType == NetworkType.Mainnet ? ElementsParams <Liquid> .PeggedAssetId : ElementsParams <Liquid.LiquidRegtest> .PeggedAssetId,
                CryptoCode        = "LBTC",
                NetworkCryptoCode = "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",
                CryptoImagePath   = "imlegacy/liquid.png",
                DefaultSettings   = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType          = NetworkType == NetworkType.Mainnet ? new KeyPath("1776'") : new KeyPath("1'"),
                SupportRBF        = true
            });
        }
コード例 #7
0
        public void InitGroestlcoin()
        {
            var nbxplorerNetwork = NBXplorerNetworkProvider.GetFromCryptoCode("GRS");

            Add(new BTCPayNetwork()
            {
                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",
                NBXplorerNetwork = nbxplorerNetwork,
                UriScheme        = "groestlcoin",
                DefaultRateRules = new[]
                {
                    "GRS_X = GRS_BTC * BTC_X",
                    "GRS_BTC = bittrex(GRS_BTC)"
                },
                CryptoImagePath    = "imlegacy/groestlcoin.png",
                LightningImagePath = "imlegacy/groestlcoin-lightning.svg",
                DefaultSettings    = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType           = NetworkType == NetworkType.Mainnet ? new KeyPath("17'") : new KeyPath("1'")
            });
        }
コード例 #8
0
        public void InitArgoneum()
        {
            var nbxplorerNetwork = NBXplorerNetworkProvider.GetFromCryptoCode("AGM");

            Add(new BTCPayNetwork()
            {
                CryptoCode        = nbxplorerNetwork.CryptoCode,
                DisplayName       = "Argoneum",
                BlockExplorerLink = NetworkType == ChainName.Mainnet
                    ? "https://chainz.cryptoid.info/agm/tx.dws?{0}"
                    : "https://chainz.cryptoid.info/agm-test/tx.dws?{0}",
                NBXplorerNetwork = nbxplorerNetwork,
                UriScheme        = "argoneum",
                DefaultRateRules = new[]
                {
                    "AGM_X = AGM_BTC * BTC_X",
                    "AGM_BTC = argoneum(AGM_BTC)"
                },
                CryptoImagePath = "imlegacy/argoneum.png",
                DefaultSettings = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType        = NetworkType == ChainName.Mainnet ? new KeyPath("421'")
                    : new KeyPath("1'")
            });
        }
コード例 #9
0
        public void InitBitcoin()
        {
            var nbxplorerNetwork = NBXplorerNetworkProvider.GetFromCryptoCode("BTC");

            Add(new BTCPayNetwork()
            {
                CryptoCode        = nbxplorerNetwork.CryptoCode,
                DisplayName       = "Bitcoin",
                BlockExplorerLink = NetworkType == ChainName.Mainnet ? "https://blockstream.info/tx/{0}" :
                                    NetworkType == Bitcoin.Instance.Signet.ChainName ? "https://explorer.bc-2.jp/tx/{0}"
                                    : "https://blockstream.info/testnet/tx/{0}",
                NBXplorerNetwork   = nbxplorerNetwork,
                UriScheme          = "bitcoin",
                CryptoImagePath    = "imlegacy/bitcoin.svg",
                LightningImagePath = "imlegacy/bitcoin-lightning.svg",
                DefaultSettings    = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType           = NetworkType == ChainName.Mainnet ? new KeyPath("0'") : new KeyPath("1'"),
                SupportRBF         = true,
                SupportPayJoin     = true,
                VaultSupported     = true,
                //https://github.com/spesmilo/electrum/blob/11733d6bc271646a00b69ff07657119598874da4/electrum/constants.py
                ElectrumMapping = NetworkType == ChainName.Mainnet
                    ? new Dictionary <uint, DerivationType>()
                {
                    { 0x0488b21eU, DerivationType.Legacy },     // xpub
                    { 0x049d7cb2U, DerivationType.SegwitP2SH }, // ypub
                    { 0x04b24746U, DerivationType.Segwit },     //zpub
                }
                    : new Dictionary <uint, DerivationType>()
                {
                    { 0x043587cfU, DerivationType.Legacy },     // tpub
                    { 0x044a5262U, DerivationType.SegwitP2SH }, // upub
                    { 0x045f1cf6U, DerivationType.Segwit }      // vpub
                }
            });
        }
コード例 #10
0
        public void InitChaincoin()
        {
            var nbxplorerNetwork = NBXplorerNetworkProvider.GetFromCryptoCode("CHC");

            Add(new BTCPayNetwork()
            {
                CryptoCode        = nbxplorerNetwork.CryptoCode,
                DisplayName       = "Chaincoin",
                BlockExplorerLink = NetworkType == ChainName.Mainnet
                    ? "https://explorer.chaincoin.org/Explorer/Transaction/{0}"
                    : "https://test.explorer.chaincoin.org/Explorer/Transaction/tx/{0}",
                NBXplorerNetwork = nbxplorerNetwork,
                DefaultRateRules = new[]
                {
                    "CHC_X = CHC_BTC * BTC_X",
                    "CHC_BTC = txbit(CHC_X)"
                },
                CryptoImagePath = "imlegacy/chaincoin.png",
                DefaultSettings = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                //https://github.com/satoshilabs/slips/blob/master/slip-0044.md
                CoinType = NetworkType == ChainName.Mainnet ? new KeyPath("711'")
                    : new KeyPath("1'")
            });
        }
コード例 #11
0
        public void InitLiquidAssets()
        {
            var nbxplorerNetwork = NBXplorerNetworkProvider.GetFromCryptoCode("LBTC");

            Add(new ElementsBTCPayNetwork()
            {
                CryptoCode        = "USDt",
                NetworkCryptoCode = "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 == ChainName.Mainnet ? "https://blockstream.info/liquid/tx/{0}" : "https://blockstream.info/testnet/liquid/tx/{0}",
                NBXplorerNetwork  = nbxplorerNetwork,
                CryptoImagePath   = "imlegacy/liquid-tether.svg",
                DefaultSettings   = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType          = NetworkType == ChainName.Mainnet ? new KeyPath("1776'") : new KeyPath("1'"),
                SupportRBF        = true,
                SupportLightning  = false
            });

            Add(new ElementsBTCPayNetwork()
            {
                CryptoCode        = "ETB",
                NetworkCryptoCode = "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 == ChainName.Mainnet ? "https://blockstream.info/liquid/tx/{0}" : "https://blockstream.info/testnet/liquid/tx/{0}",
                NBXplorerNetwork  = nbxplorerNetwork,
                CryptoImagePath   = "imlegacy/etb.png",
                DefaultSettings   = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType          = NetworkType == ChainName.Mainnet ? new KeyPath("1776'") : new KeyPath("1'"),
                SupportRBF        = true,
                SupportLightning  = false
            });

            Add(new ElementsBTCPayNetwork()
            {
                CryptoCode        = "LCAD",
                NetworkCryptoCode = "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 == ChainName.Mainnet ? "https://blockstream.info/liquid/tx/{0}" : "https://blockstream.info/testnet/liquid/tx/{0}",
                NBXplorerNetwork  = nbxplorerNetwork,
                CryptoImagePath   = "imlegacy/lcad.png",
                DefaultSettings   = BTCPayDefaultSettings.GetDefaultSettings(NetworkType),
                CoinType          = NetworkType == ChainName.Mainnet ? new KeyPath("1776'") : new KeyPath("1'"),
                SupportRBF        = true,
                SupportLightning  = false
            });
        }