binance: allow exposure of trade feed through data channel (#823)

This commit is contained in:
Luis Rascão
2021-11-08 01:17:01 +00:00
committed by GitHub
parent 6eaa2e4073
commit ca428f5203
2 changed files with 16 additions and 10 deletions

View File

@@ -318,9 +318,13 @@ func (b *Binance) wsHandleData(respRaw []byte) error {
switch streamType[1] {
case "trade":
if !b.IsSaveTradeDataEnabled() {
saveTradeData := b.IsSaveTradeDataEnabled()
if !saveTradeData &&
!b.IsTradeFeedEnabled() {
return nil
}
var t TradeStream
err := json.Unmarshal(rawData, &t)
if err != nil {
@@ -348,15 +352,16 @@ func (b *Binance) wsHandleData(respRaw []byte) error {
return err
}
return b.AddTradesToBuffer(trade.Data{
CurrencyPair: pair,
Timestamp: t.TimeStamp,
Price: price,
Amount: amount,
Exchange: b.Name,
AssetType: asset.Spot,
TID: strconv.FormatInt(t.TradeID, 10),
})
return b.Websocket.Trade.Update(saveTradeData,
trade.Data{
CurrencyPair: pair,
Timestamp: t.TimeStamp,
Price: price,
Amount: amount,
Exchange: b.Name,
AssetType: asset.Spot,
TID: strconv.FormatInt(t.TradeID, 10),
})
case "ticker":
var t TickerStream
err := json.Unmarshal(rawData, &t)

View File

@@ -231,6 +231,7 @@ func (b *Binance) Setup(exch *config.Exchange) error {
Features: &b.Features.Supports.WebsocketCapabilities,
SortBuffer: true,
SortBufferByUpdateIDs: true,
TradeFeed: b.Features.Enabled.TradeFeed,
})
if err != nil {
return err