mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-21 23:16:49 +00:00
(Exchange Interface) Convert Fetch & Update orderbook/ticker methods to return pointers (#398)
* moved order and ticker fetching to return a pointer * return nil instead of empty struct * fixed incorrect nil * general cleanup
This commit is contained in:
@@ -416,40 +416,14 @@ func GetRelatableCurrencies(p currency.Pair, incOrig, incUSDT bool) currency.Pai
|
||||
|
||||
// GetSpecificOrderbook returns a specific orderbook given the currency,
|
||||
// exchangeName and assetType
|
||||
func GetSpecificOrderbook(p currency.Pair, exchangeName string, assetType asset.Item) (orderbook.Base, error) {
|
||||
var specificOrderbook orderbook.Base
|
||||
var err error
|
||||
for x := range Bot.Exchanges {
|
||||
if Bot.Exchanges[x] != nil {
|
||||
if Bot.Exchanges[x].GetName() == exchangeName {
|
||||
specificOrderbook, err = Bot.Exchanges[x].FetchOrderbook(
|
||||
p,
|
||||
assetType,
|
||||
)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
return specificOrderbook, err
|
||||
func GetSpecificOrderbook(p currency.Pair, exchangeName string, assetType asset.Item) (*orderbook.Base, error) {
|
||||
return GetExchangeByName(exchangeName).FetchOrderbook(p, assetType)
|
||||
}
|
||||
|
||||
// GetSpecificTicker returns a specific ticker given the currency,
|
||||
// exchangeName and assetType
|
||||
func GetSpecificTicker(p currency.Pair, exchangeName string, assetType asset.Item) (ticker.Price, error) {
|
||||
var specificTicker ticker.Price
|
||||
var err error
|
||||
for x := range Bot.Exchanges {
|
||||
if Bot.Exchanges[x] != nil {
|
||||
if Bot.Exchanges[x].GetName() == exchangeName {
|
||||
specificTicker, err = Bot.Exchanges[x].FetchTicker(
|
||||
p,
|
||||
assetType,
|
||||
)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
return specificTicker, err
|
||||
func GetSpecificTicker(p currency.Pair, exchangeName string, assetType asset.Item) (*ticker.Price, error) {
|
||||
return GetExchangeByName(exchangeName).FetchTicker(p, assetType)
|
||||
}
|
||||
|
||||
// GetCollatedExchangeAccountInfoByCoin collates individual exchange account
|
||||
@@ -757,7 +731,7 @@ func GetAllActiveTickers() []EnabledExchangeCurrencies {
|
||||
err)
|
||||
continue
|
||||
}
|
||||
exchangeTicker.ExchangeValues = append(exchangeTicker.ExchangeValues, tp)
|
||||
exchangeTicker.ExchangeValues = append(exchangeTicker.ExchangeValues, *tp)
|
||||
}
|
||||
tickerData = append(tickerData, exchangeTicker)
|
||||
}
|
||||
|
||||
@@ -409,7 +409,7 @@ func TestGetSpecificOrderbook(t *testing.T) {
|
||||
t.Fatal("Unexpected result")
|
||||
}
|
||||
|
||||
ob, err = GetSpecificOrderbook(currency.NewPairFromStrings("ETH", "LTC"),
|
||||
_, err = GetSpecificOrderbook(currency.NewPairFromStrings("ETH", "LTC"),
|
||||
"Bitstamp",
|
||||
asset.Spot)
|
||||
if err == nil {
|
||||
@@ -441,7 +441,7 @@ func TestGetSpecificTicker(t *testing.T) {
|
||||
t.Fatal("Unexpected result")
|
||||
}
|
||||
|
||||
tick, err = GetSpecificTicker(currency.NewPairFromStrings("ETH", "LTC"), "Bitstamp",
|
||||
_, err = GetSpecificTicker(currency.NewPairFromStrings("ETH", "LTC"), "Bitstamp",
|
||||
asset.Spot)
|
||||
if err == nil {
|
||||
t.Fatal("Unexpected result")
|
||||
|
||||
@@ -80,7 +80,7 @@ func GetAllActiveOrderbooks() []EnabledExchangeOrderbooks {
|
||||
err)
|
||||
continue
|
||||
}
|
||||
exchangeOB.ExchangeValues = append(exchangeOB.ExchangeValues, ob)
|
||||
exchangeOB.ExchangeValues = append(exchangeOB.ExchangeValues, *ob)
|
||||
}
|
||||
orderbookData = append(orderbookData, exchangeOB)
|
||||
}
|
||||
|
||||
@@ -380,7 +380,7 @@ func (e *ExchangeCurrencyPairSyncer) worker() {
|
||||
|
||||
if c.Ticker.IsUsingREST {
|
||||
e.setProcessing(c.Exchange, c.Pair, c.AssetType, SyncItemTicker, true)
|
||||
var result ticker.Price
|
||||
var result *ticker.Price
|
||||
var err error
|
||||
|
||||
if supportsRESTTickerBatching {
|
||||
@@ -408,7 +408,7 @@ func (e *ExchangeCurrencyPairSyncer) worker() {
|
||||
} else {
|
||||
result, err = Bot.Exchanges[x].UpdateTicker(c.Pair, c.AssetType)
|
||||
}
|
||||
printTickerSummary(&result, c.Pair, c.AssetType, exchangeName, err)
|
||||
printTickerSummary(result, c.Pair, c.AssetType, exchangeName, err)
|
||||
if err == nil {
|
||||
//nolint:gocritic Bot.CommsRelayer.StageTickerData(exchangeName, c.AssetType, result)
|
||||
if Bot.Config.RemoteControl.WebsocketRPC.Enabled {
|
||||
@@ -444,7 +444,7 @@ func (e *ExchangeCurrencyPairSyncer) worker() {
|
||||
|
||||
e.setProcessing(c.Exchange, c.Pair, c.AssetType, SyncItemOrderbook, true)
|
||||
result, err := Bot.Exchanges[x].UpdateOrderbook(c.Pair, c.AssetType)
|
||||
printOrderbookSummary(&result, c.Pair, c.AssetType, exchangeName, err)
|
||||
printOrderbookSummary(result, c.Pair, c.AssetType, exchangeName, err)
|
||||
if err == nil {
|
||||
//nolint:gocritic Bot.CommsRelayer.StageOrderbookData(exchangeName, c.AssetType, result)
|
||||
if Bot.Config.RemoteControl.WebsocketRPC.Enabled {
|
||||
|
||||
Reference in New Issue
Block a user