From 4cfa6c43964264a24d50b4c2a58232f59acf6acc Mon Sep 17 00:00:00 2001 From: Gareth Kirwan Date: Tue, 15 Aug 2023 05:22:40 +0100 Subject: [PATCH] Bitstamp: Fix websocket orderbook snapshot blanking LastUpdate (#1319) * Bitstamp: Fix orderbook snapshot blanking LastUpdate Drive-By: Remove: `Bitstamp BTC/USDT spot orderbook has zero bid price, filtering.` It's unactionable and happens every snapshot right now * Bitstamp: Use ob timestamps for LastUpdate Obviously. --- exchanges/bitstamp/bitstamp.go | 2 -- exchanges/bitstamp/bitstamp_types.go | 2 +- exchanges/bitstamp/bitstamp_websocket.go | 3 ++- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/exchanges/bitstamp/bitstamp.go b/exchanges/bitstamp/bitstamp.go index fd48f277..965f25e3 100644 --- a/exchanges/bitstamp/bitstamp.go +++ b/exchanges/bitstamp/bitstamp.go @@ -19,7 +19,6 @@ import ( "github.com/thrasher-corp/gocryptotrader/exchanges/order" "github.com/thrasher-corp/gocryptotrader/exchanges/orderbook" "github.com/thrasher-corp/gocryptotrader/exchanges/request" - "github.com/thrasher-corp/gocryptotrader/log" ) const ( @@ -665,6 +664,5 @@ func filterOrderbookZeroBidPrice(ob *orderbook.Base) { return } - log.Warnf(log.ExchangeSys, "%s %s %s orderbook has zero bid price, filtering.", ob.Exchange, ob.Pair, ob.Asset) ob.Bids = ob.Bids[0 : len(ob.Bids)-1] } diff --git a/exchanges/bitstamp/bitstamp_types.go b/exchanges/bitstamp/bitstamp_types.go index 957b0e18..91ce6e5e 100644 --- a/exchanges/bitstamp/bitstamp_types.go +++ b/exchanges/bitstamp/bitstamp_types.go @@ -229,7 +229,7 @@ type websocketOrderBook struct { Asks [][2]string `json:"asks"` Bids [][2]string `json:"bids"` Timestamp int64 `json:"timestamp,string"` - Microtimestamp string `json:"microtimestamp"` + Microtimestamp int64 `json:"microtimestamp,string"` } // OHLCResponse holds returned candle data diff --git a/exchanges/bitstamp/bitstamp_websocket.go b/exchanges/bitstamp/bitstamp_websocket.go index 6f1e7980..f84ff2c0 100644 --- a/exchanges/bitstamp/bitstamp_websocket.go +++ b/exchanges/bitstamp/bitstamp_websocket.go @@ -254,7 +254,7 @@ func (b *Bitstamp) wsUpdateOrderbook(update *websocketOrderBook, p currency.Pair Bids: make(orderbook.Items, len(update.Bids)), Asks: make(orderbook.Items, len(update.Asks)), Pair: p, - LastUpdated: time.Unix(update.Timestamp, 0), + LastUpdated: time.UnixMicro(update.Microtimestamp), Asset: assetType, Exchange: b.Name, VerifyOrderbook: b.CanVerifyOrderbook, @@ -309,6 +309,7 @@ func (b *Bitstamp) seedOrderBook(ctx context.Context) error { VerifyOrderbook: b.CanVerifyOrderbook, Bids: make(orderbook.Items, len(orderbookSeed.Bids)), Asks: make(orderbook.Items, len(orderbookSeed.Asks)), + LastUpdated: time.Unix(orderbookSeed.Timestamp, 0), } for i := range orderbookSeed.Asks {