ccxt 4.3.33__py2.py3-none-any.whl → 4.3.34__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ccxt/__init__.py +1 -1
- ccxt/abstract/binance.py +1 -0
- ccxt/abstract/binancecoinm.py +1 -0
- ccxt/abstract/binanceus.py +1 -0
- ccxt/abstract/binanceusdm.py +1 -0
- ccxt/ace.py +2 -2
- ccxt/alpaca.py +1 -1
- ccxt/ascendex.py +2 -2
- ccxt/async_support/__init__.py +1 -1
- ccxt/async_support/ace.py +2 -2
- ccxt/async_support/alpaca.py +1 -1
- ccxt/async_support/ascendex.py +2 -2
- ccxt/async_support/base/exchange.py +17 -1
- ccxt/async_support/bigone.py +2 -2
- ccxt/async_support/binance.py +4 -3
- ccxt/async_support/bingx.py +2 -2
- ccxt/async_support/bit2c.py +1 -1
- ccxt/async_support/bitbank.py +1 -1
- ccxt/async_support/bitbns.py +1 -1
- ccxt/async_support/bitfinex.py +2 -2
- ccxt/async_support/bitfinex2.py +1 -1
- ccxt/async_support/bitflyer.py +1 -1
- ccxt/async_support/bitget.py +3 -3
- ccxt/async_support/bithumb.py +1 -1
- ccxt/async_support/bitmart.py +2 -2
- ccxt/async_support/bitmex.py +3 -3
- ccxt/async_support/bitopro.py +3 -3
- ccxt/async_support/bitrue.py +2 -2
- ccxt/async_support/bitso.py +2 -2
- ccxt/async_support/bitstamp.py +2 -2
- ccxt/async_support/bitteam.py +3 -3
- ccxt/async_support/bitvavo.py +2 -2
- ccxt/async_support/blockchaincom.py +1 -1
- ccxt/async_support/blofin.py +3 -3
- ccxt/async_support/btcalpha.py +3 -3
- ccxt/async_support/btcbox.py +1 -1
- ccxt/async_support/btcmarkets.py +3 -3
- ccxt/async_support/btcturk.py +1 -1
- ccxt/async_support/bybit.py +2 -2
- ccxt/async_support/cex.py +1 -1
- ccxt/async_support/coinbase.py +96 -55
- ccxt/async_support/coinbaseexchange.py +1 -1
- ccxt/async_support/coinbaseinternational.py +3 -3
- ccxt/async_support/coincheck.py +2 -2
- ccxt/async_support/coinex.py +2 -2
- ccxt/async_support/coinlist.py +2 -2
- ccxt/async_support/coinmate.py +2 -2
- ccxt/async_support/coinmetro.py +2 -2
- ccxt/async_support/coinone.py +1 -1
- ccxt/async_support/coinsph.py +2 -2
- ccxt/async_support/cryptocom.py +1 -1
- ccxt/async_support/currencycom.py +2 -2
- ccxt/async_support/delta.py +1 -1
- ccxt/async_support/deribit.py +2 -2
- ccxt/async_support/digifinex.py +2 -2
- ccxt/async_support/exmo.py +2 -2
- ccxt/async_support/gate.py +2 -2
- ccxt/async_support/gemini.py +2 -2
- ccxt/async_support/hitbtc.py +2 -2
- ccxt/async_support/hollaex.py +1 -1
- ccxt/async_support/htx.py +2 -2
- ccxt/async_support/huobijp.py +2 -2
- ccxt/async_support/hyperliquid.py +2 -2
- ccxt/async_support/idex.py +2 -2
- ccxt/async_support/indodax.py +2 -2
- ccxt/async_support/kraken.py +2 -2
- ccxt/async_support/krakenfutures.py +1 -1
- ccxt/async_support/kucoin.py +2 -2
- ccxt/async_support/kuna.py +2 -2
- ccxt/async_support/latoken.py +2 -2
- ccxt/async_support/lbank.py +1 -1
- ccxt/async_support/luno.py +1 -1
- ccxt/async_support/lykke.py +1 -1
- ccxt/async_support/mercado.py +1 -1
- ccxt/async_support/mexc.py +1 -1
- ccxt/async_support/ndax.py +2 -2
- ccxt/async_support/novadax.py +3 -3
- ccxt/async_support/oceanex.py +2 -2
- ccxt/async_support/okcoin.py +3 -3
- ccxt/async_support/okx.py +3 -3
- ccxt/async_support/onetrading.py +2 -2
- ccxt/async_support/p2b.py +2 -2
- ccxt/async_support/paymium.py +1 -1
- ccxt/async_support/phemex.py +4 -4
- ccxt/async_support/poloniex.py +3 -3
- ccxt/async_support/poloniexfutures.py +2 -2
- ccxt/async_support/probit.py +3 -3
- ccxt/async_support/timex.py +2 -2
- ccxt/async_support/tokocrypto.py +1 -1
- ccxt/async_support/tradeogre.py +1 -1
- ccxt/async_support/upbit.py +3 -3
- ccxt/async_support/wavesexchange.py +1 -1
- ccxt/async_support/wazirx.py +3 -3
- ccxt/async_support/whitebit.py +3 -3
- ccxt/async_support/woo.py +3 -3
- ccxt/async_support/woofipro.py +3 -3
- ccxt/async_support/yobit.py +1 -1
- ccxt/async_support/zaif.py +2 -2
- ccxt/async_support/zonda.py +1 -1
- ccxt/base/exchange.py +25 -3
- ccxt/base/types.py +0 -1
- ccxt/bigone.py +2 -2
- ccxt/binance.py +4 -3
- ccxt/bingx.py +2 -2
- ccxt/bit2c.py +1 -1
- ccxt/bitbank.py +1 -1
- ccxt/bitbns.py +1 -1
- ccxt/bitfinex.py +2 -2
- ccxt/bitfinex2.py +1 -1
- ccxt/bitflyer.py +1 -1
- ccxt/bitget.py +3 -3
- ccxt/bithumb.py +1 -1
- ccxt/bitmart.py +2 -2
- ccxt/bitmex.py +3 -3
- ccxt/bitopro.py +3 -3
- ccxt/bitrue.py +2 -2
- ccxt/bitso.py +2 -2
- ccxt/bitstamp.py +2 -2
- ccxt/bitteam.py +3 -3
- ccxt/bitvavo.py +2 -2
- ccxt/blockchaincom.py +1 -1
- ccxt/blofin.py +3 -3
- ccxt/btcalpha.py +3 -3
- ccxt/btcbox.py +1 -1
- ccxt/btcmarkets.py +3 -3
- ccxt/btcturk.py +1 -1
- ccxt/bybit.py +2 -2
- ccxt/cex.py +1 -1
- ccxt/coinbase.py +96 -55
- ccxt/coinbaseexchange.py +1 -1
- ccxt/coinbaseinternational.py +3 -3
- ccxt/coincheck.py +2 -2
- ccxt/coinex.py +2 -2
- ccxt/coinlist.py +2 -2
- ccxt/coinmate.py +2 -2
- ccxt/coinmetro.py +2 -2
- ccxt/coinone.py +1 -1
- ccxt/coinsph.py +2 -2
- ccxt/cryptocom.py +1 -1
- ccxt/currencycom.py +2 -2
- ccxt/delta.py +1 -1
- ccxt/deribit.py +2 -2
- ccxt/digifinex.py +2 -2
- ccxt/exmo.py +2 -2
- ccxt/gate.py +2 -2
- ccxt/gemini.py +2 -2
- ccxt/hitbtc.py +2 -2
- ccxt/hollaex.py +1 -1
- ccxt/htx.py +2 -2
- ccxt/huobijp.py +2 -2
- ccxt/hyperliquid.py +2 -2
- ccxt/idex.py +2 -2
- ccxt/indodax.py +2 -2
- ccxt/kraken.py +2 -2
- ccxt/krakenfutures.py +1 -1
- ccxt/kucoin.py +2 -2
- ccxt/kuna.py +2 -2
- ccxt/latoken.py +2 -2
- ccxt/lbank.py +1 -1
- ccxt/luno.py +1 -1
- ccxt/lykke.py +1 -1
- ccxt/mercado.py +1 -1
- ccxt/mexc.py +1 -1
- ccxt/ndax.py +2 -2
- ccxt/novadax.py +3 -3
- ccxt/oceanex.py +2 -2
- ccxt/okcoin.py +3 -3
- ccxt/okx.py +3 -3
- ccxt/onetrading.py +2 -2
- ccxt/p2b.py +2 -2
- ccxt/paymium.py +1 -1
- ccxt/phemex.py +4 -4
- ccxt/poloniex.py +3 -3
- ccxt/poloniexfutures.py +2 -2
- ccxt/pro/__init__.py +1 -1
- ccxt/pro/binance.py +331 -2
- ccxt/pro/bitmex.py +98 -1
- ccxt/pro/bybit.py +82 -1
- ccxt/pro/gate.py +173 -1
- ccxt/pro/kucoinfutures.py +4 -0
- ccxt/pro/okx.py +245 -2
- ccxt/probit.py +3 -3
- ccxt/test/base/__init__.py +1 -0
- ccxt/test/base/test_liquidation.py +50 -0
- ccxt/timex.py +2 -2
- ccxt/tokocrypto.py +1 -1
- ccxt/tradeogre.py +1 -1
- ccxt/upbit.py +3 -3
- ccxt/wavesexchange.py +1 -1
- ccxt/wazirx.py +3 -3
- ccxt/whitebit.py +3 -3
- ccxt/woo.py +3 -3
- ccxt/woofipro.py +3 -3
- ccxt/yobit.py +1 -1
- ccxt/zaif.py +2 -2
- ccxt/zonda.py +1 -1
- {ccxt-4.3.33.dist-info → ccxt-4.3.34.dist-info}/METADATA +4 -4
- {ccxt-4.3.33.dist-info → ccxt-4.3.34.dist-info}/RECORD +200 -199
- {ccxt-4.3.33.dist-info → ccxt-4.3.34.dist-info}/WHEEL +0 -0
- {ccxt-4.3.33.dist-info → ccxt-4.3.34.dist-info}/top_level.txt +0 -0
ccxt/async_support/wazirx.py
CHANGED
@@ -236,7 +236,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
236
236
|
markets = self.safe_value(response, 'symbols', [])
|
237
237
|
return self.parse_markets(markets)
|
238
238
|
|
239
|
-
def parse_market(self, market) -> Market:
|
239
|
+
def parse_market(self, market: dict) -> Market:
|
240
240
|
id = self.safe_string(market, 'symbol')
|
241
241
|
baseId = self.safe_string(market, 'baseAsset')
|
242
242
|
quoteId = self.safe_string(market, 'quoteAsset')
|
@@ -1107,7 +1107,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
1107
1107
|
#
|
1108
1108
|
return self.parse_transactions(response, currency, since, limit)
|
1109
1109
|
|
1110
|
-
def parse_transaction_status(self, status):
|
1110
|
+
def parse_transaction_status(self, status: Str):
|
1111
1111
|
statuses: dict = {
|
1112
1112
|
'0': 'ok',
|
1113
1113
|
'1': 'fail',
|
@@ -1187,7 +1187,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
1187
1187
|
}
|
1188
1188
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
1189
1189
|
|
1190
|
-
def handle_errors(self, code, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
1190
|
+
def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
1191
1191
|
#
|
1192
1192
|
# {"code":2098,"message":"Request out of receiving window."}
|
1193
1193
|
#
|
ccxt/async_support/whitebit.py
CHANGED
@@ -349,7 +349,7 @@ class whitebit(Exchange, ImplicitAPI):
|
|
349
349
|
#
|
350
350
|
return self.parse_markets(markets)
|
351
351
|
|
352
|
-
def parse_market(self, market) -> Market:
|
352
|
+
def parse_market(self, market: dict) -> Market:
|
353
353
|
id = self.safe_string(market, 'name')
|
354
354
|
baseId = self.safe_string(market, 'stock')
|
355
355
|
quoteId = self.safe_string(market, 'money')
|
@@ -1961,7 +1961,7 @@ class whitebit(Exchange, ImplicitAPI):
|
|
1961
1961
|
'info': transaction,
|
1962
1962
|
}
|
1963
1963
|
|
1964
|
-
def parse_transaction_status(self, status):
|
1964
|
+
def parse_transaction_status(self, status: Str):
|
1965
1965
|
statuses: dict = {
|
1966
1966
|
'1': 'pending',
|
1967
1967
|
'2': 'pending',
|
@@ -2415,7 +2415,7 @@ class whitebit(Exchange, ImplicitAPI):
|
|
2415
2415
|
}
|
2416
2416
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
2417
2417
|
|
2418
|
-
def handle_errors(self, code, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
2418
|
+
def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
2419
2419
|
if (code == 418) or (code == 429):
|
2420
2420
|
raise DDoSProtection(self.id + ' ' + str(code) + ' ' + reason + ' ' + body)
|
2421
2421
|
if code == 404:
|
ccxt/async_support/woo.py
CHANGED
@@ -431,7 +431,7 @@ class woo(Exchange, ImplicitAPI):
|
|
431
431
|
data = self.safe_list(response, 'rows', [])
|
432
432
|
return self.parse_markets(data)
|
433
433
|
|
434
|
-
def parse_market(self, market) -> Market:
|
434
|
+
def parse_market(self, market: dict) -> Market:
|
435
435
|
marketId = self.safe_string(market, 'symbol')
|
436
436
|
parts = marketId.split('_')
|
437
437
|
first = self.safe_string(parts, 0)
|
@@ -2110,7 +2110,7 @@ class woo(Exchange, ImplicitAPI):
|
|
2110
2110
|
'network': None,
|
2111
2111
|
}
|
2112
2112
|
|
2113
|
-
def parse_transaction_status(self, status):
|
2113
|
+
def parse_transaction_status(self, status: Str):
|
2114
2114
|
statuses: dict = {
|
2115
2115
|
'NEW': 'pending',
|
2116
2116
|
'CONFIRMING': 'pending',
|
@@ -2400,7 +2400,7 @@ class woo(Exchange, ImplicitAPI):
|
|
2400
2400
|
headers['x-api-signature'] = self.hmac(self.encode(auth), self.encode(self.secret), hashlib.sha256)
|
2401
2401
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
2402
2402
|
|
2403
|
-
def handle_errors(self, httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
2403
|
+
def handle_errors(self, httpCode: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
2404
2404
|
if not response:
|
2405
2405
|
return None # fallback to default error handler
|
2406
2406
|
#
|
ccxt/async_support/woofipro.py
CHANGED
@@ -397,7 +397,7 @@ class woofipro(Exchange, ImplicitAPI):
|
|
397
397
|
#
|
398
398
|
return self.safe_integer(response, 'timestamp')
|
399
399
|
|
400
|
-
def parse_market(self, market) -> Market:
|
400
|
+
def parse_market(self, market: dict) -> Market:
|
401
401
|
#
|
402
402
|
# {
|
403
403
|
# "symbol": "PERP_BTC_USDC",
|
@@ -2054,7 +2054,7 @@ class woofipro(Exchange, ImplicitAPI):
|
|
2054
2054
|
'network': None,
|
2055
2055
|
}
|
2056
2056
|
|
2057
|
-
def parse_transaction_status(self, status):
|
2057
|
+
def parse_transaction_status(self, status: Str):
|
2058
2058
|
statuses: dict = {
|
2059
2059
|
'NEW': 'pending',
|
2060
2060
|
'CONFIRMING': 'pending',
|
@@ -2507,7 +2507,7 @@ class woofipro(Exchange, ImplicitAPI):
|
|
2507
2507
|
headers['orderly-signature'] = self.urlencode_base64(self.base64_to_binary(signature))
|
2508
2508
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
2509
2509
|
|
2510
|
-
def handle_errors(self, httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
2510
|
+
def handle_errors(self, httpCode: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
2511
2511
|
if not response:
|
2512
2512
|
return None # fallback to default error handler
|
2513
2513
|
#
|
ccxt/async_support/yobit.py
CHANGED
@@ -1236,7 +1236,7 @@ class yobit(Exchange, ImplicitAPI):
|
|
1236
1236
|
}
|
1237
1237
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
1238
1238
|
|
1239
|
-
def handle_errors(self, httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
1239
|
+
def handle_errors(self, httpCode: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
1240
1240
|
if response is None:
|
1241
1241
|
return None # fallback to default error handler
|
1242
1242
|
if 'success' in response:
|
ccxt/async_support/zaif.py
CHANGED
@@ -174,7 +174,7 @@ class zaif(Exchange, ImplicitAPI):
|
|
174
174
|
#
|
175
175
|
return self.parse_markets(markets)
|
176
176
|
|
177
|
-
def parse_market(self, market) -> Market:
|
177
|
+
def parse_market(self, market: dict) -> Market:
|
178
178
|
id = self.safe_string(market, 'currency_pair')
|
179
179
|
name = self.safe_string(market, 'name')
|
180
180
|
baseId, quoteId = name.split('/')
|
@@ -679,7 +679,7 @@ class zaif(Exchange, ImplicitAPI):
|
|
679
679
|
}
|
680
680
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
681
681
|
|
682
|
-
def handle_errors(self, httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
682
|
+
def handle_errors(self, httpCode: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
683
683
|
if response is None:
|
684
684
|
return None
|
685
685
|
#
|
ccxt/async_support/zonda.py
CHANGED
@@ -1766,7 +1766,7 @@ class zonda(Exchange, ImplicitAPI):
|
|
1766
1766
|
}
|
1767
1767
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
1768
1768
|
|
1769
|
-
def handle_errors(self, httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
1769
|
+
def handle_errors(self, httpCode: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
1770
1770
|
if response is None:
|
1771
1771
|
return None # fallback to default error handler
|
1772
1772
|
if 'code' in response:
|
ccxt/base/exchange.py
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '4.3.
|
7
|
+
__version__ = '4.3.34'
|
8
8
|
|
9
9
|
# -----------------------------------------------------------------------------
|
10
10
|
|
@@ -254,9 +254,11 @@ class Exchange(object):
|
|
254
254
|
'511': AuthenticationError,
|
255
255
|
}
|
256
256
|
balance = None
|
257
|
+
liquidations = None
|
257
258
|
orderbooks = None
|
258
259
|
orders = None
|
259
260
|
triggerOrders = None
|
261
|
+
myLiquidations = None
|
260
262
|
myTrades = None
|
261
263
|
trades = None
|
262
264
|
transactions = None
|
@@ -390,6 +392,10 @@ class Exchange(object):
|
|
390
392
|
'watchOrderBookForSymbols': None,
|
391
393
|
'watchOHLCVForSymbols': None,
|
392
394
|
'watchBalance': None,
|
395
|
+
'watchLiquidations': None,
|
396
|
+
'watchLiquidationsForSymbols': None,
|
397
|
+
'watchMyLiquidations': None,
|
398
|
+
'watchMyLiquidationsForSymbols': None,
|
393
399
|
'watchOHLCV': None,
|
394
400
|
}
|
395
401
|
precisionMode = DECIMAL_PLACES
|
@@ -2125,6 +2131,22 @@ class Exchange(object):
|
|
2125
2131
|
def fetch_trades_ws(self, symbol: str, since: Int = None, limit: Int = None, params={}):
|
2126
2132
|
raise NotSupported(self.id + ' fetchTradesWs() is not supported yet')
|
2127
2133
|
|
2134
|
+
def watch_liquidations(self, symbol: str, since: Int = None, limit: Int = None, params={}):
|
2135
|
+
if self.has['watchLiquidationsForSymbols']:
|
2136
|
+
return self.watchLiquidationsForSymbols([symbol], since, limit, params)
|
2137
|
+
raise NotSupported(self.id + ' watchLiquidations() is not supported yet')
|
2138
|
+
|
2139
|
+
def watch_liquidations_for_symbols(self, symbols: List[str], since: Int = None, limit: Int = None, params={}):
|
2140
|
+
raise NotSupported(self.id + ' watchLiquidationsForSymbols() is not supported yet')
|
2141
|
+
|
2142
|
+
def watch_my_liquidations(self, symbol: str, since: Int = None, limit: Int = None, params={}):
|
2143
|
+
if self.has['watchMyLiquidationsForSymbols']:
|
2144
|
+
return self.watchMyLiquidationsForSymbols([symbol], since, limit, params)
|
2145
|
+
raise NotSupported(self.id + ' watchMyLiquidations() is not supported yet')
|
2146
|
+
|
2147
|
+
def watch_my_liquidations_for_symbols(self, symbols: List[str], since: Int = None, limit: Int = None, params={}):
|
2148
|
+
raise NotSupported(self.id + ' watchMyLiquidationsForSymbols() is not supported yet')
|
2149
|
+
|
2128
2150
|
def watch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}):
|
2129
2151
|
raise NotSupported(self.id + ' watchTrades() is not supported yet')
|
2130
2152
|
|
@@ -2179,7 +2201,7 @@ class Exchange(object):
|
|
2179
2201
|
def fetch_trading_limits(self, symbols: Strings = None, params={}):
|
2180
2202
|
raise NotSupported(self.id + ' fetchTradingLimits() is not supported yet')
|
2181
2203
|
|
2182
|
-
def parse_market(self, market):
|
2204
|
+
def parse_market(self, market: dict):
|
2183
2205
|
raise NotSupported(self.id + ' parseMarket() is not supported yet')
|
2184
2206
|
|
2185
2207
|
def parse_markets(self, markets):
|
@@ -4105,7 +4127,7 @@ class Exchange(object):
|
|
4105
4127
|
return key
|
4106
4128
|
return None
|
4107
4129
|
|
4108
|
-
def handle_errors(self, statusCode, statusText, url, method, responseHeaders, responseBody, response, requestHeaders, requestBody):
|
4130
|
+
def handle_errors(self, statusCode: int, statusText: str, url: str, method: str, responseHeaders: dict, responseBody: str, response, requestHeaders, requestBody):
|
4109
4131
|
# it is a stub method that must be overrided in the derived exchange classes
|
4110
4132
|
# raise NotSupported(self.id + ' handleErrors() not implemented yet')
|
4111
4133
|
return None
|
ccxt/base/types.py
CHANGED
ccxt/bigone.py
CHANGED
@@ -1780,7 +1780,7 @@ class bigone(Exchange, ImplicitAPI):
|
|
1780
1780
|
'info': response,
|
1781
1781
|
}
|
1782
1782
|
|
1783
|
-
def parse_transaction_status(self, status):
|
1783
|
+
def parse_transaction_status(self, status: Str):
|
1784
1784
|
statuses: dict = {
|
1785
1785
|
# what are other statuses here?
|
1786
1786
|
'WITHHOLD': 'ok', # deposits
|
@@ -2094,7 +2094,7 @@ class bigone(Exchange, ImplicitAPI):
|
|
2094
2094
|
data = self.safe_dict(response, 'data', {})
|
2095
2095
|
return self.parse_transaction(data, currency)
|
2096
2096
|
|
2097
|
-
def handle_errors(self, httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
2097
|
+
def handle_errors(self, httpCode: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
2098
2098
|
if response is None:
|
2099
2099
|
return None # fallback to default error handler
|
2100
2100
|
#
|
ccxt/binance.py
CHANGED
@@ -262,6 +262,7 @@ class binance(Exchange, ImplicitAPI):
|
|
262
262
|
'system/status': 0.1,
|
263
263
|
# these endpoints require self.apiKey
|
264
264
|
'accountSnapshot': 240, # Weight(IP): 2400 => cost = 0.1 * 2400 = 240
|
265
|
+
'account/info': 0.1,
|
265
266
|
'margin/asset': 1, # Weight(IP): 10 => cost = 0.1 * 10 = 1
|
266
267
|
'margin/pair': 1,
|
267
268
|
'margin/allAssets': 0.1,
|
@@ -3042,7 +3043,7 @@ class binance(Exchange, ImplicitAPI):
|
|
3042
3043
|
result.append(self.parse_market(markets[i]))
|
3043
3044
|
return result
|
3044
3045
|
|
3045
|
-
def parse_market(self, market) -> Market:
|
3046
|
+
def parse_market(self, market: dict) -> Market:
|
3046
3047
|
swap = False
|
3047
3048
|
future = False
|
3048
3049
|
option = False
|
@@ -10224,7 +10225,7 @@ class binance(Exchange, ImplicitAPI):
|
|
10224
10225
|
url += '?' + self.urlencode(params)
|
10225
10226
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
10226
10227
|
|
10227
|
-
def get_exceptions_by_url(self, url, exactOrBroad):
|
10228
|
+
def get_exceptions_by_url(self, url: str, exactOrBroad: str):
|
10228
10229
|
marketType = None
|
10229
10230
|
hostname = self.hostname if (self.hostname is not None) else 'binance.com'
|
10230
10231
|
if url.startswith('https://api.' + hostname + '/'):
|
@@ -10242,7 +10243,7 @@ class binance(Exchange, ImplicitAPI):
|
|
10242
10243
|
return self.safe_dict(exceptionsForMarketType, exactOrBroad, {})
|
10243
10244
|
return {}
|
10244
10245
|
|
10245
|
-
def handle_errors(self, code, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
10246
|
+
def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
10246
10247
|
if (code == 418) or (code == 429):
|
10247
10248
|
raise DDoSProtection(self.id + ' ' + str(code) + ' ' + reason + ' ' + body)
|
10248
10249
|
# error response in a form: {"code": -1013, "msg": "Invalid quantity."}
|
ccxt/bingx.py
CHANGED
@@ -635,7 +635,7 @@ class bingx(Exchange, ImplicitAPI):
|
|
635
635
|
markets = self.safe_list(response, 'data', [])
|
636
636
|
return self.parse_markets(markets)
|
637
637
|
|
638
|
-
def parse_market(self, market) -> Market:
|
638
|
+
def parse_market(self, market: dict) -> Market:
|
639
639
|
id = self.safe_string(market, 'symbol')
|
640
640
|
symbolParts = id.split('-')
|
641
641
|
baseId = symbolParts[0]
|
@@ -4263,7 +4263,7 @@ class bingx(Exchange, ImplicitAPI):
|
|
4263
4263
|
super(bingx, self).set_sandbox_mode(enable)
|
4264
4264
|
self.options['sandboxMode'] = enable
|
4265
4265
|
|
4266
|
-
def handle_errors(self, httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
4266
|
+
def handle_errors(self, httpCode: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
4267
4267
|
if response is None:
|
4268
4268
|
return None # fallback to default error handler
|
4269
4269
|
#
|
ccxt/bit2c.py
CHANGED
@@ -846,7 +846,7 @@ class bit2c(Exchange, ImplicitAPI):
|
|
846
846
|
}
|
847
847
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
848
848
|
|
849
|
-
def handle_errors(self, httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
849
|
+
def handle_errors(self, httpCode: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
850
850
|
if response is None:
|
851
851
|
return None # fallback to default error handler
|
852
852
|
#
|
ccxt/bitbank.py
CHANGED
@@ -881,7 +881,7 @@ class bitbank(Exchange, ImplicitAPI):
|
|
881
881
|
}
|
882
882
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
883
883
|
|
884
|
-
def handle_errors(self, httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
884
|
+
def handle_errors(self, httpCode: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
885
885
|
if response is None:
|
886
886
|
return None
|
887
887
|
success = self.safe_integer(response, 'success')
|
ccxt/bitbns.py
CHANGED
@@ -1135,7 +1135,7 @@ class bitbns(Exchange, ImplicitAPI):
|
|
1135
1135
|
headers['Content-Type'] = 'application/x-www-form-urlencoded'
|
1136
1136
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
1137
1137
|
|
1138
|
-
def handle_errors(self, httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
1138
|
+
def handle_errors(self, httpCode: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
1139
1139
|
if response is None:
|
1140
1140
|
return None # fallback to default error handler
|
1141
1141
|
#
|
ccxt/bitfinex.py
CHANGED
@@ -1477,7 +1477,7 @@ class bitfinex(Exchange, ImplicitAPI):
|
|
1477
1477
|
},
|
1478
1478
|
}
|
1479
1479
|
|
1480
|
-
def parse_transaction_status(self, status):
|
1480
|
+
def parse_transaction_status(self, status: Str):
|
1481
1481
|
statuses: dict = {
|
1482
1482
|
'SENDING': 'pending',
|
1483
1483
|
'CANCELED': 'canceled',
|
@@ -1594,7 +1594,7 @@ class bitfinex(Exchange, ImplicitAPI):
|
|
1594
1594
|
}
|
1595
1595
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
1596
1596
|
|
1597
|
-
def handle_errors(self, code, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
1597
|
+
def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
1598
1598
|
if response is None:
|
1599
1599
|
return None
|
1600
1600
|
throwError = False
|
ccxt/bitfinex2.py
CHANGED
@@ -2146,7 +2146,7 @@ class bitfinex2(Exchange, ImplicitAPI):
|
|
2146
2146
|
'info': response,
|
2147
2147
|
}
|
2148
2148
|
|
2149
|
-
def parse_transaction_status(self, status):
|
2149
|
+
def parse_transaction_status(self, status: Str):
|
2150
2150
|
statuses: dict = {
|
2151
2151
|
'SUCCESS': 'ok',
|
2152
2152
|
'COMPLETED': 'ok',
|
ccxt/bitflyer.py
CHANGED
@@ -982,7 +982,7 @@ class bitflyer(Exchange, ImplicitAPI):
|
|
982
982
|
}
|
983
983
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
984
984
|
|
985
|
-
def handle_errors(self, code, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
985
|
+
def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
986
986
|
if response is None:
|
987
987
|
return None # fallback to the default error handler
|
988
988
|
feedback = self.id + ' ' + body
|
ccxt/bitget.py
CHANGED
@@ -1558,7 +1558,7 @@ class bitget(Exchange, ImplicitAPI):
|
|
1558
1558
|
result = self.array_concat(result, promises[i])
|
1559
1559
|
return result
|
1560
1560
|
|
1561
|
-
def parse_market(self, market) -> Market:
|
1561
|
+
def parse_market(self, market: dict) -> Market:
|
1562
1562
|
#
|
1563
1563
|
# spot
|
1564
1564
|
#
|
@@ -2377,7 +2377,7 @@ class bitget(Exchange, ImplicitAPI):
|
|
2377
2377
|
'fee': fee,
|
2378
2378
|
}
|
2379
2379
|
|
2380
|
-
def parse_transaction_status(self, status):
|
2380
|
+
def parse_transaction_status(self, status: Str):
|
2381
2381
|
statuses: dict = {
|
2382
2382
|
'success': 'ok',
|
2383
2383
|
'Pending': 'pending',
|
@@ -8181,7 +8181,7 @@ class bitget(Exchange, ImplicitAPI):
|
|
8181
8181
|
}
|
8182
8182
|
return result
|
8183
8183
|
|
8184
|
-
def handle_errors(self, code, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
8184
|
+
def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
8185
8185
|
if not response:
|
8186
8186
|
return None # fallback to default error handler
|
8187
8187
|
#
|
ccxt/bithumb.py
CHANGED
@@ -1031,7 +1031,7 @@ class bithumb(Exchange, ImplicitAPI):
|
|
1031
1031
|
}
|
1032
1032
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
1033
1033
|
|
1034
|
-
def handle_errors(self, httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
1034
|
+
def handle_errors(self, httpCode: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
1035
1035
|
if response is None:
|
1036
1036
|
return None # fallback to default error handler
|
1037
1037
|
if 'status' in response:
|
ccxt/bitmart.py
CHANGED
@@ -3282,7 +3282,7 @@ class bitmart(Exchange, ImplicitAPI):
|
|
3282
3282
|
"""
|
3283
3283
|
return self.fetch_transactions_by_type('withdraw', code, since, limit, params)
|
3284
3284
|
|
3285
|
-
def parse_transaction_status(self, status):
|
3285
|
+
def parse_transaction_status(self, status: Str):
|
3286
3286
|
statuses: dict = {
|
3287
3287
|
'0': 'pending', # Create
|
3288
3288
|
'1': 'pending', # Submitted, waiting for withdrawal
|
@@ -4297,7 +4297,7 @@ class bitmart(Exchange, ImplicitAPI):
|
|
4297
4297
|
headers['X-BM-SIGN'] = signature
|
4298
4298
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
4299
4299
|
|
4300
|
-
def handle_errors(self, code, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
4300
|
+
def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
4301
4301
|
if response is None:
|
4302
4302
|
return None
|
4303
4303
|
#
|
ccxt/bitmex.py
CHANGED
@@ -580,7 +580,7 @@ class bitmex(Exchange, ImplicitAPI):
|
|
580
580
|
#
|
581
581
|
return self.parse_markets(response)
|
582
582
|
|
583
|
-
def parse_market(self, market) -> Market:
|
583
|
+
def parse_market(self, market: dict) -> Market:
|
584
584
|
id = self.safe_string(market, 'symbol')
|
585
585
|
baseId = self.safe_string(market, 'underlying')
|
586
586
|
quoteId = self.safe_string(market, 'quoteCurrency')
|
@@ -1220,7 +1220,7 @@ class bitmex(Exchange, ImplicitAPI):
|
|
1220
1220
|
transactions = self.filter_by_array(response, 'transactType', ['Withdrawal', 'Deposit'], False)
|
1221
1221
|
return self.parse_transactions(transactions, currency, since, limit)
|
1222
1222
|
|
1223
|
-
def parse_transaction_status(self, status):
|
1223
|
+
def parse_transaction_status(self, status: Str):
|
1224
1224
|
statuses: dict = {
|
1225
1225
|
'Confirmed': 'pending',
|
1226
1226
|
'Canceled': 'canceled',
|
@@ -2705,7 +2705,7 @@ class bitmex(Exchange, ImplicitAPI):
|
|
2705
2705
|
'datetime': None,
|
2706
2706
|
})
|
2707
2707
|
|
2708
|
-
def handle_errors(self, code, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
2708
|
+
def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
2709
2709
|
if response is None:
|
2710
2710
|
return None
|
2711
2711
|
if code == 429:
|
ccxt/bitopro.py
CHANGED
@@ -316,7 +316,7 @@ class bitopro(Exchange, ImplicitAPI):
|
|
316
316
|
#
|
317
317
|
return self.parse_markets(markets)
|
318
318
|
|
319
|
-
def parse_market(self, market) -> Market:
|
319
|
+
def parse_market(self, market: dict) -> Market:
|
320
320
|
active = not self.safe_value(market, 'maintain')
|
321
321
|
id = self.safe_string(market, 'pair')
|
322
322
|
uppercaseId = id.upper()
|
@@ -1259,7 +1259,7 @@ class bitopro(Exchange, ImplicitAPI):
|
|
1259
1259
|
#
|
1260
1260
|
return self.parse_trades(trades, market, since, limit)
|
1261
1261
|
|
1262
|
-
def parse_transaction_status(self, status):
|
1262
|
+
def parse_transaction_status(self, status: Str):
|
1263
1263
|
states: dict = {
|
1264
1264
|
'COMPLETE': 'ok',
|
1265
1265
|
'INVALID': 'failed',
|
@@ -1618,7 +1618,7 @@ class bitopro(Exchange, ImplicitAPI):
|
|
1618
1618
|
url = self.urls['api']['rest'] + url
|
1619
1619
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
1620
1620
|
|
1621
|
-
def handle_errors(self, code, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
1621
|
+
def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
1622
1622
|
if response is None:
|
1623
1623
|
return None # fallback to the default error handler
|
1624
1624
|
if code >= 200 and code < 300:
|
ccxt/bitrue.py
CHANGED
@@ -809,7 +809,7 @@ class bitrue(Exchange, ImplicitAPI):
|
|
809
809
|
self.load_time_difference()
|
810
810
|
return self.parse_markets(markets)
|
811
811
|
|
812
|
-
def parse_market(self, market) -> Market:
|
812
|
+
def parse_market(self, market: dict) -> Market:
|
813
813
|
id = self.safe_string(market, 'symbol')
|
814
814
|
lowercaseId = self.safe_string_lower(market, 'symbol')
|
815
815
|
side = self.safe_integer(market, 'side') # 1 linear, 0 inverse, None spot
|
@@ -2961,7 +2961,7 @@ class bitrue(Exchange, ImplicitAPI):
|
|
2961
2961
|
url += '?' + self.urlencode(params)
|
2962
2962
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
2963
2963
|
|
2964
|
-
def handle_errors(self, code, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
2964
|
+
def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
2965
2965
|
if (code == 418) or (code == 429):
|
2966
2966
|
raise DDoSProtection(self.id + ' ' + str(code) + ' ' + reason + ' ' + body)
|
2967
2967
|
# error response in a form: {"code": -1013, "msg": "Invalid quantity."}
|
ccxt/bitso.py
CHANGED
@@ -1611,7 +1611,7 @@ class bitso(Exchange, ImplicitAPI):
|
|
1611
1611
|
'info': transaction,
|
1612
1612
|
}
|
1613
1613
|
|
1614
|
-
def parse_transaction_status(self, status):
|
1614
|
+
def parse_transaction_status(self, status: Str):
|
1615
1615
|
statuses: dict = {
|
1616
1616
|
'pending': 'pending',
|
1617
1617
|
'in_progress': 'pending',
|
@@ -1646,7 +1646,7 @@ class bitso(Exchange, ImplicitAPI):
|
|
1646
1646
|
}
|
1647
1647
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
1648
1648
|
|
1649
|
-
def handle_errors(self, httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
1649
|
+
def handle_errors(self, httpCode: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
1650
1650
|
if response is None:
|
1651
1651
|
return None # fallback to default error handler
|
1652
1652
|
if 'success' in response:
|
ccxt/bitstamp.py
CHANGED
@@ -1689,7 +1689,7 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
1689
1689
|
'fee': fee,
|
1690
1690
|
}
|
1691
1691
|
|
1692
|
-
def parse_transaction_status(self, status):
|
1692
|
+
def parse_transaction_status(self, status: Str):
|
1693
1693
|
#
|
1694
1694
|
# withdrawals:
|
1695
1695
|
# 0(open), 1(in process), 2(finished), 3(canceled) or 4(failed).
|
@@ -2109,7 +2109,7 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
2109
2109
|
headers['X-Auth-Signature'] = signature
|
2110
2110
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
2111
2111
|
|
2112
|
-
def handle_errors(self, httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
2112
|
+
def handle_errors(self, httpCode: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
2113
2113
|
if response is None:
|
2114
2114
|
return None
|
2115
2115
|
#
|
ccxt/bitteam.py
CHANGED
@@ -349,7 +349,7 @@ class bitteam(Exchange, ImplicitAPI):
|
|
349
349
|
markets = self.safe_value(result, 'pairs', [])
|
350
350
|
return self.parse_markets(markets)
|
351
351
|
|
352
|
-
def parse_market(self, market) -> Market:
|
352
|
+
def parse_market(self, market: dict) -> Market:
|
353
353
|
id = self.safe_string(market, 'name')
|
354
354
|
numericId = self.safe_integer(market, 'id')
|
355
355
|
parts = id.split('_')
|
@@ -2190,7 +2190,7 @@ class bitteam(Exchange, ImplicitAPI):
|
|
2190
2190
|
}
|
2191
2191
|
return self.safe_string(types, type, type)
|
2192
2192
|
|
2193
|
-
def parse_transaction_status(self, status):
|
2193
|
+
def parse_transaction_status(self, status: Str):
|
2194
2194
|
statuses: dict = {
|
2195
2195
|
'approving': 'pending',
|
2196
2196
|
'success': 'ok',
|
@@ -2219,7 +2219,7 @@ class bitteam(Exchange, ImplicitAPI):
|
|
2219
2219
|
url += '?' + query
|
2220
2220
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
2221
2221
|
|
2222
|
-
def handle_errors(self, code, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
2222
|
+
def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
2223
2223
|
if response is None:
|
2224
2224
|
return None
|
2225
2225
|
if code != 200:
|
ccxt/bitvavo.py
CHANGED
@@ -1751,7 +1751,7 @@ class bitvavo(Exchange, ImplicitAPI):
|
|
1751
1751
|
#
|
1752
1752
|
return self.parse_transactions(response, currency, since, limit, {'type': 'deposit'})
|
1753
1753
|
|
1754
|
-
def parse_transaction_status(self, status):
|
1754
|
+
def parse_transaction_status(self, status: Str):
|
1755
1755
|
statuses: dict = {
|
1756
1756
|
'awaiting_processing': 'pending',
|
1757
1757
|
'awaiting_email_confirmation': 'pending',
|
@@ -1945,7 +1945,7 @@ class bitvavo(Exchange, ImplicitAPI):
|
|
1945
1945
|
url = self.urls['api'][api] + url
|
1946
1946
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
1947
1947
|
|
1948
|
-
def handle_errors(self, httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
1948
|
+
def handle_errors(self, httpCode: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
1949
1949
|
if response is None:
|
1950
1950
|
return None # fallback to default error handler
|
1951
1951
|
#
|
ccxt/blockchaincom.py
CHANGED
@@ -1083,7 +1083,7 @@ class blockchaincom(Exchange, ImplicitAPI):
|
|
1083
1083
|
headers['Content-Type'] = 'application/json'
|
1084
1084
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
1085
1085
|
|
1086
|
-
def handle_errors(self, code, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
1086
|
+
def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
1087
1087
|
# {"timestamp":"2021-10-21T15:13:58.837+00:00","status":404,"error":"Not Found","message":"","path":"/orders/505050"
|
1088
1088
|
if response is None:
|
1089
1089
|
return None
|
ccxt/blofin.py
CHANGED
@@ -368,7 +368,7 @@ class blofin(Exchange, ImplicitAPI):
|
|
368
368
|
data = self.safe_list(response, 'data', [])
|
369
369
|
return self.parse_markets(data)
|
370
370
|
|
371
|
-
def parse_market(self, market) -> Market:
|
371
|
+
def parse_market(self, market: dict) -> Market:
|
372
372
|
id = self.safe_string(market, 'instId')
|
373
373
|
type = self.safe_string_lower(market, 'instType')
|
374
374
|
spot = (type == 'spot')
|
@@ -1499,7 +1499,7 @@ class blofin(Exchange, ImplicitAPI):
|
|
1499
1499
|
},
|
1500
1500
|
}
|
1501
1501
|
|
1502
|
-
def parse_transaction_status(self, status):
|
1502
|
+
def parse_transaction_status(self, status: Str):
|
1503
1503
|
statuses: dict = {
|
1504
1504
|
'0': 'pending',
|
1505
1505
|
'1': 'ok',
|
@@ -2000,7 +2000,7 @@ class blofin(Exchange, ImplicitAPI):
|
|
2000
2000
|
'marginMode': self.safe_string(marginMode, 'marginMode'),
|
2001
2001
|
}
|
2002
2002
|
|
2003
|
-
def handle_errors(self, httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody):
|
2003
|
+
def handle_errors(self, httpCode: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
2004
2004
|
if response is None:
|
2005
2005
|
return None # fallback to default error handler
|
2006
2006
|
#
|