Exchanges: Add config variable to set bypassing of orderbook verification by exchange (#614)

* Exchanges: Add config variable to set bypassing of orderbook verification

* Exchanges: Consolidate orderbook variables into config struct

* Exchanges: Addr nit; set verification bypass on websocket book implementations
This commit is contained in:
Ryan O'Hara-Reid
2021-01-06 12:56:30 +11:00
committed by GitHub
parent 010fab02ca
commit 7431bf8866
56 changed files with 291 additions and 128 deletions

View File

@@ -239,12 +239,13 @@ func (b *Bitstamp) wsUpdateOrderbook(update websocketOrderBook, p currency.Pair,
bids = append(bids, orderbook.Item{Price: target, Amount: amount})
}
return b.Websocket.Orderbook.LoadSnapshot(&orderbook.Base{
Bids: bids,
Asks: asks,
Pair: p,
LastUpdated: time.Unix(update.Timestamp, 0),
AssetType: assetType,
ExchangeName: b.Name,
Bids: bids,
Asks: asks,
Pair: p,
LastUpdated: time.Unix(update.Timestamp, 0),
AssetType: assetType,
ExchangeName: b.Name,
VerificationBypass: b.OrderbookVerificationBypass,
})
}
@@ -276,6 +277,7 @@ func (b *Bitstamp) seedOrderBook() error {
newOrderBook.Pair = p[x]
newOrderBook.AssetType = asset.Spot
newOrderBook.ExchangeName = b.Name
newOrderBook.VerificationBypass = b.OrderbookVerificationBypass
err = b.Websocket.Orderbook.LoadSnapshot(&newOrderBook)
if err != nil {

View File

@@ -164,8 +164,8 @@ func (b *Bitstamp) Setup(exch *config.ExchangeConfig) error {
UnSubscriber: b.Unsubscribe,
GenerateSubscriptions: b.generateDefaultSubscriptions,
Features: &b.Features.Supports.WebsocketCapabilities,
OrderbookBufferLimit: exch.WebsocketOrderbookBufferLimit,
BufferEnabled: exch.WebsocketOrderbookBufferEnabled,
OrderbookBufferLimit: exch.OrderbookConfig.WebsocketBufferLimit,
BufferEnabled: exch.OrderbookConfig.WebsocketBufferEnabled,
})
if err != nil {
return err
@@ -316,7 +316,12 @@ func (b *Bitstamp) FetchOrderbook(p currency.Pair, assetType asset.Item) (*order
// UpdateOrderbook updates and returns the orderbook for a currency pair
func (b *Bitstamp) UpdateOrderbook(p currency.Pair, assetType asset.Item) (*orderbook.Base, error) {
book := &orderbook.Base{ExchangeName: b.Name, Pair: p, AssetType: assetType}
book := &orderbook.Base{
ExchangeName: b.Name,
Pair: p,
AssetType: assetType,
VerificationBypass: b.OrderbookVerificationBypass,
}
fPair, err := b.FormatExchangeCurrency(p, assetType)
if err != nil {
return book, err