diff --git a/config/config.go b/config/config.go index a0ac2a35..6bfbb9b1 100644 --- a/config/config.go +++ b/config/config.go @@ -652,6 +652,16 @@ func (c *Config) GetPairFormat(exchName string, assetType asset.Item) (currency. return currency.PairFormat{}, err } + supports, err := c.SupportsExchangeAssetType(exchName, assetType) + if err != nil { + return currency.PairFormat{}, err + } + + if !supports { + return currency.PairFormat{}, + fmt.Errorf("exchange %s does not support asset type %v", exchName, assetType) + } + if exchCfg.CurrencyPairs == nil { return currency.PairFormat{}, errors.New("exchange currency pairs type is nil") } diff --git a/engine/helpers.go b/engine/helpers.go index a1f98ad1..ebe5ad3d 100644 --- a/engine/helpers.go +++ b/engine/helpers.go @@ -590,24 +590,22 @@ func SeedExchangeAccountInfo(data []exchange.AccountInfo) { func GetCryptocurrenciesByExchange(exchangeName string, enabledExchangesOnly, enabledPairs bool, assetType asset.Item) ([]string, error) { var cryptocurrencies []string for x := range Bot.Config.Exchanges { - if Bot.Config.Exchanges[x].Name != exchangeName { + if !strings.EqualFold(Bot.Config.Exchanges[x].Name, exchangeName) { continue } if enabledExchangesOnly && !Bot.Config.Exchanges[x].Enabled { continue } - exchName := Bot.Config.Exchanges[x].Name - var pairs []currency.Pair var err error - + var pairs []currency.Pair if enabledPairs { - pairs, err = Bot.Config.GetEnabledPairs(exchName, assetType) + pairs, err = Bot.Config.GetEnabledPairs(exchangeName, assetType) if err != nil { return nil, err } } else { - pairs, err = Bot.Config.GetAvailablePairs(exchName, assetType) + pairs, err = Bot.Config.GetAvailablePairs(exchangeName, assetType) if err != nil { return nil, err } diff --git a/exchanges/bitfinex/bitfinex_wrapper.go b/exchanges/bitfinex/bitfinex_wrapper.go index b10e8aa2..c1cb0e4c 100644 --- a/exchanges/bitfinex/bitfinex_wrapper.go +++ b/exchanges/bitfinex/bitfinex_wrapper.go @@ -88,6 +88,7 @@ func (b *Bitfinex) SetDefaults() { b.API.Endpoints.URLDefault = bitfinexAPIURLBase b.API.Endpoints.URL = b.API.Endpoints.URLDefault + b.API.Endpoints.WebsocketURL = bitfinexWebsocket b.WebsocketInit() b.Websocket.Functionality = exchange.WebsocketTickerSupported | exchange.WebsocketTradeDataSupported | diff --git a/exchanges/bitmex/bitmex_wrapper.go b/exchanges/bitmex/bitmex_wrapper.go index a86b9a92..4e1daabe 100644 --- a/exchanges/bitmex/bitmex_wrapper.go +++ b/exchanges/bitmex/bitmex_wrapper.go @@ -111,6 +111,7 @@ func (b *Bitmex) SetDefaults() { b.API.Endpoints.URLDefault = bitmexAPIURL b.API.Endpoints.URL = b.API.Endpoints.URLDefault + b.API.Endpoints.WebsocketURL = bitmexWSURL b.WebsocketInit() b.Websocket.Functionality = exchange.WebsocketTradeDataSupported | exchange.WebsocketOrderbookSupported | diff --git a/exchanges/coinbasepro/coinbasepro_wrapper.go b/exchanges/coinbasepro/coinbasepro_wrapper.go index 79b16add..893ab333 100644 --- a/exchanges/coinbasepro/coinbasepro_wrapper.go +++ b/exchanges/coinbasepro/coinbasepro_wrapper.go @@ -88,6 +88,7 @@ func (c *CoinbasePro) SetDefaults() { c.API.Endpoints.URLDefault = coinbaseproAPIURL c.API.Endpoints.URL = c.API.Endpoints.URLDefault + c.API.Endpoints.WebsocketURL = coinbaseproWebsocketURL c.WebsocketInit() c.Websocket.Functionality = exchange.WebsocketTickerSupported | exchange.WebsocketOrderbookSupported | diff --git a/exchanges/coinut/coinut_wrapper.go b/exchanges/coinut/coinut_wrapper.go index 78b8d807..cf971dc8 100644 --- a/exchanges/coinut/coinut_wrapper.go +++ b/exchanges/coinut/coinut_wrapper.go @@ -85,6 +85,7 @@ func (c *COINUT) SetDefaults() { c.API.Endpoints.URLDefault = coinutAPIURL c.API.Endpoints.URL = c.API.Endpoints.URLDefault + c.API.Endpoints.WebsocketURL = coinutWebsocketURL c.WebsocketInit() c.Websocket.Functionality = exchange.WebsocketTickerSupported | exchange.WebsocketOrderbookSupported | diff --git a/exchanges/hitbtc/hitbtc_wrapper.go b/exchanges/hitbtc/hitbtc_wrapper.go index e7c7aab8..0cbf9af8 100644 --- a/exchanges/hitbtc/hitbtc_wrapper.go +++ b/exchanges/hitbtc/hitbtc_wrapper.go @@ -87,6 +87,7 @@ func (h *HitBTC) SetDefaults() { h.API.Endpoints.URLDefault = apiURL h.API.Endpoints.URL = h.API.Endpoints.URLDefault + h.API.Endpoints.WebsocketURL = hitbtcWebsocketAddress h.WebsocketInit() h.Websocket.Functionality = exchange.WebsocketTickerSupported | exchange.WebsocketOrderbookSupported diff --git a/exchanges/huobi/huobi_wrapper.go b/exchanges/huobi/huobi_wrapper.go index 137d1cd3..571b2b9f 100644 --- a/exchanges/huobi/huobi_wrapper.go +++ b/exchanges/huobi/huobi_wrapper.go @@ -88,6 +88,7 @@ func (h *HUOBI) SetDefaults() { h.API.Endpoints.URLDefault = huobiAPIURL h.API.Endpoints.URL = h.API.Endpoints.URLDefault + h.API.Endpoints.WebsocketURL = wsMarketURL h.WebsocketInit() h.Websocket.Functionality = exchange.WebsocketKlineSupported | exchange.WebsocketOrderbookSupported | diff --git a/exchanges/poloniex/poloniex_wrapper.go b/exchanges/poloniex/poloniex_wrapper.go index f1f945de..92e86861 100644 --- a/exchanges/poloniex/poloniex_wrapper.go +++ b/exchanges/poloniex/poloniex_wrapper.go @@ -87,6 +87,7 @@ func (p *Poloniex) SetDefaults() { p.API.Endpoints.URLDefault = poloniexAPIURL p.API.Endpoints.URL = p.API.Endpoints.URLDefault + p.API.Endpoints.WebsocketURL = poloniexWebsocketAddress p.WebsocketInit() p.Websocket.Functionality = exchange.WebsocketTradeDataSupported | exchange.WebsocketOrderbookSupported | diff --git a/exchanges/zb/zb_wrapper.go b/exchanges/zb/zb_wrapper.go index c4b48c2a..78418169 100644 --- a/exchanges/zb/zb_wrapper.go +++ b/exchanges/zb/zb_wrapper.go @@ -90,6 +90,7 @@ func (z *ZB) SetDefaults() { z.API.Endpoints.URL = z.API.Endpoints.URLDefault z.API.Endpoints.URLSecondaryDefault = zbMarketURL z.API.Endpoints.URLSecondary = z.API.Endpoints.URLSecondaryDefault + z.API.Endpoints.WebsocketURL = zbWebsocketAPI z.WebsocketInit() z.Websocket.Functionality = exchange.WebsocketTickerSupported | exchange.WebsocketOrderbookSupported |