From 52dfddbb18a1a307e0d8e8468bfced582e87f5b3 Mon Sep 17 00:00:00 2001 From: Adrian Gallagher Date: Tue, 27 Mar 2018 12:53:46 +1100 Subject: [PATCH] Feature: Add support to check whether an exchange supports automatic currency pair updates and if they don't, show a warning if the last currency pair update is >= 30 days Also fix race condition in config get/set functions --- config/config.go | 31 +++++-- config_example.json | 59 ++++++++++--- exchanges/alphapoint/alphapoint.go | 1 + exchanges/anx/anx.go | 5 ++ exchanges/binance/binance.go | 5 ++ exchanges/bitfinex/bitfinex.go | 5 ++ exchanges/bitflyer/bitflyer.go | 5 ++ exchanges/bithumb/bithumb.go | 5 ++ exchanges/bitstamp/bitstamp.go | 5 ++ exchanges/bittrex/bittrex.go | 5 ++ exchanges/btcc/btcc.go | 5 ++ exchanges/btcmarkets/btcmarkets.go | 5 ++ exchanges/coinut/coinut.go | 5 ++ exchanges/exchange.go | 45 ++++++++++ exchanges/exchange_test.go | 100 +++++++++++++++++++++++ exchanges/exmo/exmo.go | 5 ++ exchanges/gdax/gdax.go | 5 ++ exchanges/gemini/gemini.go | 5 ++ exchanges/hitbtc/hitbtc.go | 5 ++ exchanges/huobi/huobi.go | 5 ++ exchanges/itbit/itbit.go | 5 ++ exchanges/kraken/kraken.go | 5 ++ exchanges/lakebtc/lakebtc.go | 5 ++ exchanges/liqui/liqui.go | 5 ++ exchanges/localbitcoins/localbitcoins.go | 5 ++ exchanges/okcoin/okcoin.go | 5 ++ exchanges/okex/okex.go | 5 ++ exchanges/poloniex/poloniex.go | 5 ++ exchanges/wex/wex.go | 5 ++ exchanges/yobit/yobit.go | 5 ++ testdata/configtest.json | 59 ++++++++++--- 31 files changed, 390 insertions(+), 30 deletions(-) diff --git a/config/config.go b/config/config.go index 2f9468be..1fde6cae 100644 --- a/config/config.go +++ b/config/config.go @@ -8,6 +8,7 @@ import ( "log" "os" "strconv" + "sync" "time" "github.com/thrasher-/gocryptotrader/common" @@ -19,12 +20,13 @@ import ( // Constants declared here are filename strings and test strings const ( - EncryptedConfigFile = "config.dat" - ConfigFile = "config.json" - ConfigTestFile = "../testdata/configtest.json" - configFileEncryptionPrompt = 0 - configFileEncryptionEnabled = 1 - configFileEncryptionDisabled = -1 + EncryptedConfigFile = "config.dat" + ConfigFile = "config.json" + ConfigTestFile = "../testdata/configtest.json" + configFileEncryptionPrompt = 0 + configFileEncryptionEnabled = 1 + configFileEncryptionDisabled = -1 + configPairsLastUpdatedWarningThreshold = 30 // 30 days ) // Variables here are mainly alerts and a configuration object @@ -47,6 +49,7 @@ var ( WarningWebserverRootWebFolderNotFound = "WARNING -- Webserver support disabled due to missing web folder." WarningExchangeAuthAPIDefaultOrEmptyValues = "WARNING -- Exchange %s: Authenticated API support disabled due to default/empty APIKey/Secret/ClientID values." WarningCurrencyExchangeProvider = "WARNING -- Currency exchange provider invalid valid. Reset to Fixer." + WarningPairsLastUpdatedThresholdExceeded = "WARNING -- Exchange %s: Last manual update of available currency pairs has exceeded %d days. Manual update required!" Cfg Config ) @@ -95,6 +98,7 @@ type Config struct { SMS SMSGlobalConfig `json:"SMSGlobal"` Webserver WebserverConfig `json:"Webserver"` Exchanges []ExchangeConfig `json:"Exchanges"` + m sync.Mutex } // ExchangeConfig holds all the information needed for each enabled Exchange. @@ -113,6 +117,8 @@ type ExchangeConfig struct { EnabledPairs string BaseCurrencies string AssetTypes string + SupportsAutoPairUpdates bool + PairsLastUpdated int64 `json:",omitempty"` ConfigCurrencyPairFormat *CurrencyPairFormatConfig `json:"ConfigCurrencyPairFormat"` RequestCurrencyPairFormat *CurrencyPairFormatConfig `json:"RequestCurrencyPairFormat"` } @@ -213,6 +219,8 @@ func (c *Config) GetCurrencyPairDisplayConfig() *CurrencyPairFormatConfig { // GetExchangeConfig returns your exchange configurations by its indivdual name func (c *Config) GetExchangeConfig(name string) (ExchangeConfig, error) { + c.m.Lock() + defer c.m.Unlock() for i := range c.Exchanges { if c.Exchanges[i].Name == name { return c.Exchanges[i], nil @@ -223,6 +231,8 @@ func (c *Config) GetExchangeConfig(name string) (ExchangeConfig, error) { // UpdateExchangeConfig updates exchange configurations func (c *Config) UpdateExchangeConfig(e ExchangeConfig) error { + c.m.Lock() + defer c.m.Unlock() for i := range c.Exchanges { if c.Exchanges[i].Name == e.Name { c.Exchanges[i] = e @@ -279,15 +289,20 @@ func (c *Config) CheckExchangeConfigValues() error { if exch.APIKey == "" || exch.APISecret == "" || exch.APIKey == "Key" || exch.APISecret == "Secret" { c.Exchanges[i].AuthenticatedAPISupport = false log.Printf(WarningExchangeAuthAPIDefaultOrEmptyValues, exch.Name) - continue } else if exch.Name == "ITBIT" || exch.Name == "Bitstamp" || exch.Name == "COINUT" || exch.Name == "GDAX" { if exch.ClientID == "" || exch.ClientID == "ClientID" { c.Exchanges[i].AuthenticatedAPISupport = false log.Printf(WarningExchangeAuthAPIDefaultOrEmptyValues, exch.Name) - continue } } } + if !exch.SupportsAutoPairUpdates { + lastUpdated := common.UnixTimestampToTime(exch.PairsLastUpdated) + lastUpdated.AddDate(0, 0, configPairsLastUpdatedWarningThreshold) + if lastUpdated.Unix() >= time.Now().Unix() { + log.Printf(WarningPairsLastUpdatedThresholdExceeded, exch.Name, configPairsLastUpdatedWarningThreshold) + } + } exchanges++ } } diff --git a/config_example.json b/config_example.json index 1244a13d..014477fd 100644 --- a/config_example.json +++ b/config_example.json @@ -13,13 +13,13 @@ { "Address": "1JCe8z4jJVNXSjohjM4i9Hh813dLCNx2Sy", "CoinType": "BTC", - "Balance": 53000.0124432, + "Balance": 53000.01245183, "Description": "" }, { "Address": "3Nxwenay9Z8Lc9JBiywExpnEFiLp6Afp8v", "CoinType": "BTC", - "Balance": 98348.33711928, + "Balance": 99848.27232691, "Description": "" }, { @@ -31,7 +31,7 @@ { "Address": "0xb794f5ea0ba39494ce839613fffba74279579268", "CoinType": "ETH", - "Balance": 1925000.2881249, + "Balance": 0.25927504051326, "Description": "" } ] @@ -71,6 +71,8 @@ "EnabledPairs": "BTCUSD,BTCHKD,BTCEUR,BTCCAD,BTCAUD,BTCSGD,BTCJPY,BTCGBP,BTCNZD,LTCBTC,DOGEBTC,STRBTC,XRPBTC", "BaseCurrencies": "USD,HKD,EUR,CAD,AUD,SGD,JPY,GBP,NZD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": false, + "PairsLastUpdated": 1522111402, "ConfigCurrencyPairFormat": { "Uppercase": true, "Index": "BTC" @@ -90,10 +92,11 @@ "AuthenticatedAPISupport": false, "APIKey": "Key", "APISecret": "Secret", - "AvailablePairs": "ETH-BTC,LTC-BTC,BNB-BTC,NEO-BTC,123-456,QTUM-ETH,EOS-ETH,SNT-ETH,BNT-ETH,BCC-BTC,GAS-BTC,BNB-ETH,BTC-USDT,ETH-USDT,HSR-BTC,OAX-ETH,DNT-ETH,MCO-ETH,ICN-ETH,MCO-BTC,WTC-BTC,WTC-ETH,LRC-BTC,LRC-ETH,QTUM-BTC,YOYO-BTC,OMG-BTC,OMG-ETH,ZRX-BTC,ZRX-ETH,STRAT-BTC,STRAT-ETH,SNGLS-BTC,SNGLS-ETH,BQX-BTC,BQX-ETH,KNC-BTC,KNC-ETH,FUN-BTC,FUN-ETH,SNM-BTC,SNM-ETH,NEO-ETH,IOTA-BTC,IOTA-ETH,LINK-BTC,LINK-ETH,XVG-BTC,XVG-ETH,CTR-BTC,CTR-ETH,SALT-BTC,SALT-ETH,MDA-BTC,MDA-ETH,MTL-BTC,MTL-ETH,SUB-BTC,SUB-ETH,EOS-BTC,SNT-BTC,ETC-ETH,ETC-BTC,MTH-BTC,MTH-ETH,ENG-BTC,ENG-ETH,DNT-BTC,ZEC-BTC,ZEC-ETH,BNT-BTC,AST-BTC,AST-ETH,DASH-BTC,DASH-ETH,OAX-BTC,ICN-BTC,BTG-BTC,BTG-ETH,EVX-BTC,EVX-ETH,REQ-BTC,REQ-ETH,VIB-BTC,VIB-ETH,HSR-ETH,TRX-BTC,TRX-ETH,POWR-BTC,POWR-ETH,ARK-BTC,ARK-ETH,YOYO-ETH,XRP-BTC,XRP-ETH,MOD-BTC,MOD-ETH,ENJ-BTC,ENJ-ETH,STORJ-BTC,STORJ-ETH,BNB-USDT,VEN-BNB,YOYO-BNB,POWR-BNB,VEN-BTC,VEN-ETH,KMD-BTC,KMD-ETH,NULS-BNB,RCN-BTC,RCN-ETH,RCN-BNB,NULS-BTC,NULS-ETH,RDN-BTC,RDN-ETH,RDN-BNB,XMR-BTC,XMR-ETH,DLT-BNB,WTC-BNB,DLT-BTC,DLT-ETH,AMB-BTC,AMB-ETH,AMB-BNB,BCC-ETH,BCC-USDT,BCC-BNB,BAT-BTC,BAT-ETH,BAT-BNB,BCPT-BTC,BCPT-ETH,BCPT-BNB,ARN-BTC,ARN-ETH,GVT-BTC,GVT-ETH,CDT-BTC,CDT-ETH,GXS-BTC,GXS-ETH,NEO-USDT,NEO-BNB,POE-BTC,POE-ETH,QSP-BTC,QSP-ETH,QSP-BNB,BTS-BTC,BTS-ETH,BTS-BNB,XZC-BTC,XZC-ETH,XZC-BNB,LSK-BTC,LSK-ETH,LSK-BNB,TNT-BTC,TNT-ETH,FUEL-BTC,FUEL-ETH,MANA-BTC,MANA-ETH,BCD-BTC,BCD-ETH,DGD-BTC,DGD-ETH,IOTA-BNB,ADX-BTC,ADX-ETH,ADX-BNB,ADA-BTC,ADA-ETH,PPT-BTC,PPT-ETH,CMT-BTC,CMT-ETH,CMT-BNB,XLM-BTC,XLM-ETH,XLM-BNB,CND-BTC,CND-ETH,CND-BNB,LEND-BTC,LEND-ETH,WABI-BTC,WABI-ETH,WABI-BNB,LTC-ETH,LTC-USDT,LTC-BNB,TNB-BTC,TNB-ETH,WAVES-BTC,WAVES-ETH,WAVES-BNB,GTO-BTC,GTO-ETH,GTO-BNB,ICX-BTC,ICX-ETH,ICX-BNB,OST-BTC,OST-ETH,OST-BNB,ELF-BTC,ELF-ETH,AION-BTC,AION-ETH,AION-BNB,NEBL-BTC,NEBL-ETH,NEBL-BNB,BRD-BTC,BRD-ETH,BRD-BNB,MCO-BNB,EDO-BTC,EDO-ETH,WINGS-BTC,WINGS-ETH,NAV-BTC,NAV-ETH,NAV-BNB,LUN-BTC,LUN-ETH,TRIG-BTC,TRIG-ETH,TRIG-BNB,APPC-BTC,APPC-ETH,APPC-BNB,VIBE-BTC,VIBE-ETH,RLC-BTC,RLC-ETH,RLC-BNB,INS-BTC,INS-ETH,PIVX-BTC,PIVX-ETH,PIVX-BNB,IOST-BTC,IOST-ETH,CHAT-BTC,CHAT-ETH,STEEM-BTC,STEEM-ETH,STEEM-BNB,NANO-BTC,NANO-ETH,NANO-BNB,VIA-BTC,VIA-ETH,VIA-BNB,BLZ-BTC,BLZ-ETH,BLZ-BNB,AE-BTC,AE-ETH,AE-BNB,RPX-BTC,RPX-ETH,RPX-BNB", + "AvailablePairs": "ETH-BTC,LTC-BTC,BNB-BTC,NEO-BTC,123-456,QTUM-ETH,EOS-ETH,SNT-ETH,BNT-ETH,BCC-BTC,GAS-BTC,BNB-ETH,BTC-USDT,ETH-USDT,HSR-BTC,OAX-ETH,DNT-ETH,MCO-ETH,ICN-ETH,MCO-BTC,WTC-BTC,WTC-ETH,LRC-BTC,LRC-ETH,QTUM-BTC,YOYO-BTC,OMG-BTC,OMG-ETH,ZRX-BTC,ZRX-ETH,STRAT-BTC,STRAT-ETH,SNGLS-BTC,SNGLS-ETH,BQX-BTC,BQX-ETH,KNC-BTC,KNC-ETH,FUN-BTC,FUN-ETH,SNM-BTC,SNM-ETH,NEO-ETH,IOTA-BTC,IOTA-ETH,LINK-BTC,LINK-ETH,XVG-BTC,XVG-ETH,CTR-BTC,CTR-ETH,SALT-BTC,SALT-ETH,MDA-BTC,MDA-ETH,MTL-BTC,MTL-ETH,SUB-BTC,SUB-ETH,EOS-BTC,SNT-BTC,ETC-ETH,ETC-BTC,MTH-BTC,MTH-ETH,ENG-BTC,ENG-ETH,DNT-BTC,ZEC-BTC,ZEC-ETH,BNT-BTC,AST-BTC,AST-ETH,DASH-BTC,DASH-ETH,OAX-BTC,ICN-BTC,BTG-BTC,BTG-ETH,EVX-BTC,EVX-ETH,REQ-BTC,REQ-ETH,VIB-BTC,VIB-ETH,HSR-ETH,TRX-BTC,TRX-ETH,POWR-BTC,POWR-ETH,ARK-BTC,ARK-ETH,YOYO-ETH,XRP-BTC,XRP-ETH,MOD-BTC,MOD-ETH,ENJ-BTC,ENJ-ETH,STORJ-BTC,STORJ-ETH,BNB-USDT,VEN-BNB,YOYO-BNB,POWR-BNB,VEN-BTC,VEN-ETH,KMD-BTC,KMD-ETH,NULS-BNB,RCN-BTC,RCN-ETH,RCN-BNB,NULS-BTC,NULS-ETH,RDN-BTC,RDN-ETH,RDN-BNB,XMR-BTC,XMR-ETH,DLT-BNB,WTC-BNB,DLT-BTC,DLT-ETH,AMB-BTC,AMB-ETH,AMB-BNB,BCC-ETH,BCC-USDT,BCC-BNB,BAT-BTC,BAT-ETH,BAT-BNB,BCPT-BTC,BCPT-ETH,BCPT-BNB,ARN-BTC,ARN-ETH,GVT-BTC,GVT-ETH,CDT-BTC,CDT-ETH,GXS-BTC,GXS-ETH,NEO-USDT,NEO-BNB,POE-BTC,POE-ETH,QSP-BTC,QSP-ETH,QSP-BNB,BTS-BTC,BTS-ETH,BTS-BNB,XZC-BTC,XZC-ETH,XZC-BNB,LSK-BTC,LSK-ETH,LSK-BNB,TNT-BTC,TNT-ETH,FUEL-BTC,FUEL-ETH,MANA-BTC,MANA-ETH,BCD-BTC,BCD-ETH,DGD-BTC,DGD-ETH,IOTA-BNB,ADX-BTC,ADX-ETH,ADX-BNB,ADA-BTC,ADA-ETH,PPT-BTC,PPT-ETH,CMT-BTC,CMT-ETH,CMT-BNB,XLM-BTC,XLM-ETH,XLM-BNB,CND-BTC,CND-ETH,CND-BNB,LEND-BTC,LEND-ETH,WABI-BTC,WABI-ETH,WABI-BNB,LTC-ETH,LTC-USDT,LTC-BNB,TNB-BTC,TNB-ETH,WAVES-BTC,WAVES-ETH,WAVES-BNB,GTO-BTC,GTO-ETH,GTO-BNB,ICX-BTC,ICX-ETH,ICX-BNB,OST-BTC,OST-ETH,OST-BNB,ELF-BTC,ELF-ETH,AION-BTC,AION-ETH,AION-BNB,NEBL-BTC,NEBL-ETH,NEBL-BNB,BRD-BTC,BRD-ETH,BRD-BNB,MCO-BNB,EDO-BTC,EDO-ETH,WINGS-BTC,WINGS-ETH,NAV-BTC,NAV-ETH,NAV-BNB,LUN-BTC,LUN-ETH,TRIG-BTC,TRIG-ETH,TRIG-BNB,APPC-BTC,APPC-ETH,APPC-BNB,VIBE-BTC,VIBE-ETH,RLC-BTC,RLC-ETH,RLC-BNB,INS-BTC,INS-ETH,PIVX-BTC,PIVX-ETH,PIVX-BNB,IOST-BTC,IOST-ETH,CHAT-BTC,CHAT-ETH,STEEM-BTC,STEEM-ETH,STEEM-BNB,NANO-BTC,NANO-ETH,NANO-BNB,VIA-BTC,VIA-ETH,VIA-BNB,BLZ-BTC,BLZ-ETH,BLZ-BNB,AE-BTC,AE-ETH,AE-BNB,RPX-BTC,RPX-ETH,RPX-BNB,NCASH-BTC,NCASH-ETH,NCASH-BNB,POA-BTC,POA-ETH,POA-BNB,ZIL-BTC,ZIL-ETH,ZIL-BNB,ONT-BTC,ONT-ETH,ONT-BNB,STORM-BTC,STORM-ETH,STORM-BNB,QTUM-BNB,QTUM-USDT,XEM-BTC,XEM-ETH,XEM-BNB,WAN-BTC,WAN-ETH,WAN-BNB,QLC-BTC,QLC-ETH", "EnabledPairs": "BTC-USDT", "BaseCurrencies": "USD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true, "Delimiter": "-" @@ -116,6 +119,7 @@ "EnabledPairs": "BTCUSD,LTCUSD,LTCBTC,ETHUSD,ETHBTC", "BaseCurrencies": "USD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -137,6 +141,8 @@ "EnabledPairs": "BTC_JPY,ETH_BTC,BCH_BTC", "BaseCurrencies": "JPY", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": false, + "PairsLastUpdated": 1522111402, "ConfigCurrencyPairFormat": { "Uppercase": true, "Delimiter": "_" @@ -161,6 +167,8 @@ "EnabledPairs": "BTCKRW,ETHKRW,DASHKRW,LTCKRW,ETCKRW,XRPKRW,BCHKRW,XMRKRW,ZECKRW,QTUMKRW,BTGKRW,EOSKRW", "BaseCurrencies": "KRW", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": false, + "PairsLastUpdated": 1522111402, "ConfigCurrencyPairFormat": { "Uppercase": true, "Index": "KRW" @@ -180,10 +188,11 @@ "APIKey": "Key", "APISecret": "Secret", "ClientID": "ClientID", - "AvailablePairs": "BTCUSD,BTCEUR,EURUSD,XRPUSD,XRPEUR", + "AvailablePairs": "LTCUSD,ETHUSD,XRPEUR,BCHUSD,BCHEUR,BTCEUR,XRPBTC,EURUSD,BCHBTC,LTCEUR,BTCUSD,LTCBTC,XRPUSD,ETHBTC,ETHEUR", "EnabledPairs": "BTCUSD,BTCEUR,EURUSD,XRPUSD,XRPEUR", "BaseCurrencies": "USD,EUR", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -201,10 +210,11 @@ "AuthenticatedAPISupport": false, "APIKey": "Key", "APISecret": "Secret", - "AvailablePairs": "BTC-LTC,BTC-DOGE,BTC-VTC,BTC-PPC,BTC-FTC,BTC-RDD,BTC-NXT,BTC-DASH,BTC-POT,BTC-BLK,BTC-EMC2,BTC-XMY,BTC-AUR,BTC-EFL,BTC-GLD,BTC-SLR,BTC-PTC,BTC-GRS,BTC-NLG,BTC-RBY,BTC-XWC,BTC-MONA,BTC-THC,BTC-ENRG,BTC-ERC,BTC-VRC,BTC-CURE,BTC-XMR,BTC-CLOAK,BTC-START,BTC-KORE,BTC-XDN,BTC-TRUST,BTC-NAV,BTC-XST,BTC-VIA,BTC-PINK,BTC-IOC,BTC-CANN,BTC-SYS,BTC-NEOS,BTC-DGB,BTC-BURST,BTC-EXCL,BTC-SWIFT,BTC-DOPE,BTC-BLOCK,BTC-ABY,BTC-BYC,BTC-XMG,BTC-BLITZ,BTC-BAY,BTC-FAIR,BTC-SPR,BTC-VTR,BTC-XRP,BTC-GAME,BTC-COVAL,BTC-NXS,BTC-XCP,BTC-BITB,BTC-GEO,BTC-FLDC,BTC-GRC,BTC-FLO,BTC-NBT,BTC-MUE,BTC-XEM,BTC-CLAM,BTC-DMD,BTC-GAM,BTC-SPHR,BTC-OK,BTC-SNRG,BTC-PKB,BTC-CPC,BTC-AEON,BTC-ETH,BTC-GCR,BTC-TX,BTC-BCY,BTC-EXP,BTC-INFX,BTC-OMNI,BTC-AMP,BTC-AGRS,BTC-XLM,USDT-BTC,BTC-CLUB,BTC-VOX,BTC-EMC,BTC-FCT,BTC-MAID,BTC-EGC,BTC-SLS,BTC-RADS,BTC-DCR,BTC-BSD,BTC-XVG,BTC-PIVX,BTC-XVC,BTC-MEME,BTC-STEEM,BTC-2GIVE,BTC-LSK,BTC-PDC,BTC-BRK,BTC-WAVES,BTC-LBC,BTC-SBD,BTC-BRX,BTC-ETC,ETH-ETC,BTC-STRAT,BTC-UNB,BTC-SYNX,BTC-EBST,BTC-VRM,BTC-SEQ,BTC-REP,BTC-SHIFT,BTC-ARDR,BTC-XZC,BTC-NEO,BTC-ZEC,BTC-ZCL,BTC-IOP,BTC-GOLOS,BTC-UBQ,BTC-KMD,BTC-GBG,BTC-SIB,BTC-ION,BTC-LMC,BTC-QWARK,BTC-CRW,BTC-SWT,BTC-MLN,BTC-ARK,BTC-DYN,BTC-TKS,BTC-MUSIC,BTC-DTB,BTC-INCNT,BTC-GBYTE,BTC-GNT,BTC-NXC,BTC-EDG,BTC-LGD,BTC-TRST,ETH-GNT,ETH-REP,USDT-ETH,ETH-WINGS,BTC-WINGS,BTC-RLC,BTC-GNO,BTC-GUP,BTC-LUN,ETH-GUP,ETH-RLC,ETH-LUN,ETH-GNO,BTC-HMQ,ETH-HMQ,BTC-ANT,ETH-TRST,ETH-ANT,BTC-SC,ETH-BAT,BTC-BAT,BTC-ZEN,BTC-1ST,BTC-QRL,ETH-1ST,ETH-QRL,BTC-CRB,ETH-CRB,ETH-LGD,BTC-PTOY,ETH-PTOY,BTC-CFI,ETH-CFI,BTC-BNT,ETH-BNT,BTC-NMR,ETH-NMR,ETH-LTC,ETH-XRP,BTC-SNT,ETH-SNT,BTC-DCT,BTC-XEL,BTC-MCO,ETH-MCO,BTC-ADT,ETH-ADT,BTC-PAY,ETH-PAY,BTC-STORJ,ETH-STORJ,BTC-ADX,ETH-ADX,ETH-DASH,ETH-SC,ETH-ZEC,USDT-ZEC,USDT-LTC,USDT-ETC,USDT-XRP,BTC-OMG,ETH-OMG,BTC-CVC,ETH-CVC,BTC-PART,BTC-QTUM,ETH-QTUM,ETH-XMR,ETH-XEM,ETH-XLM,ETH-NEO,USDT-XMR,USDT-DASH,ETH-BCC,USDT-BCC,BTC-BCC,BTC-DNT,ETH-DNT,USDT-NEO,ETH-WAVES,ETH-STRAT,ETH-DGB,ETH-FCT,USDT-OMG,BTC-ADA,BTC-MANA,ETH-MANA,BTC-SALT,ETH-SALT,BTC-TIX,ETH-TIX,BTC-RCN,ETH-RCN,BTC-VIB,ETH-VIB,BTC-MER,BTC-POWR,ETH-POWR,BTC-BTG,ETH-BTG,USDT-BTG,ETH-ADA,BTC-ENG,ETH-ENG,USDT-ADA,USDT-XVG,USDT-NXT,BTC-UKG,ETH-UKG,BTC-IGNIS", + "AvailablePairs": "BTC-LTC,BTC-DOGE,BTC-VTC,BTC-PPC,BTC-FTC,BTC-RDD,BTC-NXT,BTC-DASH,BTC-POT,BTC-BLK,BTC-EMC2,BTC-XMY,BTC-AUR,BTC-EFL,BTC-GLD,BTC-SLR,BTC-PTC,BTC-GRS,BTC-NLG,BTC-RBY,BTC-XWC,BTC-MONA,BTC-THC,BTC-ENRG,BTC-ERC,BTC-VRC,BTC-CURE,BTC-XMR,BTC-CLOAK,BTC-START,BTC-KORE,BTC-XDN,BTC-TRUST,BTC-NAV,BTC-XST,BTC-VIA,BTC-PINK,BTC-IOC,BTC-CANN,BTC-SYS,BTC-NEOS,BTC-DGB,BTC-BURST,BTC-EXCL,BTC-SWIFT,BTC-DOPE,BTC-BLOCK,BTC-ABY,BTC-BYC,BTC-XMG,BTC-BLITZ,BTC-BAY,BTC-FAIR,BTC-SPR,BTC-VTR,BTC-XRP,BTC-GAME,BTC-COVAL,BTC-NXS,BTC-XCP,BTC-BITB,BTC-GEO,BTC-FLDC,BTC-GRC,BTC-FLO,BTC-NBT,BTC-MUE,BTC-XEM,BTC-CLAM,BTC-DMD,BTC-GAM,BTC-SPHR,BTC-OK,BTC-SNRG,BTC-PKB,BTC-AEON,BTC-ETH,BTC-TX,BTC-BCY,BTC-EXP,BTC-OMNI,BTC-AMP,BTC-XLM,USDT-BTC,BTC-RVR,BTC-EMC,BTC-FCT,BTC-EGC,BTC-SLS,BTC-RADS,BTC-DCR,BTC-BSD,BTC-XVG,BTC-PIVX,BTC-MEME,BTC-STEEM,BTC-2GIVE,BTC-LSK,BTC-BRK,BTC-WAVES,BTC-LBC,BTC-SBD,BTC-BRX,BTC-ETC,ETH-ETC,BTC-STRAT,BTC-UNB,BTC-SYNX,BTC-EBST,BTC-VRM,BTC-SEQ,BTC-REP,BTC-SHIFT,BTC-ARDR,BTC-XZC,BTC-NEO,BTC-ZEC,BTC-ZCL,BTC-IOP,BTC-GOLOS,BTC-UBQ,BTC-KMD,BTC-GBG,BTC-SIB,BTC-ION,BTC-LMC,BTC-QWARK,BTC-CRW,BTC-SWT,BTC-MLN,BTC-ARK,BTC-DYN,BTC-TKS,BTC-MUSIC,BTC-DTB,BTC-INCNT,BTC-GBYTE,BTC-GNT,BTC-NXC,BTC-EDG,BTC-LGD,BTC-TRST,ETH-GNT,ETH-REP,USDT-ETH,ETH-WINGS,BTC-WINGS,BTC-RLC,BTC-GNO,BTC-GUP,BTC-LUN,ETH-GUP,ETH-RLC,ETH-LUN,ETH-GNO,BTC-HMQ,ETH-HMQ,BTC-ANT,ETH-TRST,ETH-ANT,BTC-SC,ETH-BAT,BTC-BAT,BTC-ZEN,BTC-QRL,ETH-QRL,BTC-CRB,ETH-CRB,ETH-LGD,BTC-PTOY,ETH-PTOY,BTC-CFI,ETH-CFI,BTC-BNT,ETH-BNT,BTC-NMR,ETH-NMR,ETH-LTC,ETH-XRP,BTC-SNT,ETH-SNT,BTC-DCT,BTC-XEL,BTC-MCO,ETH-MCO,BTC-ADT,ETH-ADT,BTC-PAY,ETH-PAY,BTC-STORJ,ETH-STORJ,BTC-ADX,ETH-ADX,ETH-DASH,ETH-SC,ETH-ZEC,USDT-ZEC,USDT-LTC,USDT-ETC,USDT-XRP,BTC-OMG,ETH-OMG,BTC-CVC,ETH-CVC,BTC-PART,BTC-QTUM,ETH-QTUM,ETH-XMR,ETH-XEM,ETH-XLM,ETH-NEO,USDT-XMR,USDT-DASH,ETH-BCC,USDT-BCC,BTC-BCC,BTC-DNT,ETH-DNT,USDT-NEO,ETH-WAVES,ETH-STRAT,ETH-DGB,ETH-FCT,USDT-OMG,BTC-ADA,BTC-MANA,ETH-MANA,BTC-SALT,ETH-SALT,BTC-TIX,ETH-TIX,BTC-RCN,ETH-RCN,BTC-VIB,ETH-VIB,BTC-MER,BTC-POWR,ETH-POWR,BTC-BTG,ETH-BTG,USDT-BTG,ETH-ADA,BTC-ENG,ETH-ENG,USDT-ADA,USDT-XVG,USDT-NXT,BTC-UKG,ETH-UKG,BTC-IGNIS,BTC-SRN,ETH-SRN,BTC-WAX,ETH-WAX,BTC-ZRX,ETH-ZRX,BTC-VEE,ETH-VEE,BTC-BCPT,ETH-BCPT,BTC-TRX,ETH-TRX,BTC-TUSD,BTC-LRC,ETH-LRC,ETH-TUSD,BTC-UP,ETH-UP", "EnabledPairs": "USDT-BTC", "BaseCurrencies": "USD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true, "Delimiter": "-" @@ -228,6 +238,7 @@ "EnabledPairs": "BTCUSD", "BaseCurrencies": "USD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -249,6 +260,7 @@ "EnabledPairs": "LTCAUD,BTCAUD", "BaseCurrencies": "AUD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -267,10 +279,11 @@ "APIKey": "Key", "APISecret": "Secret", "ClientID": "ClientID", - "AvailablePairs": "ETHUSDT,LTCUSDT,USDTUSD,BTCUSDT,ETCBTC,ETCLTC,ETHBTC,ETCUSDT,ETHLTC,LTCBTC,LTCUSD", + "AvailablePairs": "ETCBTC,ETHUSDT,LTCSGD,BTCUSD,ETCLTC,LTCUSD,XMRBTC,ETCUSDT,LTCBTC,LTCUSDT,USDTSGD,USDTUSD,XMRLTC,BTCSGD,BTCUSDT,ETHBTC,ETHLTC,XMRUSDT", "EnabledPairs": "LTCBTC,ETCBTC,ETHBTC", "BaseCurrencies": "USD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -292,6 +305,7 @@ "EnabledPairs": "BTC_USD,LTC_USD", "BaseCurrencies": "USD,EUR,RUB,PLN,UAH", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true, "Delimiter": "_" @@ -317,6 +331,7 @@ "EnabledPairs": "BTCUSD,BTCGBP,BTCEUR", "BaseCurrencies": "USD,GBP,EUR", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -339,6 +354,7 @@ "EnabledPairs": "BTCUSD", "BaseCurrencies": "USD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -356,10 +372,11 @@ "AuthenticatedAPISupport": false, "APIKey": "Key", "APISecret": "Secret", - "AvailablePairs": "BCN-BTC,BTC-USD,DASH-BTC,DOGE-BTC,DOGE-USD,DSH-BTC,EMC-BTC,ETH-BTC,FCN-BTC,LSK-BTC,LTC-BTC,LTC-USD,NXT-BTC,QCN-BTC,SBD-BTC,SC-BTC,STEEM-BTC,XDN-BTC,XEM-BTC,XMR-BTC,ARDR-BTC,ZEC-BTC,WAVES-BTC,MAID-BTC,AMP-BTC,BUS-BTC,DGD-BTC,ICN-BTC,SNGLS-BTC,1ST-BTC,TRST-BTC,TIME-BTC,GNO-BTC,REP-BTC,XMR-USD,DASH-USD,ETH-USD,NXT-USD,ZRC-BTC,BOS-BTC,DCT-BTC,ANT-BTC,AEON-BTC,GUP-BTC,PLU-BTC,LUN-BTC,TAAS-BTC,NXC-BTC,EDG-BTC,RLC-BTC,SWT-BTC,TKN-BTC,WINGS-BTC,XAUR-BTC,AE-BTC,PTOY-BTC,ZEC-USD,XEM-USD,BCN-USD,XDN-USD,MAID-USD,ETC-BTC,ETC-USD,CFI-BTC,PLBT-BTC,BNT-BTC,XDNCO-BTC,FYN-ETH,SNM-ETH,SNT-ETH,CVC-USD,PAY-ETH,OAX-ETH,OMG-ETH,BQX-ETH,XTZ-BTC,DICE-BTC,CFI-ETH,PTOY-ETH,1ST-ETH,XAUR-ETH,TAAS-ETH,TIME-ETH,DICE-ETH,SWT-ETH,XMR-ETH,ETC-ETH,DASH-ETH,ZEC-ETH,PLU-ETH,GNO-ETH,XRP-BTC,NET-ETH,STRAT-USD,STRAT-BTC,SNC-ETH,ADX-ETH,BET-ETH,EOS-ETH,DENT-ETH,SAN-ETH,EOS-BTC,EOS-USD,MNE-BTC,MSP-ETH,DDF-ETH,XTZ-ETH,XTZ-USD,UET-ETH,MYB-ETH,SUR-ETH,IXT-ETH,PLR-ETH,TIX-ETH,NDC-ETH,PRO-ETH,AVT-ETH,COSS-ETH,EVX-USD,DLT-BTC,BNT-ETH,BNT-USD,QAU-BTC,QAU-ETH,MANA-USD,DNT-BTC,FYP-BTC,OPT-BTC,TNT-ETH,STX-BTC,STX-ETH,STX-USD,TNT-USD,TNT-BTC,CAT-BTC,CAT-ETH,CAT-USD,BCH-BTC,BCH-ETH,BCH-USD,ENG-ETH,XUC-USD,SNC-BTC,SNC-USD,OAX-USD,OAX-BTC,BAS-ETH,ZRX-BTC,ZRX-ETH,ZRX-USD,RVT-BTC,ICOS-BTC,ICOS-ETH,ICOS-USD,PPC-BTC,PPC-USD,QTUM-ETH,VERI-BTC,VERI-ETH,VERI-USD,IGNIS-ETH,PRG-BTC,PRG-ETH,PRG-USD,BMC-BTC,BMC-ETH,BMC-USD,CND-BTC,CND-ETH,CND-USD,SKIN-BTC,EMGO-BTC,EMGO-USD,CDT-ETH,CDT-USD,FUN-BTC,FUN-ETH,FUN-USD,HVN-BTC,HVN-ETH,FUEL-BTC,FUEL-ETH,FUEL-USD,POE-BTC,POE-ETH,MCAP-BTC,AIR-BTC,AIR-ETH,AIR-USD,NTO-BTC,ICO-BTC,PING-BTC,RKC-ETH,GAME-BTC,TKR-ETH,HPC-BTC,PPT-ETH,MTH-BTC,MTH-ETH,WMGO-BTC,WMGO-USD,LRC-BTC,LRC-ETH,ICX-BTC,ICX-ETH,NEO-BTC,NEO-ETH,NEO-USD,CSNO-BTC,ORME-BTC,ICX-USD,PIX-BTC,PIX-ETH,IND-ETH,KICK-BTC,YOYOW-BTC,MIPS-BTC,CDT-BTC,XVG-BTC,XVG-ETH,XVG-USD,DGB-BTC,DGB-ETH,DGB-USD,DCN-ETH,DCN-USD,LAT-BTC,CCT-ETH,EBET-ETH,VIBE-BTC,VOISE-BTC,ENJ-BTC,ENJ-ETH,ENJ-USD,ZSC-BTC,ZSC-ETH,ZSC-USD,ETBS-BTC,TRX-BTC,TRX-ETH,TRX-USD,VEN-BTC,VEN-ETH,VEN-USD,ART-BTC,EVX-BTC,EVX-ETH,QVT-ETH,EBTCOLD-BTC,EBTCOLD-ETH,EBTCOLD-USD,BKB-BTC,EXN-BTC,TGT-BTC,ATS-ETH,UGT-BTC,UGT-ETH,UGT-USD,CTR-BTC,CTR-ETH,CTR-USD,BMT-BTC,BMT-ETH,SUB-BTC,SUB-ETH,SUB-USD,WTC-BTC,CNX-BTC,ATB-BTC,ATB-ETH,ATB-USD,ODN-BTC,BTM-BTC,BTM-ETH,BTM-USD,B2X-BTC,B2X-ETH,B2X-USD,ATM-BTC,ATM-ETH,ATM-USD,LIFE-BTC,VIB-BTC,VIB-ETH,VIB-USD,DRT-ETH,STU-USD,HDG-ETH,OMG-BTC,PAY-BTC,COSS-BTC,PPT-BTC,SNT-BTC,BTG-BTC,BTG-ETH,BTG-USD,SMART-BTC,SMART-ETH,SMART-USD,XUC-ETH,XUC-BTC,CL-BTC,CL-ETH,CL-USD,LA-ETH,CLD-BTC,CLD-ETH,CLD-USD,ELM-BTC,EDO-BTC,EDO-ETH,EDO-USD,HGT-ETH,POLL-BTC,IXT-BTC,ATS-BTC,SCL-BTC,ATL-BTC,EBTC-BTC,EBTC-ETH,EBTC-USD,ETP-BTC,ETP-ETH,ETP-USD,OTX-BTC,CDX-ETH,DRPU-BTC,NEBL-BTC,NEBL-ETH,HAC-BTC,CTX-BTC,CTX-ETH,ELE-BTC,ARN-BTC,ARN-ETH,SISA-BTC,SISA-ETH,STU-BTC,STU-ETH,GVT-ETH,INDI-BTC,BTX-BTC,BTX-USD,LTC-ETH,BCN-ETH,MAID-ETH,NXT-ETH,STRAT-ETH,XDN-ETH,XEM-ETH,PLR-BTC,SUR-BTC,BQX-BTC,DOGE-ETH,ITS-BTC,AMM-BTC,AMM-ETH,AMM-USD,DBIX-BTC,PRE-BTC,KBR-BTC,TBT-BTC,ERO-BTC,SMS-BTC,SMS-ETH,SMS-USD,ZAP-BTC,DOV-BTC,DOV-ETH,FRD-BTC,DRPU-ETH,OTN-BTC,XRP-ETH,XRP-USD,HSR-BTC,LEND-BTC,LEND-ETH,SPF-ETH,SBTC-BTC,SBTC-ETH,BTCA-BTC,BTCA-ETH,BTCA-USD,WRC-BTC,WRC-ETH,WRC-USD,LOC-BTC,LOC-ETH,LOC-USD,SWFTC-BTC,SWFTC-ETH,SWFTC-USD,STAR-ETH,SBTC-USD,STORM-BTC,DIM-ETH,DIM-USD,DIM-BTC,NGC-BTC,NGC-ETH,NGC-USD,EMC-ETH,EMC-USD,MCO-BTC,MCO-ETH,MCO-USD,MANA-ETH,MANA-BTC,ECH-BTC,CPAY-ETH,DATA-BTC,DATA-ETH,DATA-USD,UTT-BTC,UTT-ETH,UTT-USD,KMD-BTC,KMD-ETH,KMD-USD,QTUM-USD,QTUM-BTC,SNT-USD,OMG-USD,EKO-BTC,EKO-ETH,ADX-BTC,ADX-USD,LSK-ETH,LSK-USD,PLR-USD,SUR-USD,BQX-USD,DRT-USD,REP-ETH,REP-USD,TIO-BTC,TIO-ETH,TIO-USD,WAX-BTC,WAX-ETH,WAX-USD,ULTC-BTC,EET-BTC,EET-ETH,EET-USD,C20-BTC,C20-ETH,IDH-BTC,IDH-ETH,IPL-BTC,COV-BTC,COV-ETH,SMT-BTC,SMT-ETH,SMT-USD,W3C-BTC,W3C-ETH,CAS-BTC,CAS-ETH,CAS-USD,CHAT-BTC,CHAT-ETH,CHAT-USD,GRMD-BTC,AVH-BTC,TRAC-ETH,UTK-BTC,UTK-ETH,UTK-USD,CHSB-BTC,CHSB-ETH,AVH-USD,AVH-ETH,GNX-ETH,CLOUT-BTC,CLOUT-ETH,CLOUT-USD,JNT-ETH,NEU-BTC,NEU-ETH,NEU-USD,EKO-USD,TAU-BTC,MEK-BTC,BAR-BTC,BAR-ETH,BAR-USD,FLP-BTC,FLP-ETH,FLP-USD,SENT-ETH,SENT-BTC,SENT-USD", + "AvailablePairs": "BCN-BTC,BTC-USD,DASH-BTC,DOGE-BTC,DOGE-USD,DSH-BTC,EMC-BTC,ETH-BTC,FCN-BTC,LSK-BTC,LTC-BTC,LTC-USD,NXT-BTC,QCN-BTC,SBD-BTC,SC-BTC,STEEM-BTC,XDN-BTC,XEM-BTC,XMR-BTC,ARDR-BTC,ZEC-BTC,WAVES-BTC,MAID-BTC,AMP-BTC,BUS-BTC,DGD-BTC,ICN-BTC,SNGLS-BTC,1ST-BTC,TRST-BTC,TIME-BTC,GNO-BTC,REP-BTC,XMR-USD,DASH-USD,ETH-USD,NXT-USD,ZRC-BTC,BOS-BTC,DCT-BTC,ANT-BTC,AEON-BTC,GUP-BTC,PLU-BTC,LUN-BTC,TAAS-BTC,NXC-BTC,EDG-BTC,RLC-BTC,SWT-BTC,TKN-BTC,WINGS-BTC,XAUR-BTC,AE-BTC,PTOY-BTC,ZEC-USD,XEM-USD,BCN-USD,XDN-USD,MAID-USD,ETC-BTC,ETC-USD,CFI-BTC,PLBT-BTC,BNT-BTC,XDNCO-BTC,FYN-ETH,SNM-BTC,SNM-ETH,SNT-ETH,CVC-USD,PAY-ETH,OAX-ETH,OMG-ETH,BQX-ETH,XTZ-BTC,DICE-BTC,CFI-ETH,PTOY-ETH,1ST-ETH,XAUR-ETH,TAAS-ETH,TIME-ETH,DICE-ETH,SWT-ETH,XMR-ETH,ETC-ETH,DASH-ETH,ZEC-ETH,PLU-ETH,GNO-ETH,XRP-BTC,NET-ETH,STRAT-USD,STRAT-BTC,SNC-ETH,ADX-ETH,BET-ETH,EOS-ETH,DENT-ETH,SAN-ETH,EOS-BTC,EOS-USD,MNE-BTC,MSP-ETH,DDF-ETH,XTZ-ETH,XTZ-USD,UET-ETH,MYB-ETH,SUR-ETH,IXT-ETH,PLR-ETH,TIX-ETH,NDC-ETH,PRO-ETH,AVT-ETH,COSS-ETH,EVX-USD,DLT-BTC,BNT-ETH,BNT-USD,QAU-BTC,QAU-ETH,MANA-USD,DNT-BTC,FYP-BTC,OPT-BTC,TNT-ETH,IFT-BTC,STX-BTC,STX-ETH,STX-USD,TNT-USD,TNT-BTC,CAT-BTC,CAT-ETH,CAT-USD,BCH-BTC,BCH-ETH,BCH-USD,ENG-ETH,XUC-USD,SNC-BTC,SNC-USD,OAX-USD,OAX-BTC,BAS-ETH,ZRX-BTC,ZRX-ETH,ZRX-USD,RVT-BTC,ICOS-BTC,ICOS-ETH,ICOS-USD,PPC-BTC,PPC-USD,QTUM-ETH,VERI-BTC,VERI-ETH,VERI-USD,IGNIS-ETH,PRG-BTC,PRG-ETH,PRG-USD,BMC-BTC,BMC-ETH,BMC-USD,CND-BTC,CND-ETH,CND-USD,SKIN-BTC,EMGO-BTC,EMGO-USD,CDT-ETH,CDT-USD,FUN-BTC,FUN-ETH,FUN-USD,HVN-BTC,HVN-ETH,FUEL-BTC,FUEL-ETH,FUEL-USD,POE-BTC,POE-ETH,MCAP-BTC,AIR-BTC,AIR-ETH,AIR-USD,AMB-USD,AMB-ETH,AMB-BTC,NTO-BTC,ICO-BTC,PING-BTC,RKC-ETH,GAME-BTC,TKR-ETH,HPC-BTC,PPT-ETH,MTH-BTC,MTH-ETH,WMGO-BTC,WMGO-USD,LRC-BTC,LRC-ETH,ICX-BTC,ICX-ETH,NEO-BTC,NEO-ETH,NEO-USD,CSNO-BTC,ORME-BTC,ICX-USD,PIX-BTC,PIX-ETH,IND-ETH,KICK-BTC,YOYOW-BTC,MIPS-BTC,CDT-BTC,XVG-BTC,XVG-ETH,XVG-USD,DGB-BTC,DGB-ETH,DGB-USD,DCN-BTC,DCN-ETH,DCN-USD,LAT-BTC,CCT-ETH,EBET-ETH,VIBE-BTC,VOISE-BTC,ENJ-BTC,ENJ-ETH,ENJ-USD,ZSC-BTC,ZSC-ETH,ZSC-USD,ETBS-BTC,TRX-BTC,TRX-ETH,TRX-USD,VEN-BTC,VEN-ETH,VEN-USD,ART-BTC,EVX-BTC,EVX-ETH,QVT-ETH,EBTCOLD-BTC,EBTCOLD-ETH,EBTCOLD-USD,BKB-BTC,EXN-BTC,TGT-BTC,ATS-ETH,CTR-BTC,CTR-ETH,CTR-USD,BMT-BTC,BMT-ETH,SUB-BTC,SUB-ETH,SUB-USD,WTC-BTC,CNX-BTC,ATB-BTC,ATB-ETH,ATB-USD,ODN-BTC,BTM-BTC,BTM-ETH,BTM-USD,B2X-BTC,B2X-ETH,B2X-USD,ATM-BTC,ATM-ETH,ATM-USD,LIFE-BTC,VIB-BTC,VIB-ETH,VIB-USD,DRT-ETH,STU-USD,OMG-BTC,PAY-BTC,COSS-BTC,PPT-BTC,SNT-BTC,BTG-BTC,BTG-ETH,BTG-USD,SMART-BTC,SMART-ETH,SMART-USD,XUC-ETH,XUC-BTC,CL-BTC,CL-ETH,CL-USD,LA-ETH,CLD-BTC,CLD-ETH,CLD-USD,ELM-BTC,EDO-BTC,EDO-ETH,EDO-USD,HGT-ETH,POLL-BTC,IXT-BTC,ATS-BTC,SCL-BTC,ATL-BTC,EBTC-BTC,EBTC-ETH,EBTC-USD,ETP-BTC,ETP-ETH,ETP-USD,OTX-BTC,CDX-ETH,DRPU-BTC,NEBL-BTC,NEBL-ETH,HAC-BTC,CTX-BTC,CTX-ETH,ELE-BTC,ARN-BTC,ARN-ETH,SISA-BTC,SISA-ETH,STU-BTC,STU-ETH,GVT-ETH,INDI-BTC,BTX-BTC,BTX-USD,LTC-ETH,BCN-ETH,MAID-ETH,NXT-ETH,STRAT-ETH,XDN-ETH,XEM-ETH,PLR-BTC,SUR-BTC,BQX-BTC,DOGE-ETH,ITS-BTC,AMM-BTC,AMM-ETH,AMM-USD,DBIX-BTC,PRE-BTC,KBR-BTC,TBT-BTC,ERO-BTC,SMS-BTC,SMS-ETH,SMS-USD,ZAP-BTC,DOV-BTC,DOV-ETH,FRD-BTC,DRPU-ETH,OTN-BTC,XRP-ETH,XRP-USD,HSR-BTC,LEND-BTC,LEND-ETH,SPF-ETH,SBTC-BTC,SBTC-ETH,BTCA-BTC,BTCA-ETH,BTCA-USD,WRC-BTC,WRC-ETH,WRC-USD,LOC-BTC,LOC-ETH,LOC-USD,SWFTC-BTC,SWFTC-ETH,SWFTC-USD,STAR-ETH,SBTC-USD,STORM-BTC,DIM-ETH,DIM-USD,DIM-BTC,NGC-BTC,NGC-ETH,NGC-USD,EMC-ETH,EMC-USD,MCO-BTC,MCO-ETH,MCO-USD,MANA-ETH,MANA-BTC,ECH-BTC,CPAY-ETH,DATA-BTC,DATA-ETH,DATA-USD,UTT-BTC,UTT-ETH,UTT-USD,KMD-BTC,KMD-ETH,KMD-USD,QTUM-USD,QTUM-BTC,SNT-USD,OMG-USD,EKO-BTC,EKO-ETH,ADX-BTC,ADX-USD,LSK-ETH,LSK-USD,PLR-USD,SUR-USD,BQX-USD,DRT-USD,REP-ETH,REP-USD,TIO-BTC,TIO-ETH,TIO-USD,WAX-BTC,WAX-ETH,WAX-USD,ULTC-BTC,EET-BTC,EET-ETH,EET-USD,C20-BTC,C20-ETH,IDH-BTC,IDH-ETH,IPL-BTC,COV-BTC,COV-ETH,SENT-BTC,SENT-ETH,SENT-USD,SMT-BTC,SMT-ETH,SMT-USD,CVH-ETH,CVH-USD,W3C-BTC,W3C-ETH,CAS-BTC,CAS-ETH,CAS-USD,CHAT-BTC,CHAT-ETH,CHAT-USD,GRMD-BTC,AVH-BTC,TRAC-ETH,JNT-ETH,PCL-BTC,PCL-ETH,CLOUT-BTC,UTK-BTC,UTK-ETH,UTK-USD,GNX-ETH,CHSB-BTC,CHSB-ETH,AVH-ETH,NEU-BTC,NEU-ETH,NEU-USD,AVH-USD,CLOUT-ETH,CLOUT-USD,TAU-BTC,MEK-BTC,BAR-BTC,BAR-ETH,BAR-USD,FLP-BTC,FLP-ETH,FLP-USD,R-BTC,R-ETH,EKO-USD,BCPT-ETH,BCPT-USD,PKT-BTC,PKT-ETH,WLK-BTC,WLK-ETH,WLK-USD,EVN-BTC,CPG-BTC,CPG-ETH,BPTN-BTC,BPTN-ETH,BPTN-USD,BETR-BTC,BETR-ETH,ARCT-BTC,ARCT-USD,DBET-BTC,DBET-ETH,DBET-USD,RNTB-ETH,HAND-ETH,HAND-USD,BEZ-BTC,BEZ-ETH,BEZ-USD,ACO-ETH,CTE-BTC,CTE-ETH,CTE-USD,UTNP-BTC,UTNP-ETH,UTNP-USD,CPY-BTC,CPY-ETH,CHP-ETH,BCPT-BTC,ACT-BTC,ACT-ETH,ACT-USD,HIRE-ETH,ADA-BTC,ADA-ETH,ADA-USD,SIG-BTC,RPM-BTC,RPM-ETH,MTX-BTC,MTX-ETH,MTX-USD,BGG-BTC,BGG-ETH,BGG-USD,SETH-ETH,WIZ-BTC,WIZ-ETH,WIZ-USD,DADI-BTC,DADI-ETH,BDG-ETH,DATX-BTC,DATX-ETH,TRUE-BTC,DRG-BTC,DRG-ETH,BANCA-BTC,BANCA-ETH,ZAP-ETH,ZAP-USD,AUTO-BTC,NOAH-BTC,SOC-BTC,WILD-BTC,INSUR-BTC,INSUR-ETH,OCN-BTC,OCN-ETH,STQ-BTC,STQ-ETH,XLM-BTC,XLM-ETH,XLM-USD,IOTA-BTC,IOTA-ETH,IOTA-USD,DRT-BTC,BETR-USD,CGC-ETH,ERT-BTC,MESH-BTC,MESH-ETH,MESH-USD,CRPT-BTC,CRPT-USD,HLW-ETH,IHT-BTC,IHT-ETH,IHT-USD,SCC-BTC,YCC-BTC", "EnabledPairs": "BTC-USD", "BaseCurrencies": "USD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true, "Delimiter": "-" @@ -378,10 +395,11 @@ "AuthenticatedAPISupport": false, "APIKey": "Key", "APISecret": "Secret", - "AvailablePairs": "NAS-ETH,EOS-ETH,SWFTC-BTC,ZEC-USDT,EVX-BTC,MDS-ETH,SMT-ETH,TRX-ETH,THETA-USDT,LUN-ETH,BCH-BTC,TNB-BTC,GNX-ETH,DAT-BTC,CHAT-ETH,QTUM-USDT,LET-BTC,SNT-BTC,WPR-BTC,ELF-ETH,UTK-BTC,SBTC-BTC,NEO-USDT,MCO-BTC,OST-ETH,BT2-BTC,QUN-BTC,HSR-ETH,TOPC-ETH,SALT-ETH,AIDOC-ETH,WAX-BTC,DTA-ETH,BTC-USDT,GAS-ETH,NEO-BTC,SALT-BTC,BTM-BTC,BAT-ETH,EKO-BTC,APPC-BTC,CMT-BTC,QTUM-ETH,REQ-BTC,BTM-ETH,ICX-BTC,OCN-BTC,ZEC-BTC,DGD-ETH,DAT-ETH,STK-ETH,HT-ETH,QUN-ETH,SOC-BTC,ELF-BTC,CMT-ETH,DBC-BTC,STORJ-USDT,WAX-ETH,POWR-BTC,ZIL-USDT,DTA-BTC,SNC-BTC,MEE-BTC,NAS-BTC,TNB-ETH,SWFTC-ETH,EOS-BTC,LINK-ETH,IOST-BTC,HT-USDT,RDN-BTC,LUN-BTC,GNX-BTC,ELA-BTC,LET-ETH,EVX-ETH,ACT-ETH,BCH-USDT,ICX-ETH,BCX-BTC,MTN-ETH,PROPY-ETH,XRP-USDT,THETA-ETH,SNC-ETH,DBC-ETH,SMT-BTC,SRN-ETH,ETH-USDT,ITC-BTC,OMG-BTC,STK-BTC,MDS-BTC,ADX-BTC,ETC-BTC,KNC-BTC,CVC-BTC,QSP-ETH,BTG-BTC,ZLA-ETH,MTX-ETH,RCN-ETH,UTK-ETH,MTL-BTC,GNT-USDT,APPC-ETH,WICC-BTC,YEE-ETH,OMG-USDT,LINK-BTC,XEM-USDT,DASH-BTC,TNT-BTC,QASH-ETH,RUFF-ETH,ELA-ETH,IOST-ETH,THETA-BTC,SNT-USDT,SOC-ETH,EOS-USDT,MANA-BTC,SMT-USDT,XRP-BTC,LTC-USDT,BCD-BTC,CVC-USDT,GNT-ETH,HT-BTC,RCN-BTC,PAY-ETH,CVC-ETH,MEE-ETH,POWR-ETH,PAY-BTC,ADX-ETH,LET-USDT,RUFF-USDT,EKO-ETH,SRN-BTC,OCN-ETH,VEN-ETH,BIFI-BTC,ACT-BTC,ETC-USDT,OST-BTC,IOST-USDT,MCO-ETH,STORJ-BTC,HSR-BTC,VEN-BTC,GNT-BTC,TRX-BTC,DTA-USDT,ZIL-BTC,LSK-BTC,LTC-BTC,YEE-BTC,RUFF-BTC,WPR-ETH,AST-BTC,DASH-USDT,DGD-BTC,ZIL-ETH,ZRX-BTC,ETH-BTC,REQ-ETH,WICC-ETH,LSK-ETH,RPX-BTC,TNT-ETH,MTX-BTC,VEN-USDT,AIDOC-BTC,HSR-USDT,QTUM-BTC,QSP-BTC,BAT-BTC,QASH-BTC,ITC-ETH,XEM-BTC,MANA-ETH,GAS-BTC,MTN-BTC,CHAT-BTC,BT1-BTC,ZLA-BTC,OMG-ETH,TOPC-BTC,PROPY-BTC,RDN-ETH,ELF-USDT", + "AvailablePairs": "NAS-ETH,EOS-ETH,ZEC-USDT,EVX-BTC,MDS-ETH,SMT-ETH,TRX-ETH,THETA-USDT,LUN-ETH,SMT-USDT,BCH-BTC,LET-USDT,GNX-ETH,MTL-BTC,CHAT-ETH,QTUM-USDT,SNT-BTC,WPR-BTC,ELF-ETH,ZIL-BTC,UTK-BTC,SBTC-BTC,TNT-BTC,NEO-USDT,MCO-BTC,OST-ETH,BT2-BTC,HSR-ETH,TOPC-ETH,SALT-ETH,AIDOC-ETH,WAX-BTC,DTA-ETH,BTC-USDT,GAS-ETH,NEO-BTC,BTM-BTC,BLZ-ETH,BAT-ETH,APPC-BTC,CMT-BTC,ONT-BTC,QTUM-ETH,IOST-BTC,REQ-BTC,BTM-ETH,RUFF-BTC,ZEC-BTC,DGD-ETH,DAT-ETH,STK-ETH,HT-ETH,QUN-ETH,ELF-BTC,CMT-ETH,SNT-USDT,MDS-USDT,STORJ-USDT,WAX-ETH,POWR-BTC,SNC-BTC,VEN-USDT,TNB-ETH,SWFTC-ETH,EOS-BTC,LINK-ETH,HT-USDT,RDN-BTC,LUN-BTC,GNX-BTC,ELA-BTC,LET-ETH,IOST-USDT,EVX-ETH,ACT-ETH,BCH-USDT,ICX-ETH,BCX-BTC,MTN-ETH,PROPY-ETH,XRP-USDT,ICX-BTC,THETA-ETH,SNC-ETH,DBC-ETH,ITC-USDT,SMT-BTC,SRN-ETH,ETH-USDT,ITC-BTC,OMG-BTC,STK-BTC,MDS-BTC,TOPC-BTC,ADX-BTC,ETC-BTC,KNC-BTC,CVC-BTC,QSP-ETH,BTG-BTC,EDU-BTC,ZLA-ETH,MTX-ETH,EOS-USDT,RCN-BTC,UTK-ETH,RCN-ETH,GNT-USDT,APPC-ETH,WICC-BTC,YEE-BTC,YEE-ETH,OMG-USDT,LINK-BTC,XEM-USDT,HSR-USDT,DASH-BTC,QUN-BTC,QASH-ETH,DTA-BTC,AIDOC-BTC,DAT-BTC,RUFF-ETH,SALT-BTC,ELA-ETH,IOST-ETH,THETA-BTC,LET-BTC,DTA-USDT,SOC-ETH,ELA-USDT,ZIL-USDT,MANA-BTC,XRP-BTC,ONT-ETH,LTC-USDT,DBC-BTC,BCD-BTC,SWFTC-BTC,CVC-USDT,NAS-USDT,GNT-ETH,TRX-USDT,HT-BTC,ENG-ETH,PAY-ETH,CVC-ETH,TNB-BTC,MEE-ETH,POWR-ETH,BLZ-BTC,PAY-BTC,ADX-ETH,EKO-ETH,SRN-BTC,OCN-ETH,VEN-ETH,ABT-ETH,BIFI-BTC,ACT-BTC,ETC-USDT,OST-BTC,MCO-ETH,ABT-BTC,STORJ-BTC,VEN-BTC,GNT-BTC,LSK-BTC,EKO-BTC,LTC-BTC,OCN-BTC,RUFF-USDT,WPR-ETH,AST-BTC,DASH-USDT,DGD-BTC,ZIL-ETH,ZRX-BTC,ETH-BTC,REQ-ETH,TRX-BTC,WICC-ETH,NAS-BTC,MEE-BTC,ENG-BTC,LSK-ETH,RPX-BTC,TNT-ETH,MTX-BTC,SOC-BTC,EDU-ETH,HSR-BTC,QTUM-BTC,QSP-BTC,BAT-BTC,QASH-BTC,ITC-ETH,XEM-BTC,MANA-ETH,GAS-BTC,MTN-BTC,CHAT-BTC,BT1-BTC,ZLA-BTC,OMG-ETH,PROPY-BTC,RDN-ETH,ELF-USDT", "EnabledPairs": "BTC-USDT", "BaseCurrencies": "USD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true, "Delimiter": "-" @@ -405,6 +423,8 @@ "EnabledPairs": "XBTUSD,XBTSGD,XBTEUR", "BaseCurrencies": "USD,SGD,EUR", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": false, + "PairsLastUpdated": 1522111402, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -422,10 +442,11 @@ "AuthenticatedAPISupport": false, "APIKey": "Key", "APISecret": "Secret", - "AvailablePairs": "DASH-USD,ETH-EUR,ETH-GBP,ZEC-EUR,BCH-EUR,BCH-XBT,REP-XBT,XBT-USD,XDG-XBT,REP-ETH,ZEC-XBT,REP-EUR,XMR-USD,ETC-ETH,EOS-ETH,LTC-EUR,EOS-XBT,LTC-XBT,ETH-XBT,LTC-USD,ETH-CAD,DASH-EUR,ETC-USD,GNO-XBT,ETC-XBT,ETC-EUR,ETH-USD,BCH-USD,DASH-XBT,XBT-CAD,XBT-JPY,ICN-ETH,MLN-XBT,GNO-ETH,XMR-XBT,USDT-USD,XBT-GBP,XLM-XBT,XRP-EUR,XRP-USD,ZEC-USD,MLN-ETH,XBT-EUR,XRP-XBT,XMR-EUR,ETH-JPY,ICN-XBT", + "AvailablePairs": "DASH-USD,XMR-XBT,XRP-EUR,BCH-EUR,GNO-EUR,USDT-USD,XBT-USD,XDG-XBT,XLM-USD,ETC-XBT,ETC-EUR,ETH-XBT,XLM-EUR,BCH-USD,ETH-GBP,ZEC-JPY,GNO-XBT,ETH-CAD,MLN-XBT,XLM-XBT,BCH-XBT,DASH-EUR,XMR-USD,XRP-JPY,ZEC-XBT,EOS-ETH,EOS-EUR,ETH-EUR,LTC-XBT,REP-EUR,REP-XBT,XBT-CAD,XMR-EUR,DASH-XBT,ICN-ETH,ZEC-EUR,LTC-USD,GNO-ETH,ETC-ETH,ICN-XBT,REP-USD,XBT-EUR,GNO-USD,MLN-ETH,REP-ETH,EOS-USD,ETC-USD,ETH-JPY,XBT-JPY,EOS-XBT,XRP-CAD,ETH-USD,LTC-EUR,XBT-GBP,XRP-XBT,XRP-USD,ZEC-USD", "EnabledPairs": "XBT-USD", "BaseCurrencies": "EUR,USD,CAD,GBP,JPY", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true, "Delimiter": "-" @@ -449,6 +470,8 @@ "EnabledPairs": "BTCUSD,BTCAUD", "BaseCurrencies": "USD,EUR,HKD,AUD,GBP,NZD,JPY,SGD,NGN,CHF,CAD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": false, + "PairsLastUpdated": 1522111402, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -466,10 +489,11 @@ "AuthenticatedAPISupport": false, "APIKey": "Key", "APISecret": "Secret", - "AvailablePairs": "GNT_ETH,SNT_ETH,SALT_BTC,SRN_BTC,TIME_BTC,WAVES_ETH,PTOY_USDT,SAN_USDT,DNT_ETH,MYST_USDT,ZRX_USDT,AST_ETH,DASH_USDT,CVC_BTC,GNT_USDT,MCO_USDT,ANT_BTC,TRST_ETH,TIME_USDT,PTOY_BTC,DASH_BTC,NET_ETH,QRL_ETH,WINGS_BTC,BNT_ETH,MGO_BTC,SRN_ETH,GNT_BTC,ENG_USDT,BNT_BTC,MGO_ETH,XID_BTC,TRX_BTC,TAAS_BTC,VEN_BTC,LTC_ETH,ADX_ETH,AE_USDT,BMC_BTC,NEU_USDT,WAVES_USDT,MLN_USDT,EOS_USDT,GNO_USDT,OAX_ETH,TRX_USDT,XID_ETH,MANA_BTC,MANA_ETH,KNC_USDT,RLC_BTC,TRX_ETH,TKN_ETH,SNT_USDT,TNT_BTC,AST_USDT,LTC_BTC,MCO_BTC,PAY_ETH,OMG_USDT,WPR_BTC,GUP_BTC,TRST_USDT,BCC_USDT,PRO_USDT,CFI_USDT,TKN_BTC,AION_USDT,SNGLS_ETH,STORJ_BTC,SAN_BTC,CVC_ETH,TNT_ETH,REQ_ETH,REP_BTC,BCC_ETH,AION_BTC,ETH_BTC,CFI_BTC,TAAS_ETH,ICN_ETH,EDG_BTC,ANT_USDT,BMC_ETH,BMC_USDT,MLN_BTC,NET_BTC,MANA_USDT,EOS_BTC,BAT_BTC,NEU_ETH,SNGLS_USDT,ADX_USDT,CVC_USDT,RLC_USDT,OAX_BTC,PRO_ETH,KNC_BTC,DASH_ETH,SALT_USDT,INS_USDT,EOS_ETH,STX_BTC,AE_ETH,DGD_BTC,SNT_BTC,ZRX_ETH,AION_ETH,REP_ETH,OMG_BTC,OMG_ETH,VEN_USDT,REQ_USDT,OAX_USDT,IND_USDT,SNGLS_BTC,REP_USDT,BAT_ETH,NET_USDT,AE_BTC,SRN_USDT,ETH_USDT,GNO_BTC,BCC_BTC,WPR_ETH,WPR_USDT,WINGS_ETH,ANT_ETH,CFI_ETH,TNT_USDT,LTC_USDT,GNO_ETH,BAT_USDT,DGD_USDT,ENG_BTC,TIME_ETH,MLN_ETH,MYST_BTC,PAY_BTC,SNM_BTC,STORJ_ETH,SALT_ETH,AST_BTC,MGO_USDT,STORJ_USDT,RLC_ETH,TAAS_USDT,STX_ETH,VEN_ETH,ICN_BTC,ZRX_BTC,STX_USDT,QRL_BTC,ADX_BTC,DNT_BTC,SAN_ETH,INS_ETH,PAY_USDT,TKN_USDT,PTOY_ETH,DNT_USDT,BTC_USDT,IND_BTC,NEU_BTC,MYST_ETH,ICN_USDT,TRST_BTC,WINGS_USDT,WAVES_BTC,INS_BTC,EDG_USDT,QRL_USDT,SNM_ETH,SNM_USDT,MCO_ETH,DGD_ETH,ENG_ETH,PRO_BTC,XID_USDT,IND_ETH,GUP_USDT,EDG_ETH,BNT_USDT,REQ_BTC,KNC_ETH,GUP_ETH", + "AvailablePairs": "EDG_USDT,MCO_USDT,OMG_ETH,STX_USDT,GUP_USDT,AE_USDT,GNT_ETH,MYST_USDT,SNGLS_USDT,KNC_USDT,MCO_BTC,DNT_USDT,IND_USDT,REP_ETH,AST_BTC,LDC_USDT,LTC_BTC,TKN_BTC,MGO_BTC,PAY_BTC,ENG_ETH,ADX_ETH,WAVES_BTC,GNO_USDT,BAT_USDT,MGO_ETH,IND_BTC,INS_USDT,RLC_BTC,OAX_ETH,SALT_USDT,SRN_ETH,ADX_USDT,EOS_USDT,REP_BTC,ANT_USDT,MGO_USDT,VEN_ETH,DASH_BTC,QRL_ETH,NET_ETH,TNT_USDT,ICN_ETH,QRL_USDT,SNM_USDT,XID_ETH,DGD_ETH,NET_USDT,VEN_USDT,AION_USDT,SNM_BTC,MCO_ETH,SAN_USDT,SRN_USDT,REP_USDT,MYST_ETH,MANA_ETH,NEU_BTC,TIME_BTC,STX_ETH,AST_USDT,WINGS_USDT,TIME_ETH,BMC_USDT,DASH_ETH,WAVES_ETH,TRST_ETH,SAN_BTC,BCC_BTC,BNT_ETH,SNGLS_BTC,PTOY_BTC,SNT_BTC,AE_ETH,WINGS_ETH,CFI_BTC,BCC_USDT,ZRX_ETH,MANA_USDT,NEU_USDT,XID_BTC,OAX_USDT,KNC_BTC,REQ_USDT,CFI_USDT,OMG_USDT,BAT_ETH,TNT_BTC,VEN_BTC,SALT_ETH,TNT_ETH,INS_BTC,REN_USDT,WINGS_BTC,SNGLS_ETH,SNT_ETH,LTC_USDT,GNO_BTC,GUP_BTC,SNT_USDT,WPR_ETH,NET_BTC,NEU_ETH,MLN_USDT,STORJ_USDT,XID_USDT,PRO_BTC,GNT_USDT,SAN_ETH,DGD_USDT,BCC_ETH,STX_BTC,RLC_USDT,TAAS_BTC,CVC_ETH,EDG_ETH,REQ_ETH,SRN_BTC,AE_BTC,TRX_BTC,STORJ_BTC,STORJ_ETH,TRX_ETH,AST_ETH,QRL_BTC,OMG_BTC,DGD_BTC,ZRX_USDT,PTOY_USDT,DNT_ETH,LTC_ETH,ADX_BTC,BAT_BTC,GNO_ETH,ANT_BTC,ETH_USDT,LDC_ETH,TAAS_USDT,TRX_USDT,TRST_USDT,PTOY_ETH,MLN_BTC,BNT_BTC,BNT_USDT,KNC_ETH,IND_ETH,WPR_BTC,INS_ETH,DASH_USDT,WAVES_USDT,EOS_BTC,BMC_BTC,REQ_BTC,TIME_USDT,CVC_USDT,ENG_BTC,AION_BTC,MLN_ETH,SNM_ETH,ICN_USDT,RLC_ETH,TKN_ETH,DNT_BTC,BTC_USDT,CFI_ETH,OAX_BTC,SALT_BTC,TKN_USDT,EOS_ETH,LDC_BTC,EDG_BTC,ANT_ETH,ENG_USDT,ETH_BTC,PAY_ETH,BMC_ETH,PRO_ETH,AION_ETH,REN_ETH,GUP_ETH,PAY_USDT,WPR_USDT,GNT_BTC,CVC_BTC,ZRX_BTC,REN_BTC,TRST_BTC,MYST_BTC,MANA_BTC,ICN_BTC,TAAS_ETH,PRO_USDT", "EnabledPairs": "ETH_BTC,LTC_BTC,DASH_BTC", "BaseCurrencies": "USD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true, "Delimiter": "_" @@ -494,6 +518,8 @@ "EnabledPairs": "BTCARS,BTCAUD,BTCBRL,BTCCAD,BTCCHF,BTCCZK,BTCDKK,BTCEUR,BTCGBP,BTCHKD,BTCILS,BTCINR,BTCMXN,BTCNOK,BTCNZD,BTCPLN,BTCRUB,BTCSEK,BTCSGD,BTCTHB,BTCUSD,BTCZAR", "BaseCurrencies": "ARS,AUD,BRL,CAD,CHF,CZK,DKK,EUR,GBP,HKD,ILS,INR,MXN,NOK,NZD,PLN,RUB,SEK,SGD,THB,USD,ZAR", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": false, + "PairsLastUpdated": 1522111402, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -515,6 +541,8 @@ "EnabledPairs": "BTCCNY,LTCCNY", "BaseCurrencies": "CNY", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": false, + "PairsLastUpdated": 1522111402, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -537,6 +565,8 @@ "EnabledPairs": "BTCUSD,LTCUSD", "BaseCurrencies": "USD", "AssetTypes": "SPOT,this_week,next_week,quarter", + "SupportsAutoPairUpdates": false, + "PairsLastUpdated": 1522111402, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -559,6 +589,8 @@ "EnabledPairs": "btc_usd,ltc_usd", "BaseCurrencies": "USD", "AssetTypes": "SPOT,this_week,next_week,quarter", + "SupportsAutoPairUpdates": false, + "PairsLastUpdated": 1522111402, "ConfigCurrencyPairFormat": { "Uppercase": false, "Delimiter": "_" @@ -582,6 +614,7 @@ "EnabledPairs": "BTC_LTC,BTC_ETH,BTC_DOGE,BTC_DASH,BTC_XRP", "BaseCurrencies": "USD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true, "Delimiter": "_" @@ -605,6 +638,8 @@ "EnabledPairs": "BTCUSD,BTCRUR,BTCEUR,LTCBTC,LTCUSD,LTCRUR,LTCEUR,NMCBTC,NMCUSD,NVCBTC,NVCUSD,USDRUR,EURUSD,EURRUR,PPCBTC,PPCUSD", "BaseCurrencies": "USD,RUR,EUR", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": false, + "PairsLastUpdated": 1522111402, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -628,6 +663,8 @@ "EnabledPairs": "LTC_BTC,ETH_BTC,BTC_USD,DASH_BTC", "BaseCurrencies": "USD,RUR", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": false, + "PairsLastUpdated": 1522111402, "ConfigCurrencyPairFormat": { "Uppercase": true, "Delimiter": "_" diff --git a/exchanges/alphapoint/alphapoint.go b/exchanges/alphapoint/alphapoint.go index 4d46445b..77d50917 100644 --- a/exchanges/alphapoint/alphapoint.go +++ b/exchanges/alphapoint/alphapoint.go @@ -51,6 +51,7 @@ func (a *Alphapoint) SetDefaults() { a.APIUrl = alphapointDefaultAPIURL a.WebsocketURL = alphapointDefaultWebsocketURL a.AssetTypes = []string{ticker.Spot} + a.SupportsAutoPairUpdating = false } // GetTicker returns current ticker information from Alphapoint for a selected diff --git a/exchanges/anx/anx.go b/exchanges/anx/anx.go index 2254121f..5c0205c6 100644 --- a/exchanges/anx/anx.go +++ b/exchanges/anx/anx.go @@ -50,6 +50,7 @@ func (a *ANX) SetDefaults() { a.ConfigCurrencyPairFormat.Uppercase = true a.ConfigCurrencyPairFormat.Index = "BTC" a.AssetTypes = []string{ticker.Spot} + a.SupportsAutoPairUpdating = false } //Setup is run on startup to setup exchange with config values @@ -74,6 +75,10 @@ func (a *ANX) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = a.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/binance/binance.go b/exchanges/binance/binance.go index 73a40544..93edc35f 100644 --- a/exchanges/binance/binance.go +++ b/exchanges/binance/binance.go @@ -57,6 +57,7 @@ func (b *Binance) SetDefaults() { b.ConfigCurrencyPairFormat.Delimiter = "-" b.ConfigCurrencyPairFormat.Uppercase = true b.AssetTypes = []string{ticker.Spot} + b.SupportsAutoPairUpdating = true b.SetValues() } @@ -82,6 +83,10 @@ func (b *Binance) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = b.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/bitfinex/bitfinex.go b/exchanges/bitfinex/bitfinex.go index da07c2ca..d2bb8f34 100644 --- a/exchanges/bitfinex/bitfinex.go +++ b/exchanges/bitfinex/bitfinex.go @@ -100,6 +100,7 @@ func (b *Bitfinex) SetDefaults() { b.ConfigCurrencyPairFormat.Delimiter = "" b.ConfigCurrencyPairFormat.Uppercase = true b.AssetTypes = []string{ticker.Spot} + b.SupportsAutoPairUpdating = true } // Setup takes in the supplied exchange configuration details and sets params @@ -124,6 +125,10 @@ func (b *Bitfinex) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = b.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/bitflyer/bitflyer.go b/exchanges/bitflyer/bitflyer.go index 5dfb3b95..f9f9340a 100644 --- a/exchanges/bitflyer/bitflyer.go +++ b/exchanges/bitflyer/bitflyer.go @@ -82,6 +82,7 @@ func (b *Bitflyer) SetDefaults() { b.ConfigCurrencyPairFormat.Delimiter = "_" b.ConfigCurrencyPairFormat.Uppercase = true b.AssetTypes = []string{ticker.Spot} + b.SupportsAutoPairUpdating = false } // Setup takes in the supplied exchange configuration details and sets params @@ -107,6 +108,10 @@ func (b *Bitflyer) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = b.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/bithumb/bithumb.go b/exchanges/bithumb/bithumb.go index f4bc8c54..0ca93755 100644 --- a/exchanges/bithumb/bithumb.go +++ b/exchanges/bithumb/bithumb.go @@ -64,6 +64,7 @@ func (b *Bithumb) SetDefaults() { b.ConfigCurrencyPairFormat.Uppercase = true b.ConfigCurrencyPairFormat.Index = "KRW" b.AssetTypes = []string{ticker.Spot} + b.SupportsAutoPairUpdating = false } // Setup takes in the supplied exchange configuration details and sets params @@ -88,6 +89,10 @@ func (b *Bithumb) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = b.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/bitstamp/bitstamp.go b/exchanges/bitstamp/bitstamp.go index 7328871c..5a36e09e 100644 --- a/exchanges/bitstamp/bitstamp.go +++ b/exchanges/bitstamp/bitstamp.go @@ -67,6 +67,7 @@ func (b *Bitstamp) SetDefaults() { b.ConfigCurrencyPairFormat.Delimiter = "" b.ConfigCurrencyPairFormat.Uppercase = true b.AssetTypes = []string{ticker.Spot} + b.SupportsAutoPairUpdating = true } // Setup sets configuration values to bitstamp @@ -91,6 +92,10 @@ func (b *Bitstamp) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = b.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/bittrex/bittrex.go b/exchanges/bittrex/bittrex.go index 13c878c5..4ee78a57 100644 --- a/exchanges/bittrex/bittrex.go +++ b/exchanges/bittrex/bittrex.go @@ -72,6 +72,7 @@ func (b *Bittrex) SetDefaults() { b.ConfigCurrencyPairFormat.Delimiter = "-" b.ConfigCurrencyPairFormat.Uppercase = true b.AssetTypes = []string{ticker.Spot} + b.SupportsAutoPairUpdating = true } // Setup method sets current configuration details if enabled @@ -96,6 +97,10 @@ func (b *Bittrex) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = b.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/btcc/btcc.go b/exchanges/btcc/btcc.go index 7123cdc4..b9c95eb0 100644 --- a/exchanges/btcc/btcc.go +++ b/exchanges/btcc/btcc.go @@ -61,6 +61,7 @@ func (b *BTCC) SetDefaults() { b.ConfigCurrencyPairFormat.Delimiter = "" b.ConfigCurrencyPairFormat.Uppercase = true b.AssetTypes = []string{ticker.Spot} + b.SupportsAutoPairUpdating = true } // Setup is run on startup to setup exchange with config values @@ -85,6 +86,10 @@ func (b *BTCC) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = b.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/btcmarkets/btcmarkets.go b/exchanges/btcmarkets/btcmarkets.go index ca5d9d0c..ca23426c 100644 --- a/exchanges/btcmarkets/btcmarkets.go +++ b/exchanges/btcmarkets/btcmarkets.go @@ -58,6 +58,7 @@ func (b *BTCMarkets) SetDefaults() { b.ConfigCurrencyPairFormat.Delimiter = "" b.ConfigCurrencyPairFormat.Uppercase = true b.AssetTypes = []string{ticker.Spot} + b.SupportsAutoPairUpdating = true } // Setup takes in an exchange configuration and sets all parameters @@ -82,6 +83,10 @@ func (b *BTCMarkets) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = b.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/coinut/coinut.go b/exchanges/coinut/coinut.go index 8f152ab6..861fb139 100644 --- a/exchanges/coinut/coinut.go +++ b/exchanges/coinut/coinut.go @@ -56,6 +56,7 @@ func (c *COINUT) SetDefaults() { c.ConfigCurrencyPairFormat.Delimiter = "" c.ConfigCurrencyPairFormat.Uppercase = true c.AssetTypes = []string{ticker.Spot} + c.SupportsAutoPairUpdating = true } // Setup sets the current exchange configuration @@ -80,6 +81,10 @@ func (c *COINUT) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = c.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/exchange.go b/exchanges/exchange.go index df5a421d..ccec1859 100644 --- a/exchanges/exchange.go +++ b/exchanges/exchange.go @@ -60,6 +60,8 @@ type Base struct { AvailablePairs []string EnabledPairs []string AssetTypes []string + PairsLastUpdated int64 + SupportsAutoPairUpdating bool WebsocketURL string APIUrl string RequestCurrencyPairFormat config.CurrencyPairFormatConfig @@ -85,6 +87,49 @@ type IBotExchange interface { GetAuthenticatedAPISupport() bool SetCurrencies(pairs []pair.CurrencyPair, enabledPairs bool) error GetExchangeHistory(pair.CurrencyPair, string) ([]TradeHistory, error) + SupportsAutoPairUpdates() bool + GetLastPairsUpdateTime() int64 +} + +// SetAutoPairDefaults sets the default values for whether or not the exchange +// supports auto pair updating or not +func (e *Base) SetAutoPairDefaults() error { + cfg := config.GetConfig() + exch, err := cfg.GetExchangeConfig(e.Name) + if err != nil { + return err + } + + update := false + if e.SupportsAutoPairUpdating { + if !exch.SupportsAutoPairUpdates { + exch.SupportsAutoPairUpdates = true + update = true + } + } else { + if exch.PairsLastUpdated == 0 { + exch.PairsLastUpdated = time.Now().Unix() + e.PairsLastUpdated = exch.PairsLastUpdated + update = true + } + } + + if update { + return cfg.UpdateExchangeConfig(exch) + } + return nil +} + +// SupportsAutoPairUpdates returns whether or not the exchange supports +// auto currency pair updating +func (e *Base) SupportsAutoPairUpdates() bool { + return e.SupportsAutoPairUpdating +} + +// GetLastPairsUpdateTime returns the unix timestamp of when the exchanges +// currency pairs were last updated +func (e *Base) GetLastPairsUpdateTime() int64 { + return e.PairsLastUpdated } // SetAssetTypes checks the exchange asset types (whether it supports SPOT, diff --git a/exchanges/exchange_test.go b/exchanges/exchange_test.go index 11b8566a..16075d77 100644 --- a/exchanges/exchange_test.go +++ b/exchanges/exchange_test.go @@ -2,6 +2,7 @@ package exchange import ( "testing" + "time" "github.com/thrasher-/gocryptotrader/common" "github.com/thrasher-/gocryptotrader/config" @@ -9,6 +10,105 @@ import ( "github.com/thrasher-/gocryptotrader/exchanges/ticker" ) +func TestSetAutoPairDefaults(t *testing.T) { + cfg := config.GetConfig() + err := cfg.LoadConfig(config.ConfigTestFile) + if err != nil { + t.Fatalf("Test failed. TestSetAutoPairDefaults failed to load config file. Error: %s", err) + } + + b := Base{ + Name: "TESTNAME", + SupportsAutoPairUpdating: true, + } + + err = b.SetAutoPairDefaults() + if err == nil { + t.Fatal("Test failed. TestSetAutoPairDefaults returned nil error for a non-existent exchange") + } + + b.Name = "Bitstamp" + err = b.SetAutoPairDefaults() + if err != nil { + t.Fatalf("Test failed. TestSetAutoPairDefaults. Error %s", err) + } + + exch, err := cfg.GetExchangeConfig(b.Name) + if err != nil { + t.Fatalf("Test failed. TestSetAutoPairDefaults load config failed. Error %s", err) + } + + if !exch.SupportsAutoPairUpdates { + t.Fatalf("Test failed. TestSetAutoPairDefaults Incorrect value") + } + + if exch.PairsLastUpdated != 0 { + t.Fatalf("Test failed. TestSetAutoPairDefaults Incorrect value") + } + + exch.SupportsAutoPairUpdates = false + err = cfg.UpdateExchangeConfig(exch) + if err != nil { + t.Fatalf("Test failed. TestSetAutoPairDefaults update config failed. Error %s", err) + } + + exch, err = cfg.GetExchangeConfig(b.Name) + if err != nil { + t.Fatalf("Test failed. TestSetAutoPairDefaults load config failed. Error %s", err) + } + + if exch.SupportsAutoPairUpdates != false { + t.Fatal("Test failed. TestSetAutoPairDefaults Incorrect value") + } + + err = b.SetAutoPairDefaults() + if err != nil { + t.Fatalf("Test failed. TestSetAutoPairDefaults. Error %s", err) + } + + exch, err = cfg.GetExchangeConfig(b.Name) + if err != nil { + t.Fatalf("Test failed. TestSetAutoPairDefaults load config failed. Error %s", err) + } + + if exch.SupportsAutoPairUpdates == false { + t.Fatal("Test failed. TestSetAutoPairDefaults Incorrect value") + } + + b.SupportsAutoPairUpdating = false + err = b.SetAutoPairDefaults() + if err != nil { + t.Fatalf("Test failed. TestSetAutoPairDefaults. Error %s", err) + } + + if b.PairsLastUpdated == 0 { + t.Fatal("Test failed. TestSetAutoPairDefaults Incorrect value") + } +} + +func TestSupportsAutoPairUpdates(t *testing.T) { + b := Base{ + Name: "TESTNAME", + SupportsAutoPairUpdating: false, + } + + if b.SupportsAutoPairUpdates() { + t.Fatal("Test failed. TestSupportsAutoPairUpdates Incorrect value") + } +} + +func TestGetLastPairsUpdateTime(t *testing.T) { + testTime := time.Now().Unix() + b := Base{ + Name: "TESTNAME", + PairsLastUpdated: testTime, + } + + if b.GetLastPairsUpdateTime() != testTime { + t.Fatal("Test failed. TestGetLastPairsUpdateTim Incorrect value") + } +} + func TestSetAssetTypes(t *testing.T) { cfg := config.GetConfig() err := cfg.LoadConfig(config.ConfigTestFile) diff --git a/exchanges/exmo/exmo.go b/exchanges/exmo/exmo.go index 08543b50..fefc0a66 100644 --- a/exchanges/exmo/exmo.go +++ b/exchanges/exmo/exmo.go @@ -61,6 +61,7 @@ func (e *EXMO) SetDefaults() { e.ConfigCurrencyPairFormat.Delimiter = "_" e.ConfigCurrencyPairFormat.Uppercase = true e.AssetTypes = []string{ticker.Spot} + e.SupportsAutoPairUpdating = true } // Setup takes in the supplied exchange configuration details and sets params @@ -85,6 +86,10 @@ func (e *EXMO) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = e.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/gdax/gdax.go b/exchanges/gdax/gdax.go index cb1b23d3..850f2dd0 100644 --- a/exchanges/gdax/gdax.go +++ b/exchanges/gdax/gdax.go @@ -70,6 +70,7 @@ func (g *GDAX) SetDefaults() { g.ConfigCurrencyPairFormat.Uppercase = true g.AssetTypes = []string{ticker.Spot} g.APIUrl = gdaxAPIURL + g.SupportsAutoPairUpdating = true } // Setup initialises the exchange parameters with the current configuration @@ -97,6 +98,10 @@ func (g *GDAX) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = g.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/gemini/gemini.go b/exchanges/gemini/gemini.go index 773ca233..735bf8e1 100644 --- a/exchanges/gemini/gemini.go +++ b/exchanges/gemini/gemini.go @@ -109,6 +109,7 @@ func (g *Gemini) SetDefaults() { g.ConfigCurrencyPairFormat.Delimiter = "" g.ConfigCurrencyPairFormat.Uppercase = true g.AssetTypes = []string{ticker.Spot} + g.SupportsAutoPairUpdating = true } // Setup sets exchange configuration parameters @@ -138,6 +139,10 @@ func (g *Gemini) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = g.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/hitbtc/hitbtc.go b/exchanges/hitbtc/hitbtc.go index 37768265..5c60a8fe 100644 --- a/exchanges/hitbtc/hitbtc.go +++ b/exchanges/hitbtc/hitbtc.go @@ -59,6 +59,7 @@ func (p *HitBTC) SetDefaults() { p.ConfigCurrencyPairFormat.Delimiter = "-" p.ConfigCurrencyPairFormat.Uppercase = true p.AssetTypes = []string{ticker.Spot} + p.SupportsAutoPairUpdating = true } // Setup sets user exchange configuration settings @@ -83,6 +84,10 @@ func (p *HitBTC) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = p.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/huobi/huobi.go b/exchanges/huobi/huobi.go index e57699e2..6bd42f95 100644 --- a/exchanges/huobi/huobi.go +++ b/exchanges/huobi/huobi.go @@ -65,6 +65,7 @@ func (h *HUOBI) SetDefaults() { h.ConfigCurrencyPairFormat.Delimiter = "-" h.ConfigCurrencyPairFormat.Uppercase = true h.AssetTypes = []string{ticker.Spot} + h.SupportsAutoPairUpdating = true } // Setup sets user configuration @@ -89,6 +90,10 @@ func (h *HUOBI) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = h.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/itbit/itbit.go b/exchanges/itbit/itbit.go index 7efc3d11..3c245755 100644 --- a/exchanges/itbit/itbit.go +++ b/exchanges/itbit/itbit.go @@ -49,6 +49,7 @@ func (i *ItBit) SetDefaults() { i.ConfigCurrencyPairFormat.Delimiter = "" i.ConfigCurrencyPairFormat.Uppercase = true i.AssetTypes = []string{ticker.Spot} + i.SupportsAutoPairUpdating = false } // Setup sets the exchange parameters from exchange config @@ -73,6 +74,10 @@ func (i *ItBit) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = i.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/kraken/kraken.go b/exchanges/kraken/kraken.go index 49cce87e..b7d1cbae 100644 --- a/exchanges/kraken/kraken.go +++ b/exchanges/kraken/kraken.go @@ -63,6 +63,7 @@ func (k *Kraken) SetDefaults() { k.ConfigCurrencyPairFormat.Delimiter = "-" k.ConfigCurrencyPairFormat.Uppercase = true k.AssetTypes = []string{ticker.Spot} + k.SupportsAutoPairUpdating = true } // Setup sets current exchange configuration @@ -87,6 +88,10 @@ func (k *Kraken) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = k.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/lakebtc/lakebtc.go b/exchanges/lakebtc/lakebtc.go index 402ada43..9f987b3c 100644 --- a/exchanges/lakebtc/lakebtc.go +++ b/exchanges/lakebtc/lakebtc.go @@ -50,6 +50,7 @@ func (l *LakeBTC) SetDefaults() { l.ConfigCurrencyPairFormat.Delimiter = "" l.ConfigCurrencyPairFormat.Uppercase = true l.AssetTypes = []string{ticker.Spot} + l.SupportsAutoPairUpdating = false } // Setup sets exchange configuration profile @@ -74,6 +75,10 @@ func (l *LakeBTC) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = l.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/liqui/liqui.go b/exchanges/liqui/liqui.go index 573465a5..9b1c0ea8 100644 --- a/exchanges/liqui/liqui.go +++ b/exchanges/liqui/liqui.go @@ -55,6 +55,7 @@ func (l *Liqui) SetDefaults() { l.ConfigCurrencyPairFormat.Delimiter = "_" l.ConfigCurrencyPairFormat.Uppercase = true l.AssetTypes = []string{ticker.Spot} + l.SupportsAutoPairUpdating = true } // Setup sets exchange configuration parameters for liqui @@ -79,6 +80,10 @@ func (l *Liqui) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = l.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/localbitcoins/localbitcoins.go b/exchanges/localbitcoins/localbitcoins.go index 10669e39..8f9d88b2 100644 --- a/exchanges/localbitcoins/localbitcoins.go +++ b/exchanges/localbitcoins/localbitcoins.go @@ -118,6 +118,7 @@ func (l *LocalBitcoins) SetDefaults() { l.RequestCurrencyPairFormat.Uppercase = true l.ConfigCurrencyPairFormat.Delimiter = "" l.ConfigCurrencyPairFormat.Uppercase = true + l.SupportsAutoPairUpdating = false } // Setup sets exchange configuration parameters @@ -138,6 +139,10 @@ func (l *LocalBitcoins) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = l.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/okcoin/okcoin.go b/exchanges/okcoin/okcoin.go index 29a5dc8e..ae1a8017 100644 --- a/exchanges/okcoin/okcoin.go +++ b/exchanges/okcoin/okcoin.go @@ -98,6 +98,7 @@ func (o *OKCoin) SetDefaults() { o.RESTPollingDelay = 10 o.FuturesValues = []string{"this_week", "next_week", "quarter"} o.AssetTypes = []string{ticker.Spot} + o.SupportsAutoPairUpdating = false if okcoinDefaultsSet { o.AssetTypes = append(o.AssetTypes, o.FuturesValues...) @@ -136,6 +137,10 @@ func (o *OKCoin) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = o.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/okex/okex.go b/exchanges/okex/okex.go index cbf4d1f8..170f19b1 100644 --- a/exchanges/okex/okex.go +++ b/exchanges/okex/okex.go @@ -97,6 +97,7 @@ func (o *OKEX) SetDefaults() { o.RequestCurrencyPairFormat.Uppercase = false o.ConfigCurrencyPairFormat.Delimiter = "_" o.ConfigCurrencyPairFormat.Uppercase = false + o.SupportsAutoPairUpdating = false } // Setup method sets current configuration details if enabled @@ -121,6 +122,10 @@ func (o *OKEX) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = o.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/poloniex/poloniex.go b/exchanges/poloniex/poloniex.go index 34171500..36c551da 100644 --- a/exchanges/poloniex/poloniex.go +++ b/exchanges/poloniex/poloniex.go @@ -66,6 +66,7 @@ func (p *Poloniex) SetDefaults() { p.ConfigCurrencyPairFormat.Delimiter = "_" p.ConfigCurrencyPairFormat.Uppercase = true p.AssetTypes = []string{ticker.Spot} + p.SupportsAutoPairUpdating = true } // Setup sets user exchange configuration settings @@ -90,6 +91,10 @@ func (p *Poloniex) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = p.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/wex/wex.go b/exchanges/wex/wex.go index cf159166..2c20114c 100644 --- a/exchanges/wex/wex.go +++ b/exchanges/wex/wex.go @@ -58,6 +58,7 @@ func (w *WEX) SetDefaults() { w.ConfigCurrencyPairFormat.Delimiter = "" w.ConfigCurrencyPairFormat.Uppercase = true w.AssetTypes = []string{ticker.Spot} + w.SupportsAutoPairUpdating = false } // Setup sets exchange configuration parameters for WEX @@ -82,6 +83,10 @@ func (w *WEX) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = w.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/exchanges/yobit/yobit.go b/exchanges/yobit/yobit.go index 5669605a..797c6353 100644 --- a/exchanges/yobit/yobit.go +++ b/exchanges/yobit/yobit.go @@ -58,6 +58,7 @@ func (y *Yobit) SetDefaults() { y.ConfigCurrencyPairFormat.Delimiter = "_" y.ConfigCurrencyPairFormat.Uppercase = true y.AssetTypes = []string{ticker.Spot} + y.SupportsAutoPairUpdating = false } // Setup sets exchange configuration parameters for Yobit @@ -82,6 +83,10 @@ func (y *Yobit) Setup(exch config.ExchangeConfig) { if err != nil { log.Fatal(err) } + err = y.SetAutoPairDefaults() + if err != nil { + log.Fatal(err) + } } } diff --git a/testdata/configtest.json b/testdata/configtest.json index 9cc4f507..fe157718 100644 --- a/testdata/configtest.json +++ b/testdata/configtest.json @@ -13,13 +13,13 @@ { "Address": "1JCe8z4jJVNXSjohjM4i9Hh813dLCNx2Sy", "CoinType": "BTC", - "Balance": 53000.0124432, + "Balance": 53000.01245183, "Description": "" }, { "Address": "3Nxwenay9Z8Lc9JBiywExpnEFiLp6Afp8v", "CoinType": "BTC", - "Balance": 98348.33711928, + "Balance": 99848.27232691, "Description": "" }, { @@ -31,7 +31,7 @@ { "Address": "0xb794f5ea0ba39494ce839613fffba74279579268", "CoinType": "ETH", - "Balance": 1925000.2881249, + "Balance": 0.25927504051326, "Description": "" } ] @@ -71,6 +71,8 @@ "EnabledPairs": "BTCUSD,BTCHKD,BTCEUR,BTCCAD,BTCAUD,BTCSGD,BTCJPY,BTCGBP,BTCNZD,LTCBTC,DOGEBTC,STRBTC,XRPBTC", "BaseCurrencies": "USD,HKD,EUR,CAD,AUD,SGD,JPY,GBP,NZD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": false, + "PairsLastUpdated": 1522112372, "ConfigCurrencyPairFormat": { "Uppercase": true, "Index": "BTC" @@ -90,10 +92,11 @@ "AuthenticatedAPISupport": false, "APIKey": "Key", "APISecret": "Secret", - "AvailablePairs": "ETH-BTC,LTC-BTC,BNB-BTC,NEO-BTC,123-456,QTUM-ETH,EOS-ETH,SNT-ETH,BNT-ETH,BCC-BTC,GAS-BTC,BNB-ETH,BTC-USDT,ETH-USDT,HSR-BTC,OAX-ETH,DNT-ETH,MCO-ETH,ICN-ETH,MCO-BTC,WTC-BTC,WTC-ETH,LRC-BTC,LRC-ETH,QTUM-BTC,YOYO-BTC,OMG-BTC,OMG-ETH,ZRX-BTC,ZRX-ETH,STRAT-BTC,STRAT-ETH,SNGLS-BTC,SNGLS-ETH,BQX-BTC,BQX-ETH,KNC-BTC,KNC-ETH,FUN-BTC,FUN-ETH,SNM-BTC,SNM-ETH,NEO-ETH,IOTA-BTC,IOTA-ETH,LINK-BTC,LINK-ETH,XVG-BTC,XVG-ETH,CTR-BTC,CTR-ETH,SALT-BTC,SALT-ETH,MDA-BTC,MDA-ETH,MTL-BTC,MTL-ETH,SUB-BTC,SUB-ETH,EOS-BTC,SNT-BTC,ETC-ETH,ETC-BTC,MTH-BTC,MTH-ETH,ENG-BTC,ENG-ETH,DNT-BTC,ZEC-BTC,ZEC-ETH,BNT-BTC,AST-BTC,AST-ETH,DASH-BTC,DASH-ETH,OAX-BTC,ICN-BTC,BTG-BTC,BTG-ETH,EVX-BTC,EVX-ETH,REQ-BTC,REQ-ETH,VIB-BTC,VIB-ETH,HSR-ETH,TRX-BTC,TRX-ETH,POWR-BTC,POWR-ETH,ARK-BTC,ARK-ETH,YOYO-ETH,XRP-BTC,XRP-ETH,MOD-BTC,MOD-ETH,ENJ-BTC,ENJ-ETH,STORJ-BTC,STORJ-ETH,BNB-USDT,VEN-BNB,YOYO-BNB,POWR-BNB,VEN-BTC,VEN-ETH,KMD-BTC,KMD-ETH,NULS-BNB,RCN-BTC,RCN-ETH,RCN-BNB,NULS-BTC,NULS-ETH,RDN-BTC,RDN-ETH,RDN-BNB,XMR-BTC,XMR-ETH,DLT-BNB,WTC-BNB,DLT-BTC,DLT-ETH,AMB-BTC,AMB-ETH,AMB-BNB,BCC-ETH,BCC-USDT,BCC-BNB,BAT-BTC,BAT-ETH,BAT-BNB,BCPT-BTC,BCPT-ETH,BCPT-BNB,ARN-BTC,ARN-ETH,GVT-BTC,GVT-ETH,CDT-BTC,CDT-ETH,GXS-BTC,GXS-ETH,NEO-USDT,NEO-BNB,POE-BTC,POE-ETH,QSP-BTC,QSP-ETH,QSP-BNB,BTS-BTC,BTS-ETH,BTS-BNB,XZC-BTC,XZC-ETH,XZC-BNB,LSK-BTC,LSK-ETH,LSK-BNB,TNT-BTC,TNT-ETH,FUEL-BTC,FUEL-ETH,MANA-BTC,MANA-ETH,BCD-BTC,BCD-ETH,DGD-BTC,DGD-ETH,IOTA-BNB,ADX-BTC,ADX-ETH,ADX-BNB,ADA-BTC,ADA-ETH,PPT-BTC,PPT-ETH,CMT-BTC,CMT-ETH,CMT-BNB,XLM-BTC,XLM-ETH,XLM-BNB,CND-BTC,CND-ETH,CND-BNB,LEND-BTC,LEND-ETH,WABI-BTC,WABI-ETH,WABI-BNB,LTC-ETH,LTC-USDT,LTC-BNB,TNB-BTC,TNB-ETH,WAVES-BTC,WAVES-ETH,WAVES-BNB,GTO-BTC,GTO-ETH,GTO-BNB,ICX-BTC,ICX-ETH,ICX-BNB,OST-BTC,OST-ETH,OST-BNB,ELF-BTC,ELF-ETH,AION-BTC,AION-ETH,AION-BNB,NEBL-BTC,NEBL-ETH,NEBL-BNB,BRD-BTC,BRD-ETH,BRD-BNB,MCO-BNB,EDO-BTC,EDO-ETH,WINGS-BTC,WINGS-ETH,NAV-BTC,NAV-ETH,NAV-BNB,LUN-BTC,LUN-ETH,TRIG-BTC,TRIG-ETH,TRIG-BNB,APPC-BTC,APPC-ETH,APPC-BNB,VIBE-BTC,VIBE-ETH,RLC-BTC,RLC-ETH,RLC-BNB,INS-BTC,INS-ETH,PIVX-BTC,PIVX-ETH,PIVX-BNB,IOST-BTC,IOST-ETH,CHAT-BTC,CHAT-ETH,STEEM-BTC,STEEM-ETH,STEEM-BNB,NANO-BTC,NANO-ETH,NANO-BNB,VIA-BTC,VIA-ETH,VIA-BNB,BLZ-BTC,BLZ-ETH,BLZ-BNB,AE-BTC,AE-ETH,AE-BNB,RPX-BTC,RPX-ETH,RPX-BNB", + "AvailablePairs": "ETH-BTC,LTC-BTC,BNB-BTC,NEO-BTC,123-456,QTUM-ETH,EOS-ETH,SNT-ETH,BNT-ETH,BCC-BTC,GAS-BTC,BNB-ETH,BTC-USDT,ETH-USDT,HSR-BTC,OAX-ETH,DNT-ETH,MCO-ETH,ICN-ETH,MCO-BTC,WTC-BTC,WTC-ETH,LRC-BTC,LRC-ETH,QTUM-BTC,YOYO-BTC,OMG-BTC,OMG-ETH,ZRX-BTC,ZRX-ETH,STRAT-BTC,STRAT-ETH,SNGLS-BTC,SNGLS-ETH,BQX-BTC,BQX-ETH,KNC-BTC,KNC-ETH,FUN-BTC,FUN-ETH,SNM-BTC,SNM-ETH,NEO-ETH,IOTA-BTC,IOTA-ETH,LINK-BTC,LINK-ETH,XVG-BTC,XVG-ETH,CTR-BTC,CTR-ETH,SALT-BTC,SALT-ETH,MDA-BTC,MDA-ETH,MTL-BTC,MTL-ETH,SUB-BTC,SUB-ETH,EOS-BTC,SNT-BTC,ETC-ETH,ETC-BTC,MTH-BTC,MTH-ETH,ENG-BTC,ENG-ETH,DNT-BTC,ZEC-BTC,ZEC-ETH,BNT-BTC,AST-BTC,AST-ETH,DASH-BTC,DASH-ETH,OAX-BTC,ICN-BTC,BTG-BTC,BTG-ETH,EVX-BTC,EVX-ETH,REQ-BTC,REQ-ETH,VIB-BTC,VIB-ETH,HSR-ETH,TRX-BTC,TRX-ETH,POWR-BTC,POWR-ETH,ARK-BTC,ARK-ETH,YOYO-ETH,XRP-BTC,XRP-ETH,MOD-BTC,MOD-ETH,ENJ-BTC,ENJ-ETH,STORJ-BTC,STORJ-ETH,BNB-USDT,VEN-BNB,YOYO-BNB,POWR-BNB,VEN-BTC,VEN-ETH,KMD-BTC,KMD-ETH,NULS-BNB,RCN-BTC,RCN-ETH,RCN-BNB,NULS-BTC,NULS-ETH,RDN-BTC,RDN-ETH,RDN-BNB,XMR-BTC,XMR-ETH,DLT-BNB,WTC-BNB,DLT-BTC,DLT-ETH,AMB-BTC,AMB-ETH,AMB-BNB,BCC-ETH,BCC-USDT,BCC-BNB,BAT-BTC,BAT-ETH,BAT-BNB,BCPT-BTC,BCPT-ETH,BCPT-BNB,ARN-BTC,ARN-ETH,GVT-BTC,GVT-ETH,CDT-BTC,CDT-ETH,GXS-BTC,GXS-ETH,NEO-USDT,NEO-BNB,POE-BTC,POE-ETH,QSP-BTC,QSP-ETH,QSP-BNB,BTS-BTC,BTS-ETH,BTS-BNB,XZC-BTC,XZC-ETH,XZC-BNB,LSK-BTC,LSK-ETH,LSK-BNB,TNT-BTC,TNT-ETH,FUEL-BTC,FUEL-ETH,MANA-BTC,MANA-ETH,BCD-BTC,BCD-ETH,DGD-BTC,DGD-ETH,IOTA-BNB,ADX-BTC,ADX-ETH,ADX-BNB,ADA-BTC,ADA-ETH,PPT-BTC,PPT-ETH,CMT-BTC,CMT-ETH,CMT-BNB,XLM-BTC,XLM-ETH,XLM-BNB,CND-BTC,CND-ETH,CND-BNB,LEND-BTC,LEND-ETH,WABI-BTC,WABI-ETH,WABI-BNB,LTC-ETH,LTC-USDT,LTC-BNB,TNB-BTC,TNB-ETH,WAVES-BTC,WAVES-ETH,WAVES-BNB,GTO-BTC,GTO-ETH,GTO-BNB,ICX-BTC,ICX-ETH,ICX-BNB,OST-BTC,OST-ETH,OST-BNB,ELF-BTC,ELF-ETH,AION-BTC,AION-ETH,AION-BNB,NEBL-BTC,NEBL-ETH,NEBL-BNB,BRD-BTC,BRD-ETH,BRD-BNB,MCO-BNB,EDO-BTC,EDO-ETH,WINGS-BTC,WINGS-ETH,NAV-BTC,NAV-ETH,NAV-BNB,LUN-BTC,LUN-ETH,TRIG-BTC,TRIG-ETH,TRIG-BNB,APPC-BTC,APPC-ETH,APPC-BNB,VIBE-BTC,VIBE-ETH,RLC-BTC,RLC-ETH,RLC-BNB,INS-BTC,INS-ETH,PIVX-BTC,PIVX-ETH,PIVX-BNB,IOST-BTC,IOST-ETH,CHAT-BTC,CHAT-ETH,STEEM-BTC,STEEM-ETH,STEEM-BNB,NANO-BTC,NANO-ETH,NANO-BNB,VIA-BTC,VIA-ETH,VIA-BNB,BLZ-BTC,BLZ-ETH,BLZ-BNB,AE-BTC,AE-ETH,AE-BNB,RPX-BTC,RPX-ETH,RPX-BNB,NCASH-BTC,NCASH-ETH,NCASH-BNB,POA-BTC,POA-ETH,POA-BNB,ZIL-BTC,ZIL-ETH,ZIL-BNB,ONT-BTC,ONT-ETH,ONT-BNB,STORM-BTC,STORM-ETH,STORM-BNB,QTUM-BNB,QTUM-USDT,XEM-BTC,XEM-ETH,XEM-BNB,WAN-BTC,WAN-ETH,WAN-BNB,QLC-BTC,QLC-ETH", "EnabledPairs": "BTC-USDT", "BaseCurrencies": "USD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true, "Delimiter": "-" @@ -116,6 +119,7 @@ "EnabledPairs": "BTCUSD,LTCUSD,LTCBTC,ETHUSD,ETHBTC", "BaseCurrencies": "USD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -137,6 +141,8 @@ "EnabledPairs": "BTC_JPY,ETH_BTC,BCH_BTC", "BaseCurrencies": "JPY", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": false, + "PairsLastUpdated": 1522112372, "ConfigCurrencyPairFormat": { "Uppercase": true, "Delimiter": "_" @@ -161,6 +167,8 @@ "EnabledPairs": "BTCKRW,ETHKRW,DASHKRW,LTCKRW,ETCKRW,XRPKRW,BCHKRW,XMRKRW,ZECKRW,QTUMKRW,BTGKRW,EOSKRW", "BaseCurrencies": "KRW", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": false, + "PairsLastUpdated": 1522112372, "ConfigCurrencyPairFormat": { "Uppercase": true, "Index": "KRW" @@ -180,10 +188,11 @@ "APIKey": "Key", "APISecret": "Secret", "ClientID": "ClientID", - "AvailablePairs": "BTCUSD,BTCEUR,EURUSD,XRPUSD,XRPEUR", + "AvailablePairs": "LTCUSD,ETHUSD,XRPEUR,BCHUSD,BCHEUR,BTCEUR,XRPBTC,EURUSD,BCHBTC,LTCEUR,BTCUSD,LTCBTC,XRPUSD,ETHBTC,ETHEUR", "EnabledPairs": "BTCUSD,BTCEUR,EURUSD,XRPUSD,XRPEUR", "BaseCurrencies": "USD,EUR", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -201,10 +210,11 @@ "AuthenticatedAPISupport": false, "APIKey": "Key", "APISecret": "Secret", - "AvailablePairs": "BTC-LTC,BTC-DOGE,BTC-VTC,BTC-PPC,BTC-FTC,BTC-RDD,BTC-NXT,BTC-DASH,BTC-POT,BTC-BLK,BTC-EMC2,BTC-XMY,BTC-AUR,BTC-EFL,BTC-GLD,BTC-SLR,BTC-PTC,BTC-GRS,BTC-NLG,BTC-RBY,BTC-XWC,BTC-MONA,BTC-THC,BTC-ENRG,BTC-ERC,BTC-VRC,BTC-CURE,BTC-XMR,BTC-CLOAK,BTC-START,BTC-KORE,BTC-XDN,BTC-TRUST,BTC-NAV,BTC-XST,BTC-VIA,BTC-PINK,BTC-IOC,BTC-CANN,BTC-SYS,BTC-NEOS,BTC-DGB,BTC-BURST,BTC-EXCL,BTC-SWIFT,BTC-DOPE,BTC-BLOCK,BTC-ABY,BTC-BYC,BTC-XMG,BTC-BLITZ,BTC-BAY,BTC-FAIR,BTC-SPR,BTC-VTR,BTC-XRP,BTC-GAME,BTC-COVAL,BTC-NXS,BTC-XCP,BTC-BITB,BTC-GEO,BTC-FLDC,BTC-GRC,BTC-FLO,BTC-NBT,BTC-MUE,BTC-XEM,BTC-CLAM,BTC-DMD,BTC-GAM,BTC-SPHR,BTC-OK,BTC-SNRG,BTC-PKB,BTC-CPC,BTC-AEON,BTC-ETH,BTC-GCR,BTC-TX,BTC-BCY,BTC-EXP,BTC-INFX,BTC-OMNI,BTC-AMP,BTC-AGRS,BTC-XLM,USDT-BTC,BTC-CLUB,BTC-VOX,BTC-EMC,BTC-FCT,BTC-MAID,BTC-EGC,BTC-SLS,BTC-RADS,BTC-DCR,BTC-BSD,BTC-XVG,BTC-PIVX,BTC-XVC,BTC-MEME,BTC-STEEM,BTC-2GIVE,BTC-LSK,BTC-PDC,BTC-BRK,BTC-WAVES,BTC-LBC,BTC-SBD,BTC-BRX,BTC-ETC,ETH-ETC,BTC-STRAT,BTC-UNB,BTC-SYNX,BTC-EBST,BTC-VRM,BTC-SEQ,BTC-REP,BTC-SHIFT,BTC-ARDR,BTC-XZC,BTC-NEO,BTC-ZEC,BTC-ZCL,BTC-IOP,BTC-GOLOS,BTC-UBQ,BTC-KMD,BTC-GBG,BTC-SIB,BTC-ION,BTC-LMC,BTC-QWARK,BTC-CRW,BTC-SWT,BTC-MLN,BTC-ARK,BTC-DYN,BTC-TKS,BTC-MUSIC,BTC-DTB,BTC-INCNT,BTC-GBYTE,BTC-GNT,BTC-NXC,BTC-EDG,BTC-LGD,BTC-TRST,ETH-GNT,ETH-REP,USDT-ETH,ETH-WINGS,BTC-WINGS,BTC-RLC,BTC-GNO,BTC-GUP,BTC-LUN,ETH-GUP,ETH-RLC,ETH-LUN,ETH-GNO,BTC-HMQ,ETH-HMQ,BTC-ANT,ETH-TRST,ETH-ANT,BTC-SC,ETH-BAT,BTC-BAT,BTC-ZEN,BTC-1ST,BTC-QRL,ETH-1ST,ETH-QRL,BTC-CRB,ETH-CRB,ETH-LGD,BTC-PTOY,ETH-PTOY,BTC-CFI,ETH-CFI,BTC-BNT,ETH-BNT,BTC-NMR,ETH-NMR,ETH-LTC,ETH-XRP,BTC-SNT,ETH-SNT,BTC-DCT,BTC-XEL,BTC-MCO,ETH-MCO,BTC-ADT,ETH-ADT,BTC-PAY,ETH-PAY,BTC-STORJ,ETH-STORJ,BTC-ADX,ETH-ADX,ETH-DASH,ETH-SC,ETH-ZEC,USDT-ZEC,USDT-LTC,USDT-ETC,USDT-XRP,BTC-OMG,ETH-OMG,BTC-CVC,ETH-CVC,BTC-PART,BTC-QTUM,ETH-QTUM,ETH-XMR,ETH-XEM,ETH-XLM,ETH-NEO,USDT-XMR,USDT-DASH,ETH-BCC,USDT-BCC,BTC-BCC,BTC-DNT,ETH-DNT,USDT-NEO,ETH-WAVES,ETH-STRAT,ETH-DGB,ETH-FCT,USDT-OMG,BTC-ADA,BTC-MANA,ETH-MANA,BTC-SALT,ETH-SALT,BTC-TIX,ETH-TIX,BTC-RCN,ETH-RCN,BTC-VIB,ETH-VIB,BTC-MER,BTC-POWR,ETH-POWR,BTC-BTG,ETH-BTG,USDT-BTG,ETH-ADA,BTC-ENG,ETH-ENG,USDT-ADA,USDT-XVG,USDT-NXT,BTC-UKG,ETH-UKG,BTC-IGNIS", + "AvailablePairs": "BTC-LTC,BTC-DOGE,BTC-VTC,BTC-PPC,BTC-FTC,BTC-RDD,BTC-NXT,BTC-DASH,BTC-POT,BTC-BLK,BTC-EMC2,BTC-XMY,BTC-AUR,BTC-EFL,BTC-GLD,BTC-SLR,BTC-PTC,BTC-GRS,BTC-NLG,BTC-RBY,BTC-XWC,BTC-MONA,BTC-THC,BTC-ENRG,BTC-ERC,BTC-VRC,BTC-CURE,BTC-XMR,BTC-CLOAK,BTC-START,BTC-KORE,BTC-XDN,BTC-TRUST,BTC-NAV,BTC-XST,BTC-VIA,BTC-PINK,BTC-IOC,BTC-CANN,BTC-SYS,BTC-NEOS,BTC-DGB,BTC-BURST,BTC-EXCL,BTC-SWIFT,BTC-DOPE,BTC-BLOCK,BTC-ABY,BTC-BYC,BTC-XMG,BTC-BLITZ,BTC-BAY,BTC-FAIR,BTC-SPR,BTC-VTR,BTC-XRP,BTC-GAME,BTC-COVAL,BTC-NXS,BTC-XCP,BTC-BITB,BTC-GEO,BTC-FLDC,BTC-GRC,BTC-FLO,BTC-NBT,BTC-MUE,BTC-XEM,BTC-CLAM,BTC-DMD,BTC-GAM,BTC-SPHR,BTC-OK,BTC-SNRG,BTC-PKB,BTC-AEON,BTC-ETH,BTC-TX,BTC-BCY,BTC-EXP,BTC-OMNI,BTC-AMP,BTC-XLM,USDT-BTC,BTC-RVR,BTC-EMC,BTC-FCT,BTC-EGC,BTC-SLS,BTC-RADS,BTC-DCR,BTC-BSD,BTC-XVG,BTC-PIVX,BTC-MEME,BTC-STEEM,BTC-2GIVE,BTC-LSK,BTC-BRK,BTC-WAVES,BTC-LBC,BTC-SBD,BTC-BRX,BTC-ETC,ETH-ETC,BTC-STRAT,BTC-UNB,BTC-SYNX,BTC-EBST,BTC-VRM,BTC-SEQ,BTC-REP,BTC-SHIFT,BTC-ARDR,BTC-XZC,BTC-NEO,BTC-ZEC,BTC-ZCL,BTC-IOP,BTC-GOLOS,BTC-UBQ,BTC-KMD,BTC-GBG,BTC-SIB,BTC-ION,BTC-LMC,BTC-QWARK,BTC-CRW,BTC-SWT,BTC-MLN,BTC-ARK,BTC-DYN,BTC-TKS,BTC-MUSIC,BTC-DTB,BTC-INCNT,BTC-GBYTE,BTC-GNT,BTC-NXC,BTC-EDG,BTC-LGD,BTC-TRST,ETH-GNT,ETH-REP,USDT-ETH,ETH-WINGS,BTC-WINGS,BTC-RLC,BTC-GNO,BTC-GUP,BTC-LUN,ETH-GUP,ETH-RLC,ETH-LUN,ETH-GNO,BTC-HMQ,ETH-HMQ,BTC-ANT,ETH-TRST,ETH-ANT,BTC-SC,ETH-BAT,BTC-BAT,BTC-ZEN,BTC-QRL,ETH-QRL,BTC-CRB,ETH-CRB,ETH-LGD,BTC-PTOY,ETH-PTOY,BTC-CFI,ETH-CFI,BTC-BNT,ETH-BNT,BTC-NMR,ETH-NMR,ETH-LTC,ETH-XRP,BTC-SNT,ETH-SNT,BTC-DCT,BTC-XEL,BTC-MCO,ETH-MCO,BTC-ADT,ETH-ADT,BTC-PAY,ETH-PAY,BTC-STORJ,ETH-STORJ,BTC-ADX,ETH-ADX,ETH-DASH,ETH-SC,ETH-ZEC,USDT-ZEC,USDT-LTC,USDT-ETC,USDT-XRP,BTC-OMG,ETH-OMG,BTC-CVC,ETH-CVC,BTC-PART,BTC-QTUM,ETH-QTUM,ETH-XMR,ETH-XEM,ETH-XLM,ETH-NEO,USDT-XMR,USDT-DASH,ETH-BCC,USDT-BCC,BTC-BCC,BTC-DNT,ETH-DNT,USDT-NEO,ETH-WAVES,ETH-STRAT,ETH-DGB,ETH-FCT,USDT-OMG,BTC-ADA,BTC-MANA,ETH-MANA,BTC-SALT,ETH-SALT,BTC-TIX,ETH-TIX,BTC-RCN,ETH-RCN,BTC-VIB,ETH-VIB,BTC-MER,BTC-POWR,ETH-POWR,BTC-BTG,ETH-BTG,USDT-BTG,ETH-ADA,BTC-ENG,ETH-ENG,USDT-ADA,USDT-XVG,USDT-NXT,BTC-UKG,ETH-UKG,BTC-IGNIS,BTC-SRN,ETH-SRN,BTC-WAX,ETH-WAX,BTC-ZRX,ETH-ZRX,BTC-VEE,ETH-VEE,BTC-BCPT,ETH-BCPT,BTC-TRX,ETH-TRX,BTC-TUSD,BTC-LRC,ETH-LRC,ETH-TUSD,BTC-UP,ETH-UP", "EnabledPairs": "USDT-BTC", "BaseCurrencies": "USD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true, "Delimiter": "-" @@ -228,6 +238,7 @@ "EnabledPairs": "BTCUSD", "BaseCurrencies": "USD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -249,6 +260,8 @@ "EnabledPairs": "BTCUSD,BTCRUR,BTCEUR,LTCBTC,LTCUSD,LTCRUR,LTCEUR,NMCBTC,NMCUSD,NVCBTC,NVCUSD,USDRUR,EURUSD,EURRUR,PPCBTC,PPCUSD", "BaseCurrencies": "USD,RUR,EUR", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": false, + "PairsLastUpdated": 1522112372, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -272,6 +285,7 @@ "EnabledPairs": "LTCAUD,BTCAUD", "BaseCurrencies": "AUD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -290,10 +304,11 @@ "APIKey": "Key", "APISecret": "Secret", "ClientID": "ClientID", - "AvailablePairs": "USDTUSD,ETCBTC,ETCUSDT,ETHLTC,LTCUSD,LTCBTC,LTCUSDT,BTCUSDT,ETCLTC,ETHBTC,ETHUSDT", + "AvailablePairs": "ETCUSDT,ETHLTC,LTCUSDT,USDTUSD,XMRBTC,BTCSGD,ETCBTC,ETCLTC,LTCBTC,XMRLTC,XMRUSDT,BTCUSD,BTCUSDT,ETHBTC,USDTSGD,ETHUSDT,LTCSGD,LTCUSD", "EnabledPairs": "LTCBTC,ETCBTC,ETHBTC", "BaseCurrencies": "USD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -315,6 +330,7 @@ "EnabledPairs": "BTC_USD,LTC_USD", "BaseCurrencies": "USD,EUR,RUB,PLN,UAH", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true, "Delimiter": "_" @@ -340,6 +356,7 @@ "EnabledPairs": "BTCUSD,BTCGBP,BTCEUR", "BaseCurrencies": "USD,GBP,EUR", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -362,6 +379,7 @@ "EnabledPairs": "BTCUSD", "BaseCurrencies": "USD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -379,10 +397,11 @@ "AuthenticatedAPISupport": false, "APIKey": "Key", "APISecret": "Secret", - "AvailablePairs": "BCN-BTC,BTC-USD,DASH-BTC,DOGE-BTC,DOGE-USD,DSH-BTC,EMC-BTC,ETH-BTC,FCN-BTC,LSK-BTC,LTC-BTC,LTC-USD,NXT-BTC,QCN-BTC,SBD-BTC,SC-BTC,STEEM-BTC,XDN-BTC,XEM-BTC,XMR-BTC,ARDR-BTC,ZEC-BTC,WAVES-BTC,MAID-BTC,AMP-BTC,BUS-BTC,DGD-BTC,ICN-BTC,SNGLS-BTC,1ST-BTC,TRST-BTC,TIME-BTC,GNO-BTC,REP-BTC,XMR-USD,DASH-USD,ETH-USD,NXT-USD,ZRC-BTC,BOS-BTC,DCT-BTC,ANT-BTC,AEON-BTC,GUP-BTC,PLU-BTC,LUN-BTC,TAAS-BTC,NXC-BTC,EDG-BTC,RLC-BTC,SWT-BTC,TKN-BTC,WINGS-BTC,XAUR-BTC,AE-BTC,PTOY-BTC,ZEC-USD,XEM-USD,BCN-USD,XDN-USD,MAID-USD,ETC-BTC,ETC-USD,CFI-BTC,PLBT-BTC,BNT-BTC,XDNCO-BTC,FYN-ETH,SNM-ETH,SNT-ETH,CVC-USD,PAY-ETH,OAX-ETH,OMG-ETH,BQX-ETH,XTZ-BTC,DICE-BTC,CFI-ETH,PTOY-ETH,1ST-ETH,XAUR-ETH,TAAS-ETH,TIME-ETH,DICE-ETH,SWT-ETH,XMR-ETH,ETC-ETH,DASH-ETH,ZEC-ETH,PLU-ETH,GNO-ETH,XRP-BTC,NET-ETH,STRAT-USD,STRAT-BTC,SNC-ETH,ADX-ETH,BET-ETH,EOS-ETH,DENT-ETH,SAN-ETH,EOS-BTC,EOS-USD,MNE-BTC,MSP-ETH,DDF-ETH,XTZ-ETH,XTZ-USD,UET-ETH,MYB-ETH,SUR-ETH,IXT-ETH,PLR-ETH,TIX-ETH,NDC-ETH,PRO-ETH,AVT-ETH,COSS-ETH,EVX-USD,DLT-BTC,BNT-ETH,BNT-USD,QAU-BTC,QAU-ETH,MANA-USD,DNT-BTC,FYP-BTC,OPT-BTC,TNT-ETH,STX-BTC,STX-ETH,STX-USD,TNT-USD,TNT-BTC,CAT-BTC,CAT-ETH,CAT-USD,BCH-BTC,BCH-ETH,BCH-USD,ENG-ETH,XUC-USD,SNC-BTC,SNC-USD,OAX-USD,OAX-BTC,BAS-ETH,ZRX-BTC,ZRX-ETH,ZRX-USD,RVT-BTC,ICOS-BTC,ICOS-ETH,ICOS-USD,PPC-BTC,PPC-USD,QTUM-ETH,VERI-BTC,VERI-ETH,VERI-USD,IGNIS-ETH,PRG-BTC,PRG-ETH,PRG-USD,BMC-BTC,BMC-ETH,BMC-USD,CND-BTC,CND-ETH,CND-USD,SKIN-BTC,EMGO-BTC,EMGO-USD,CDT-ETH,CDT-USD,FUN-BTC,FUN-ETH,FUN-USD,HVN-BTC,HVN-ETH,FUEL-BTC,FUEL-ETH,FUEL-USD,POE-BTC,POE-ETH,MCAP-BTC,AIR-BTC,AIR-ETH,AIR-USD,NTO-BTC,ICO-BTC,PING-BTC,RKC-ETH,GAME-BTC,TKR-ETH,HPC-BTC,PPT-ETH,MTH-BTC,MTH-ETH,WMGO-BTC,WMGO-USD,LRC-BTC,LRC-ETH,ICX-BTC,ICX-ETH,NEO-BTC,NEO-ETH,NEO-USD,CSNO-BTC,ORME-BTC,ICX-USD,PIX-BTC,PIX-ETH,IND-ETH,KICK-BTC,YOYOW-BTC,MIPS-BTC,CDT-BTC,XVG-BTC,XVG-ETH,XVG-USD,DGB-BTC,DGB-ETH,DGB-USD,DCN-ETH,DCN-USD,LAT-BTC,CCT-ETH,EBET-ETH,VIBE-BTC,VOISE-BTC,ENJ-BTC,ENJ-ETH,ENJ-USD,ZSC-BTC,ZSC-ETH,ZSC-USD,ETBS-BTC,TRX-BTC,TRX-ETH,TRX-USD,VEN-BTC,VEN-ETH,VEN-USD,ART-BTC,EVX-BTC,EVX-ETH,QVT-ETH,EBTCOLD-BTC,EBTCOLD-ETH,EBTCOLD-USD,BKB-BTC,EXN-BTC,TGT-BTC,ATS-ETH,UGT-BTC,UGT-ETH,UGT-USD,CTR-BTC,CTR-ETH,CTR-USD,BMT-BTC,BMT-ETH,SUB-BTC,SUB-ETH,SUB-USD,WTC-BTC,CNX-BTC,ATB-BTC,ATB-ETH,ATB-USD,ODN-BTC,BTM-BTC,BTM-ETH,BTM-USD,B2X-BTC,B2X-ETH,B2X-USD,ATM-BTC,ATM-ETH,ATM-USD,LIFE-BTC,VIB-BTC,VIB-ETH,VIB-USD,DRT-ETH,STU-USD,HDG-ETH,OMG-BTC,PAY-BTC,COSS-BTC,PPT-BTC,SNT-BTC,BTG-BTC,BTG-ETH,BTG-USD,SMART-BTC,SMART-ETH,SMART-USD,XUC-ETH,XUC-BTC,CL-BTC,CL-ETH,CL-USD,LA-ETH,CLD-BTC,CLD-ETH,CLD-USD,ELM-BTC,EDO-BTC,EDO-ETH,EDO-USD,HGT-ETH,POLL-BTC,IXT-BTC,ATS-BTC,SCL-BTC,ATL-BTC,EBTC-BTC,EBTC-ETH,EBTC-USD,ETP-BTC,ETP-ETH,ETP-USD,OTX-BTC,CDX-ETH,DRPU-BTC,NEBL-BTC,NEBL-ETH,HAC-BTC,CTX-BTC,CTX-ETH,ELE-BTC,ARN-BTC,ARN-ETH,SISA-BTC,SISA-ETH,STU-BTC,STU-ETH,GVT-ETH,INDI-BTC,BTX-BTC,BTX-USD,LTC-ETH,BCN-ETH,MAID-ETH,NXT-ETH,STRAT-ETH,XDN-ETH,XEM-ETH,PLR-BTC,SUR-BTC,BQX-BTC,DOGE-ETH,ITS-BTC,AMM-BTC,AMM-ETH,AMM-USD,DBIX-BTC,PRE-BTC,KBR-BTC,TBT-BTC,ERO-BTC,SMS-BTC,SMS-ETH,SMS-USD,ZAP-BTC,DOV-BTC,DOV-ETH,FRD-BTC,DRPU-ETH,OTN-BTC,XRP-ETH,XRP-USD,HSR-BTC,LEND-BTC,LEND-ETH,SPF-ETH,SBTC-BTC,SBTC-ETH,BTCA-BTC,BTCA-ETH,BTCA-USD,WRC-BTC,WRC-ETH,WRC-USD,LOC-BTC,LOC-ETH,LOC-USD,SWFTC-BTC,SWFTC-ETH,SWFTC-USD,STAR-ETH,SBTC-USD,STORM-BTC,DIM-ETH,DIM-USD,DIM-BTC,NGC-BTC,NGC-ETH,NGC-USD,EMC-ETH,EMC-USD,MCO-BTC,MCO-ETH,MCO-USD,MANA-ETH,MANA-BTC,ECH-BTC,CPAY-ETH,DATA-BTC,DATA-ETH,DATA-USD,UTT-BTC,UTT-ETH,UTT-USD,KMD-BTC,KMD-ETH,KMD-USD,QTUM-USD,QTUM-BTC,SNT-USD,OMG-USD,EKO-BTC,EKO-ETH,ADX-BTC,ADX-USD,LSK-ETH,LSK-USD,PLR-USD,SUR-USD,BQX-USD,DRT-USD,REP-ETH,REP-USD,TIO-BTC,TIO-ETH,TIO-USD,WAX-BTC,WAX-ETH,WAX-USD,ULTC-BTC,EET-BTC,EET-ETH,EET-USD,C20-BTC,C20-ETH,IDH-BTC,IDH-ETH,IPL-BTC,COV-BTC,COV-ETH,SMT-BTC,SMT-ETH,SMT-USD,W3C-BTC,W3C-ETH,CAS-BTC,CAS-ETH,CAS-USD,CHAT-BTC,CHAT-ETH,CHAT-USD,GRMD-BTC,AVH-BTC,TRAC-ETH,UTK-BTC,UTK-ETH,UTK-USD,CHSB-BTC,CHSB-ETH,AVH-USD,AVH-ETH,GNX-ETH,CLOUT-BTC,CLOUT-ETH,CLOUT-USD,JNT-ETH,NEU-BTC,NEU-ETH,NEU-USD,EKO-USD,TAU-BTC,MEK-BTC,BAR-BTC,BAR-ETH,BAR-USD,FLP-BTC,FLP-ETH,FLP-USD,SENT-ETH,SENT-BTC,SENT-USD", + "AvailablePairs": "BCN-BTC,BTC-USD,DASH-BTC,DOGE-BTC,DOGE-USD,DSH-BTC,EMC-BTC,ETH-BTC,FCN-BTC,LSK-BTC,LTC-BTC,LTC-USD,NXT-BTC,QCN-BTC,SBD-BTC,SC-BTC,STEEM-BTC,XDN-BTC,XEM-BTC,XMR-BTC,ARDR-BTC,ZEC-BTC,WAVES-BTC,MAID-BTC,AMP-BTC,BUS-BTC,DGD-BTC,ICN-BTC,SNGLS-BTC,1ST-BTC,TRST-BTC,TIME-BTC,GNO-BTC,REP-BTC,XMR-USD,DASH-USD,ETH-USD,NXT-USD,ZRC-BTC,BOS-BTC,DCT-BTC,ANT-BTC,AEON-BTC,GUP-BTC,PLU-BTC,LUN-BTC,TAAS-BTC,NXC-BTC,EDG-BTC,RLC-BTC,SWT-BTC,TKN-BTC,WINGS-BTC,XAUR-BTC,AE-BTC,PTOY-BTC,ZEC-USD,XEM-USD,BCN-USD,XDN-USD,MAID-USD,ETC-BTC,ETC-USD,CFI-BTC,PLBT-BTC,BNT-BTC,XDNCO-BTC,FYN-ETH,SNM-BTC,SNM-ETH,SNT-ETH,CVC-USD,PAY-ETH,OAX-ETH,OMG-ETH,BQX-ETH,XTZ-BTC,DICE-BTC,CFI-ETH,PTOY-ETH,1ST-ETH,XAUR-ETH,TAAS-ETH,TIME-ETH,DICE-ETH,SWT-ETH,XMR-ETH,ETC-ETH,DASH-ETH,ZEC-ETH,PLU-ETH,GNO-ETH,XRP-BTC,NET-ETH,STRAT-USD,STRAT-BTC,SNC-ETH,ADX-ETH,BET-ETH,EOS-ETH,DENT-ETH,SAN-ETH,EOS-BTC,EOS-USD,MNE-BTC,MSP-ETH,DDF-ETH,XTZ-ETH,XTZ-USD,UET-ETH,MYB-ETH,SUR-ETH,IXT-ETH,PLR-ETH,TIX-ETH,NDC-ETH,PRO-ETH,AVT-ETH,COSS-ETH,EVX-USD,DLT-BTC,BNT-ETH,BNT-USD,QAU-BTC,QAU-ETH,MANA-USD,DNT-BTC,FYP-BTC,OPT-BTC,TNT-ETH,IFT-BTC,STX-BTC,STX-ETH,STX-USD,TNT-USD,TNT-BTC,CAT-BTC,CAT-ETH,CAT-USD,BCH-BTC,BCH-ETH,BCH-USD,ENG-ETH,XUC-USD,SNC-BTC,SNC-USD,OAX-USD,OAX-BTC,BAS-ETH,ZRX-BTC,ZRX-ETH,ZRX-USD,RVT-BTC,ICOS-BTC,ICOS-ETH,ICOS-USD,PPC-BTC,PPC-USD,QTUM-ETH,VERI-BTC,VERI-ETH,VERI-USD,IGNIS-ETH,PRG-BTC,PRG-ETH,PRG-USD,BMC-BTC,BMC-ETH,BMC-USD,CND-BTC,CND-ETH,CND-USD,SKIN-BTC,EMGO-BTC,EMGO-USD,CDT-ETH,CDT-USD,FUN-BTC,FUN-ETH,FUN-USD,HVN-BTC,HVN-ETH,FUEL-BTC,FUEL-ETH,FUEL-USD,POE-BTC,POE-ETH,MCAP-BTC,AIR-BTC,AIR-ETH,AIR-USD,AMB-USD,AMB-ETH,AMB-BTC,NTO-BTC,ICO-BTC,PING-BTC,RKC-ETH,GAME-BTC,TKR-ETH,HPC-BTC,PPT-ETH,MTH-BTC,MTH-ETH,WMGO-BTC,WMGO-USD,LRC-BTC,LRC-ETH,ICX-BTC,ICX-ETH,NEO-BTC,NEO-ETH,NEO-USD,CSNO-BTC,ORME-BTC,ICX-USD,PIX-BTC,PIX-ETH,IND-ETH,KICK-BTC,YOYOW-BTC,MIPS-BTC,CDT-BTC,XVG-BTC,XVG-ETH,XVG-USD,DGB-BTC,DGB-ETH,DGB-USD,DCN-BTC,DCN-ETH,DCN-USD,LAT-BTC,CCT-ETH,EBET-ETH,VIBE-BTC,VOISE-BTC,ENJ-BTC,ENJ-ETH,ENJ-USD,ZSC-BTC,ZSC-ETH,ZSC-USD,ETBS-BTC,TRX-BTC,TRX-ETH,TRX-USD,VEN-BTC,VEN-ETH,VEN-USD,ART-BTC,EVX-BTC,EVX-ETH,QVT-ETH,EBTCOLD-BTC,EBTCOLD-ETH,EBTCOLD-USD,BKB-BTC,EXN-BTC,TGT-BTC,ATS-ETH,CTR-BTC,CTR-ETH,CTR-USD,BMT-BTC,BMT-ETH,SUB-BTC,SUB-ETH,SUB-USD,WTC-BTC,CNX-BTC,ATB-BTC,ATB-ETH,ATB-USD,ODN-BTC,BTM-BTC,BTM-ETH,BTM-USD,B2X-BTC,B2X-ETH,B2X-USD,ATM-BTC,ATM-ETH,ATM-USD,LIFE-BTC,VIB-BTC,VIB-ETH,VIB-USD,DRT-ETH,STU-USD,OMG-BTC,PAY-BTC,COSS-BTC,PPT-BTC,SNT-BTC,BTG-BTC,BTG-ETH,BTG-USD,SMART-BTC,SMART-ETH,SMART-USD,XUC-ETH,XUC-BTC,CL-BTC,CL-ETH,CL-USD,LA-ETH,CLD-BTC,CLD-ETH,CLD-USD,ELM-BTC,EDO-BTC,EDO-ETH,EDO-USD,HGT-ETH,POLL-BTC,IXT-BTC,ATS-BTC,SCL-BTC,ATL-BTC,EBTC-BTC,EBTC-ETH,EBTC-USD,ETP-BTC,ETP-ETH,ETP-USD,OTX-BTC,CDX-ETH,DRPU-BTC,NEBL-BTC,NEBL-ETH,HAC-BTC,CTX-BTC,CTX-ETH,ELE-BTC,ARN-BTC,ARN-ETH,SISA-BTC,SISA-ETH,STU-BTC,STU-ETH,GVT-ETH,INDI-BTC,BTX-BTC,BTX-USD,LTC-ETH,BCN-ETH,MAID-ETH,NXT-ETH,STRAT-ETH,XDN-ETH,XEM-ETH,PLR-BTC,SUR-BTC,BQX-BTC,DOGE-ETH,ITS-BTC,AMM-BTC,AMM-ETH,AMM-USD,DBIX-BTC,PRE-BTC,KBR-BTC,TBT-BTC,ERO-BTC,SMS-BTC,SMS-ETH,SMS-USD,ZAP-BTC,DOV-BTC,DOV-ETH,FRD-BTC,DRPU-ETH,OTN-BTC,XRP-ETH,XRP-USD,HSR-BTC,LEND-BTC,LEND-ETH,SPF-ETH,SBTC-BTC,SBTC-ETH,BTCA-BTC,BTCA-ETH,BTCA-USD,WRC-BTC,WRC-ETH,WRC-USD,LOC-BTC,LOC-ETH,LOC-USD,SWFTC-BTC,SWFTC-ETH,SWFTC-USD,STAR-ETH,SBTC-USD,STORM-BTC,DIM-ETH,DIM-USD,DIM-BTC,NGC-BTC,NGC-ETH,NGC-USD,EMC-ETH,EMC-USD,MCO-BTC,MCO-ETH,MCO-USD,MANA-ETH,MANA-BTC,ECH-BTC,CPAY-ETH,DATA-BTC,DATA-ETH,DATA-USD,UTT-BTC,UTT-ETH,UTT-USD,KMD-BTC,KMD-ETH,KMD-USD,QTUM-USD,QTUM-BTC,SNT-USD,OMG-USD,EKO-BTC,EKO-ETH,ADX-BTC,ADX-USD,LSK-ETH,LSK-USD,PLR-USD,SUR-USD,BQX-USD,DRT-USD,REP-ETH,REP-USD,TIO-BTC,TIO-ETH,TIO-USD,WAX-BTC,WAX-ETH,WAX-USD,ULTC-BTC,EET-BTC,EET-ETH,EET-USD,C20-BTC,C20-ETH,IDH-BTC,IDH-ETH,IPL-BTC,COV-BTC,COV-ETH,SENT-BTC,SENT-ETH,SENT-USD,SMT-BTC,SMT-ETH,SMT-USD,CVH-ETH,CVH-USD,W3C-BTC,W3C-ETH,CAS-BTC,CAS-ETH,CAS-USD,CHAT-BTC,CHAT-ETH,CHAT-USD,GRMD-BTC,AVH-BTC,TRAC-ETH,JNT-ETH,PCL-BTC,PCL-ETH,CLOUT-BTC,UTK-BTC,UTK-ETH,UTK-USD,GNX-ETH,CHSB-BTC,CHSB-ETH,AVH-ETH,NEU-BTC,NEU-ETH,NEU-USD,AVH-USD,CLOUT-ETH,CLOUT-USD,TAU-BTC,MEK-BTC,BAR-BTC,BAR-ETH,BAR-USD,FLP-BTC,FLP-ETH,FLP-USD,R-BTC,R-ETH,EKO-USD,BCPT-ETH,BCPT-USD,PKT-BTC,PKT-ETH,WLK-BTC,WLK-ETH,WLK-USD,EVN-BTC,CPG-BTC,CPG-ETH,BPTN-BTC,BPTN-ETH,BPTN-USD,BETR-BTC,BETR-ETH,ARCT-BTC,ARCT-USD,DBET-BTC,DBET-ETH,DBET-USD,RNTB-ETH,HAND-ETH,HAND-USD,BEZ-BTC,BEZ-ETH,BEZ-USD,ACO-ETH,CTE-BTC,CTE-ETH,CTE-USD,UTNP-BTC,UTNP-ETH,UTNP-USD,CPY-BTC,CPY-ETH,CHP-ETH,BCPT-BTC,ACT-BTC,ACT-ETH,ACT-USD,HIRE-ETH,ADA-BTC,ADA-ETH,ADA-USD,SIG-BTC,RPM-BTC,RPM-ETH,MTX-BTC,MTX-ETH,MTX-USD,BGG-BTC,BGG-ETH,BGG-USD,SETH-ETH,WIZ-BTC,WIZ-ETH,WIZ-USD,DADI-BTC,DADI-ETH,BDG-ETH,DATX-BTC,DATX-ETH,TRUE-BTC,DRG-BTC,DRG-ETH,BANCA-BTC,BANCA-ETH,ZAP-ETH,ZAP-USD,AUTO-BTC,NOAH-BTC,SOC-BTC,WILD-BTC,INSUR-BTC,INSUR-ETH,OCN-BTC,OCN-ETH,STQ-BTC,STQ-ETH,XLM-BTC,XLM-ETH,XLM-USD,IOTA-BTC,IOTA-ETH,IOTA-USD,DRT-BTC,BETR-USD,CGC-ETH,ERT-BTC,MESH-BTC,MESH-ETH,MESH-USD,CRPT-BTC,CRPT-USD,HLW-ETH,IHT-BTC,IHT-ETH,IHT-USD,SCC-BTC,YCC-BTC", "EnabledPairs": "BTC-USD", "BaseCurrencies": "USD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true, "Delimiter": "-" @@ -401,10 +420,11 @@ "AuthenticatedAPISupport": false, "APIKey": "Key", "APISecret": "Secret", - "AvailablePairs": "NAS-ETH,EOS-ETH,SWFTC-BTC,ZEC-USDT,EVX-BTC,MDS-ETH,SMT-ETH,TRX-ETH,THETA-USDT,LUN-ETH,BCH-BTC,TNB-BTC,GNX-ETH,DAT-BTC,CHAT-ETH,QTUM-USDT,LET-BTC,SNT-BTC,WPR-BTC,ELF-ETH,UTK-BTC,SBTC-BTC,NEO-USDT,MCO-BTC,OST-ETH,BT2-BTC,QUN-BTC,HSR-ETH,TOPC-ETH,SALT-ETH,AIDOC-ETH,WAX-BTC,DTA-ETH,BTC-USDT,GAS-ETH,NEO-BTC,SALT-BTC,BTM-BTC,BAT-ETH,EKO-BTC,APPC-BTC,CMT-BTC,QTUM-ETH,REQ-BTC,BTM-ETH,ICX-BTC,OCN-BTC,ZEC-BTC,DGD-ETH,DAT-ETH,STK-ETH,HT-ETH,QUN-ETH,SOC-BTC,ELF-BTC,CMT-ETH,DBC-BTC,STORJ-USDT,WAX-ETH,POWR-BTC,ZIL-USDT,DTA-BTC,SNC-BTC,MEE-BTC,NAS-BTC,TNB-ETH,SWFTC-ETH,EOS-BTC,LINK-ETH,IOST-BTC,HT-USDT,RDN-BTC,LUN-BTC,GNX-BTC,ELA-BTC,LET-ETH,EVX-ETH,ACT-ETH,BCH-USDT,ICX-ETH,BCX-BTC,MTN-ETH,PROPY-ETH,XRP-USDT,THETA-ETH,SNC-ETH,DBC-ETH,SMT-BTC,SRN-ETH,ETH-USDT,ITC-BTC,OMG-BTC,STK-BTC,MDS-BTC,ADX-BTC,ETC-BTC,KNC-BTC,CVC-BTC,QSP-ETH,BTG-BTC,ZLA-ETH,MTX-ETH,RCN-ETH,UTK-ETH,MTL-BTC,GNT-USDT,APPC-ETH,WICC-BTC,YEE-ETH,OMG-USDT,LINK-BTC,XEM-USDT,DASH-BTC,TNT-BTC,QASH-ETH,RUFF-ETH,ELA-ETH,IOST-ETH,THETA-BTC,SNT-USDT,SOC-ETH,EOS-USDT,MANA-BTC,SMT-USDT,XRP-BTC,LTC-USDT,BCD-BTC,CVC-USDT,GNT-ETH,HT-BTC,RCN-BTC,PAY-ETH,CVC-ETH,MEE-ETH,POWR-ETH,PAY-BTC,ADX-ETH,LET-USDT,RUFF-USDT,EKO-ETH,SRN-BTC,OCN-ETH,VEN-ETH,BIFI-BTC,ACT-BTC,ETC-USDT,OST-BTC,IOST-USDT,MCO-ETH,STORJ-BTC,HSR-BTC,VEN-BTC,GNT-BTC,TRX-BTC,DTA-USDT,ZIL-BTC,LSK-BTC,LTC-BTC,YEE-BTC,RUFF-BTC,WPR-ETH,AST-BTC,DASH-USDT,DGD-BTC,ZIL-ETH,ZRX-BTC,ETH-BTC,REQ-ETH,WICC-ETH,LSK-ETH,RPX-BTC,TNT-ETH,MTX-BTC,VEN-USDT,AIDOC-BTC,HSR-USDT,QTUM-BTC,QSP-BTC,BAT-BTC,QASH-BTC,ITC-ETH,XEM-BTC,MANA-ETH,GAS-BTC,MTN-BTC,CHAT-BTC,BT1-BTC,ZLA-BTC,OMG-ETH,TOPC-BTC,PROPY-BTC,RDN-ETH,ELF-USDT", + "AvailablePairs": "NAS-ETH,EOS-ETH,ZEC-USDT,EVX-BTC,MDS-ETH,SMT-ETH,TRX-ETH,THETA-USDT,LUN-ETH,SMT-USDT,BCH-BTC,LET-USDT,GNX-ETH,MTL-BTC,CHAT-ETH,QTUM-USDT,SNT-BTC,WPR-BTC,ELF-ETH,ZIL-BTC,UTK-BTC,SBTC-BTC,TNT-BTC,NEO-USDT,MCO-BTC,OST-ETH,BT2-BTC,HSR-ETH,TOPC-ETH,SALT-ETH,AIDOC-ETH,WAX-BTC,DTA-ETH,BTC-USDT,GAS-ETH,NEO-BTC,BTM-BTC,BLZ-ETH,BAT-ETH,APPC-BTC,CMT-BTC,ONT-BTC,QTUM-ETH,IOST-BTC,REQ-BTC,BTM-ETH,RUFF-BTC,ZEC-BTC,DGD-ETH,DAT-ETH,STK-ETH,HT-ETH,QUN-ETH,ELF-BTC,CMT-ETH,SNT-USDT,MDS-USDT,STORJ-USDT,WAX-ETH,POWR-BTC,SNC-BTC,VEN-USDT,TNB-ETH,SWFTC-ETH,EOS-BTC,LINK-ETH,HT-USDT,RDN-BTC,LUN-BTC,GNX-BTC,ELA-BTC,LET-ETH,IOST-USDT,EVX-ETH,ACT-ETH,BCH-USDT,ICX-ETH,BCX-BTC,MTN-ETH,PROPY-ETH,XRP-USDT,ICX-BTC,THETA-ETH,SNC-ETH,DBC-ETH,ITC-USDT,SMT-BTC,SRN-ETH,ETH-USDT,ITC-BTC,OMG-BTC,STK-BTC,MDS-BTC,TOPC-BTC,ADX-BTC,ETC-BTC,KNC-BTC,CVC-BTC,QSP-ETH,BTG-BTC,EDU-BTC,ZLA-ETH,MTX-ETH,EOS-USDT,RCN-BTC,UTK-ETH,RCN-ETH,GNT-USDT,APPC-ETH,WICC-BTC,YEE-BTC,YEE-ETH,OMG-USDT,LINK-BTC,XEM-USDT,HSR-USDT,DASH-BTC,QUN-BTC,QASH-ETH,DTA-BTC,AIDOC-BTC,DAT-BTC,RUFF-ETH,SALT-BTC,ELA-ETH,IOST-ETH,THETA-BTC,LET-BTC,DTA-USDT,SOC-ETH,ELA-USDT,ZIL-USDT,MANA-BTC,XRP-BTC,ONT-ETH,LTC-USDT,DBC-BTC,BCD-BTC,SWFTC-BTC,CVC-USDT,NAS-USDT,GNT-ETH,TRX-USDT,HT-BTC,ENG-ETH,PAY-ETH,CVC-ETH,TNB-BTC,MEE-ETH,POWR-ETH,BLZ-BTC,PAY-BTC,ADX-ETH,EKO-ETH,SRN-BTC,OCN-ETH,VEN-ETH,ABT-ETH,BIFI-BTC,ACT-BTC,ETC-USDT,OST-BTC,MCO-ETH,ABT-BTC,STORJ-BTC,VEN-BTC,GNT-BTC,LSK-BTC,EKO-BTC,LTC-BTC,OCN-BTC,RUFF-USDT,WPR-ETH,AST-BTC,DASH-USDT,DGD-BTC,ZIL-ETH,ZRX-BTC,ETH-BTC,REQ-ETH,TRX-BTC,WICC-ETH,NAS-BTC,MEE-BTC,ENG-BTC,LSK-ETH,RPX-BTC,TNT-ETH,MTX-BTC,SOC-BTC,EDU-ETH,HSR-BTC,QTUM-BTC,QSP-BTC,BAT-BTC,QASH-BTC,ITC-ETH,XEM-BTC,MANA-ETH,GAS-BTC,MTN-BTC,CHAT-BTC,BT1-BTC,ZLA-BTC,OMG-ETH,PROPY-BTC,RDN-ETH,ELF-USDT", "EnabledPairs": "BTC-USDT", "BaseCurrencies": "USD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true, "Delimiter": "-" @@ -428,6 +448,8 @@ "EnabledPairs": "XBTUSD,XBTSGD,XBTEUR", "BaseCurrencies": "USD,SGD,EUR", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": false, + "PairsLastUpdated": 1522112372, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -445,10 +467,11 @@ "AuthenticatedAPISupport": false, "APIKey": "Key", "APISecret": "Secret", - "AvailablePairs": "ETC-ETH,MLN-XBT,XBT-CAD,XBT-JPY,XDG-XBT,BCH-EUR,DASH-EUR,ETC-XBT,ETH-GBP,ICN-XBT,ETH-CAD,ETC-USD,EOS-ETH,ZEC-USD,ETC-EUR,LTC-USD,MLN-ETH,REP-XBT,XLM-XBT,XMR-XBT,XMR-USD,GNO-ETH,USDT-USD,LTC-EUR,REP-ETH,ETH-EUR,XRP-XBT,ZEC-XBT,BCH-USD,BCH-XBT,ETH-USD,LTC-XBT,XRP-EUR,XRP-USD,XBT-EUR,ETH-XBT,ICN-ETH,XMR-EUR,DASH-USD,EOS-XBT,REP-EUR,XBT-GBP,XBT-USD,ZEC-EUR,DASH-XBT,GNO-XBT,ETH-JPY", + "AvailablePairs": "XMR-EUR,DASH-USD,ETC-ETH,XLM-XBT,XLM-USD,DASH-EUR,REP-XBT,XBT-CAD,ZEC-XBT,GNO-USD,ETC-EUR,ICN-ETH,LTC-USD,XLM-EUR,BCH-XBT,DASH-XBT,GNO-ETH,ETC-XBT,XRP-CAD,ETH-EUR,XBT-USD,XDG-XBT,REP-EUR,ETH-XBT,LTC-XBT,MLN-ETH,REP-ETH,XRP-XBT,ZEC-EUR,ZEC-USD,EOS-ETH,ETH-GBP,XBT-EUR,XMR-USD,XRP-JPY,ZEC-JPY,ETH-JPY,ICN-XBT,MLN-XBT,GNO-EUR,EOS-EUR,ETH-USD,USDT-USD,ETH-CAD,XBT-GBP,BCH-USD,EOS-USD,EOS-XBT,XRP-EUR,BCH-EUR,ETC-USD,LTC-EUR,GNO-XBT,REP-USD,XBT-JPY,XMR-XBT,XRP-USD", "EnabledPairs": "XBT-USD", "BaseCurrencies": "EUR,USD,CAD,GBP,JPY", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true, "Delimiter": "-" @@ -472,6 +495,8 @@ "EnabledPairs": "BTCUSD,BTCAUD", "BaseCurrencies": "USD,EUR,HKD,AUD,GBP,NZD,JPY,SGD,NGN,CHF,CAD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": false, + "PairsLastUpdated": 1522112372, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -489,10 +514,11 @@ "AuthenticatedAPISupport": false, "APIKey": "Key", "APISecret": "Secret", - "AvailablePairs": "QRL_ETH,STX_ETH,TKN_ETH,ZRX_ETH,DGD_BTC,MYST_USDT,STORJ_ETH,TRX_BTC,AION_BTC,BCC_USDT,BAT_ETH,DGD_USDT,PRO_BTC,IND_ETH,REP_USDT,OAX_ETH,STX_BTC,DASH_USDT,TKN_USDT,ZRX_BTC,ICN_USDT,GUP_USDT,BMC_USDT,SRN_BTC,MYST_BTC,AE_ETH,SNGLS_ETH,NEU_USDT,AION_USDT,TAAS_USDT,CVC_USDT,DASH_ETH,ETH_USDT,BNT_BTC,MLN_BTC,LTC_ETH,ADX_USDT,TAAS_BTC,ANT_USDT,EOS_BTC,KNC_ETH,AST_USDT,REQ_USDT,BTC_USDT,RLC_BTC,TRST_USDT,SALT_BTC,OMG_ETH,TRX_USDT,XID_USDT,ENG_BTC,ENG_USDT,AST_ETH,TKN_BTC,STORJ_USDT,ADX_BTC,REP_BTC,EDG_ETH,DGD_ETH,WPR_ETH,SNGLS_USDT,CFI_USDT,KNC_USDT,GNT_BTC,PTOY_BTC,OMG_USDT,BCC_ETH,DNT_ETH,TIME_BTC,GNO_USDT,CFI_ETH,ANT_ETH,TRST_BTC,STX_USDT,QRL_USDT,CVC_ETH,PRO_ETH,AST_BTC,TIME_ETH,TNT_ETH,MLN_USDT,MGO_BTC,MGO_USDT,SAN_USDT,SRN_USDT,BNT_ETH,BNT_USDT,MANA_BTC,INS_ETH,GUP_BTC,CFI_BTC,MCO_BTC,NET_BTC,TAAS_ETH,XID_ETH,NET_USDT,RLC_ETH,BAT_USDT,NEU_ETH,MGO_ETH,PAY_BTC,OAX_USDT,REP_ETH,REQ_BTC,SRN_ETH,GNT_ETH,VEN_BTC,QRL_BTC,ADX_ETH,AE_BTC,SNM_USDT,GUP_ETH,MCO_ETH,TNT_USDT,ETH_BTC,RLC_USDT,TIME_USDT,BAT_BTC,DNT_BTC,BMC_ETH,REQ_ETH,IND_USDT,WINGS_BTC,BMC_BTC,MANA_USDT,SALT_ETH,ICN_BTC,PTOY_USDT,PAY_ETH,AE_USDT,LTC_USDT,GNT_USDT,TRST_ETH,EOS_ETH,EOS_USDT,SAN_ETH,IND_BTC,SNT_USDT,LTC_BTC,NET_ETH,SAN_BTC,OAX_BTC,ANT_BTC,WPR_BTC,SALT_USDT,SNT_ETH,VEN_USDT,DNT_USDT,SNGLS_BTC,SNM_BTC,STORJ_BTC,MANA_ETH,ICN_ETH,EDG_BTC,PAY_USDT,XID_BTC,WPR_USDT,WINGS_ETH,GNO_ETH,WINGS_USDT,ZRX_USDT,INS_USDT,DASH_BTC,MLN_ETH,ENG_ETH,NEU_BTC,SNM_ETH,GNO_BTC,MYST_ETH,BCC_BTC,TNT_BTC,TRX_ETH,PTOY_ETH,MCO_USDT,VEN_ETH,AION_ETH,WAVES_ETH,SNT_BTC,KNC_BTC,EDG_USDT,OMG_BTC,CVC_BTC,PRO_USDT,INS_BTC,WAVES_BTC,WAVES_USDT", + "AvailablePairs": "TAAS_BTC,ETH_BTC,ADX_USDT,PAY_USDT,VEN_BTC,KNC_ETH,RLC_BTC,ZRX_USDT,NEU_USDT,PTOY_BTC,PRO_ETH,SRN_USDT,DASH_ETH,WINGS_USDT,MGO_BTC,REP_ETH,SAN_USDT,SALT_USDT,LDC_BTC,EDG_USDT,ADX_BTC,ADX_ETH,PAY_BTC,SAN_ETH,PAY_ETH,REN_USDT,WAVES_USDT,ANT_USDT,DNT_BTC,GNT_USDT,GUP_BTC,DNT_USDT,BMC_ETH,STORJ_USDT,SRN_ETH,MLN_USDT,PTOY_ETH,TNT_USDT,AST_USDT,CFI_BTC,MCO_BTC,OMG_ETH,LTC_BTC,QRL_ETH,MYST_USDT,STORJ_ETH,AE_BTC,AE_ETH,BNT_USDT,CVC_BTC,WPR_USDT,NET_USDT,REN_ETH,MGO_USDT,DNT_ETH,TRX_USDT,ENG_ETH,ICN_ETH,WINGS_ETH,TKN_ETH,TIME_ETH,TKN_BTC,PTOY_USDT,CFI_ETH,WINGS_BTC,ANT_BTC,REQ_ETH,AION_BTC,BNT_ETH,TRX_BTC,AST_ETH,RLC_ETH,NET_BTC,BMC_USDT,TRX_ETH,CFI_USDT,SAN_BTC,CVC_ETH,SNM_USDT,XID_BTC,DGD_BTC,TNT_BTC,PRO_USDT,NEU_ETH,WAVES_BTC,DASH_USDT,SNM_BTC,NET_ETH,DGD_ETH,REN_BTC,TRST_ETH,OAX_BTC,INS_ETH,AION_USDT,LDC_ETH,GNT_ETH,RLC_USDT,SNGLS_ETH,BMC_BTC,BAT_BTC,QRL_USDT,MANA_BTC,STX_BTC,IND_USDT,BAT_ETH,OAX_ETH,KNC_USDT,INS_BTC,LDC_USDT,MLN_BTC,GNO_USDT,CVC_USDT,MCO_ETH,SNT_USDT,STX_ETH,REQ_BTC,TRST_USDT,GUP_ETH,QRL_BTC,IND_BTC,ICN_USDT,SNGLS_BTC,SNT_BTC,ENG_USDT,TRST_BTC,GNO_ETH,OMG_USDT,AE_USDT,MLN_ETH,SNGLS_USDT,XID_USDT,ANT_ETH,EOS_USDT,MANA_ETH,AST_BTC,EOS_BTC,DGD_USDT,TAAS_ETH,SNT_ETH,XID_ETH,ZRX_BTC,KNC_BTC,GNT_BTC,ETH_USDT,REP_BTC,MGO_ETH,STX_USDT,STORJ_BTC,SRN_BTC,INS_USDT,PRO_BTC,IND_ETH,ENG_BTC,WAVES_ETH,EDG_ETH,LTC_USDT,TIME_USDT,EDG_BTC,VEN_USDT,BAT_USDT,MYST_ETH,MCO_USDT,REQ_USDT,NEU_BTC,WPR_BTC,GUP_USDT,MYST_BTC,SNM_ETH,SALT_BTC,BCC_BTC,TNT_ETH,AION_ETH,VEN_ETH,LTC_ETH,REP_USDT,TAAS_USDT,TKN_USDT,OMG_BTC,OAX_USDT,MANA_USDT,DASH_BTC,GNO_BTC,BTC_USDT,EOS_ETH,ZRX_ETH,TIME_BTC,BCC_ETH,WPR_ETH,BNT_BTC,BCC_USDT,SALT_ETH,ICN_BTC", "EnabledPairs": "ETH_BTC,LTC_BTC,DASH_BTC", "BaseCurrencies": "USD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true, "Delimiter": "_" @@ -517,6 +543,8 @@ "EnabledPairs": "BTCARS,BTCAUD,BTCBRL,BTCCAD,BTCCHF,BTCCZK,BTCDKK,BTCEUR,BTCGBP,BTCHKD,BTCILS,BTCINR,BTCMXN,BTCNOK,BTCNZD,BTCPLN,BTCRUB,BTCSEK,BTCSGD,BTCTHB,BTCUSD,BTCZAR", "BaseCurrencies": "ARS,AUD,BRL,CAD,CHF,CZK,DKK,EUR,GBP,HKD,ILS,INR,MXN,NOK,NZD,PLN,RUB,SEK,SGD,THB,USD,ZAR", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": false, + "PairsLastUpdated": 1522112372, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -538,6 +566,8 @@ "EnabledPairs": "BTCCNY,LTCCNY", "BaseCurrencies": "CNY", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": false, + "PairsLastUpdated": 1522112372, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -560,6 +590,8 @@ "EnabledPairs": "BTCUSD,LTCUSD", "BaseCurrencies": "USD", "AssetTypes": "SPOT,this_week,next_week,quarter", + "SupportsAutoPairUpdates": false, + "PairsLastUpdated": 1522112372, "ConfigCurrencyPairFormat": { "Uppercase": true }, @@ -582,6 +614,8 @@ "EnabledPairs": "btc_usd,ltc_usd", "BaseCurrencies": "USD", "AssetTypes": "SPOT,this_week,next_week,quarter", + "SupportsAutoPairUpdates": false, + "PairsLastUpdated": 1522112372, "ConfigCurrencyPairFormat": { "Uppercase": false, "Delimiter": "_" @@ -605,6 +639,7 @@ "EnabledPairs": "BTC_LTC,BTC_ETH,BTC_DOGE,BTC_DASH,BTC_XRP", "BaseCurrencies": "USD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": true, "ConfigCurrencyPairFormat": { "Uppercase": true, "Delimiter": "_" @@ -628,6 +663,8 @@ "EnabledPairs": "LTC_BTC,ETH_BTC,BTC_USD,DASH_BTC", "BaseCurrencies": "USD", "AssetTypes": "SPOT", + "SupportsAutoPairUpdates": false, + "PairsLastUpdated": 1522112372, "ConfigCurrencyPairFormat": { "Uppercase": true, "Delimiter": "_"