mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-14 07:26:47 +00:00
Binance: Update rate limits (#686)
* wip banned for 10m * wip ban 2 final test * testing complete * glorious changes * small fix
This commit is contained in:
@@ -99,7 +99,7 @@ func (b *Binance) GetMarginMarkets() (PerpsExchangeInfo, error) {
|
||||
// information
|
||||
func (b *Binance) GetExchangeInfo() (ExchangeInfo, error) {
|
||||
var resp ExchangeInfo
|
||||
return resp, b.SendHTTPRequest(exchange.RestSpotSupplementary, exchangeInfo, spotDefaultRate, &resp)
|
||||
return resp, b.SendHTTPRequest(exchange.RestSpotSupplementary, exchangeInfo, spotExchangeInfo, &resp)
|
||||
}
|
||||
|
||||
// GetOrderBook returns full orderbook information
|
||||
@@ -597,10 +597,9 @@ func (b *Binance) AllOrders(symbol currency.Pair, orderID, limit string) ([]Quer
|
||||
if limit != "" {
|
||||
params.Set("limit", limit)
|
||||
}
|
||||
if err := b.SendAuthHTTPRequest(exchange.RestSpotSupplementary, http.MethodGet, allOrders, params, spotOrdersAllRate, &resp); err != nil {
|
||||
if err := b.SendAuthHTTPRequest(exchange.RestSpotSupplementary, http.MethodGet, allOrders, params, spotAllOrdersRate, &resp); err != nil {
|
||||
return resp, err
|
||||
}
|
||||
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
@@ -621,7 +620,7 @@ func (b *Binance) QueryOrder(symbol currency.Pair, origClientOrderID string, ord
|
||||
params.Set("orderId", strconv.FormatInt(orderID, 10))
|
||||
}
|
||||
|
||||
if err := b.SendAuthHTTPRequest(exchange.RestSpotSupplementary, http.MethodGet, orderEndpoint, params, spotOrderRate, &resp); err != nil {
|
||||
if err := b.SendAuthHTTPRequest(exchange.RestSpotSupplementary, http.MethodGet, orderEndpoint, params, spotOrderQueryRate, &resp); err != nil {
|
||||
return resp, err
|
||||
}
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ const (
|
||||
// Binance Spot rate limits
|
||||
const (
|
||||
spotDefaultRate request.EndpointLimit = iota
|
||||
spotExchangeInfo
|
||||
spotHistoricalTradesRate
|
||||
spotOrderbookDepth500Rate
|
||||
spotOrderbookDepth1000Rate
|
||||
@@ -38,8 +39,10 @@ const (
|
||||
spotPriceChangeAllRate
|
||||
spotSymbolPriceAllRate
|
||||
spotOpenOrdersAllRate
|
||||
spotOpenOrdersSpecificRate
|
||||
spotOrderRate
|
||||
spotOrdersAllRate
|
||||
spotOrderQueryRate
|
||||
spotAllOrdersRate
|
||||
spotAccountInformationRate
|
||||
uFuturesDefaultRate
|
||||
uFuturesHistoricalTradesRate
|
||||
@@ -110,10 +113,11 @@ func (r *RateLimit) Limit(f request.EndpointLimit) error {
|
||||
spotSymbolPriceAllRate:
|
||||
limiter, tokens = r.SpotRate, 2
|
||||
case spotHistoricalTradesRate,
|
||||
spotAccountInformationRate,
|
||||
spotOrderbookDepth500Rate:
|
||||
limiter, tokens = r.SpotRate, 5
|
||||
case spotOrderbookDepth1000Rate:
|
||||
case spotOrderbookDepth1000Rate,
|
||||
spotAccountInformationRate,
|
||||
spotExchangeInfo:
|
||||
limiter, tokens = r.SpotRate, 10
|
||||
case spotPriceChangeAllRate:
|
||||
limiter, tokens = r.SpotRate, 40
|
||||
@@ -121,8 +125,12 @@ func (r *RateLimit) Limit(f request.EndpointLimit) error {
|
||||
limiter, tokens = r.SpotRate, 50
|
||||
case spotOrderRate:
|
||||
limiter, tokens = r.SpotOrdersRate, 1
|
||||
case spotOrdersAllRate:
|
||||
limiter, tokens = r.SpotOrdersRate, 5
|
||||
case spotOrderQueryRate:
|
||||
limiter, tokens = r.SpotOrdersRate, 2
|
||||
case spotOpenOrdersSpecificRate:
|
||||
limiter, tokens = r.SpotOrdersRate, 3
|
||||
case spotAllOrdersRate:
|
||||
limiter, tokens = r.SpotOrdersRate, 10
|
||||
case spotOpenOrdersAllRate:
|
||||
limiter, tokens = r.SpotOrdersRate, 40
|
||||
case uFuturesDefaultRate,
|
||||
@@ -240,7 +248,7 @@ func openOrdersLimit(symbol string) request.EndpointLimit {
|
||||
return spotOpenOrdersAllRate
|
||||
}
|
||||
|
||||
return spotOrderRate
|
||||
return spotOpenOrdersSpecificRate
|
||||
}
|
||||
|
||||
func orderbookLimit(depth int) request.EndpointLimit {
|
||||
|
||||
@@ -15,7 +15,7 @@ func TestRateLimit_Limit(t *testing.T) {
|
||||
}{
|
||||
"All Orderbooks Ticker": {Expected: spotOrderbookTickerAllRate, Limit: bestPriceLimit("")},
|
||||
"Orderbook Ticker": {Expected: spotDefaultRate, Limit: bestPriceLimit(symbol)},
|
||||
"Open Orders": {Expected: spotOrderRate, Limit: openOrdersLimit(symbol)},
|
||||
"Open Orders": {Expected: spotOpenOrdersSpecificRate, Limit: openOrdersLimit(symbol)},
|
||||
"Orderbook Depth 5": {Expected: spotDefaultRate, Limit: orderbookLimit(5)},
|
||||
"Orderbook Depth 10": {Expected: spotDefaultRate, Limit: orderbookLimit(10)},
|
||||
"Orderbook Depth 20": {Expected: spotDefaultRate, Limit: orderbookLimit(20)},
|
||||
@@ -48,7 +48,7 @@ func TestRateLimit_LimitStatic(t *testing.T) {
|
||||
"Default": spotDefaultRate,
|
||||
"Historical Trades": spotHistoricalTradesRate,
|
||||
"All Price Changes": spotPriceChangeAllRate,
|
||||
"All Orders": spotOrdersAllRate,
|
||||
"All Orders": spotAllOrdersRate,
|
||||
}
|
||||
for name, tt := range testTable {
|
||||
tt := tt
|
||||
|
||||
Reference in New Issue
Block a user