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

View File

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