ccxt 4.1.78__py2.py3-none-any.whl → 4.1.80__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 CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.1.78'
25
+ __version__ = '4.1.80'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
ccxt/abstract/coinbase.py CHANGED
@@ -59,6 +59,7 @@ class ImplicitAPI:
59
59
  v3_private_get_brokerage_product_book = v3PrivateGetBrokerageProductBook = Entry('brokerage/product_book', ['v3', 'private'], 'GET', {})
60
60
  v3_private_get_brokerage_best_bid_ask = v3PrivateGetBrokerageBestBidAsk = Entry('brokerage/best_bid_ask', ['v3', 'private'], 'GET', {})
61
61
  v3_private_get_brokerage_convert_trade_trade_id = v3PrivateGetBrokerageConvertTradeTradeId = Entry('brokerage/convert/trade/{trade_id}', ['v3', 'private'], 'GET', {})
62
+ v3_private_get_brokerage_time = v3PrivateGetBrokerageTime = Entry('brokerage/time', ['v3', 'private'], 'GET', {})
62
63
  v3_private_post_brokerage_orders = v3PrivatePostBrokerageOrders = Entry('brokerage/orders', ['v3', 'private'], 'POST', {})
63
64
  v3_private_post_brokerage_orders_batch_cancel = v3PrivatePostBrokerageOrdersBatchCancel = Entry('brokerage/orders/batch_cancel', ['v3', 'private'], 'POST', {})
64
65
  v3_private_post_brokerage_orders_edit = v3PrivatePostBrokerageOrdersEdit = Entry('brokerage/orders/edit', ['v3', 'private'], 'POST', {})
@@ -53,6 +53,9 @@ class ImplicitAPI:
53
53
  v2_private_post_private_get_currency_networks = v2PrivatePostPrivateGetCurrencyNetworks = Entry('private/get-currency-networks', ['v2', 'private'], 'POST', {'cost': 3.3333333333333335})
54
54
  v2_private_post_private_get_deposit_history = v2PrivatePostPrivateGetDepositHistory = Entry('private/get-deposit-history', ['v2', 'private'], 'POST', {'cost': 3.3333333333333335})
55
55
  v2_private_post_private_get_deposit_address = v2PrivatePostPrivateGetDepositAddress = Entry('private/get-deposit-address', ['v2', 'private'], 'POST', {'cost': 3.3333333333333335})
56
+ v2_private_post_private_export_create_export_request = v2PrivatePostPrivateExportCreateExportRequest = Entry('private/export/create-export-request', ['v2', 'private'], 'POST', {'cost': 3.3333333333333335})
57
+ v2_private_post_private_export_get_export_requests = v2PrivatePostPrivateExportGetExportRequests = Entry('private/export/get-export-requests', ['v2', 'private'], 'POST', {'cost': 3.3333333333333335})
58
+ v2_private_post_private_export_download_export_output = v2PrivatePostPrivateExportDownloadExportOutput = Entry('private/export/download-export-output', ['v2', 'private'], 'POST', {'cost': 3.3333333333333335})
56
59
  v2_private_post_private_get_account_summary = v2PrivatePostPrivateGetAccountSummary = Entry('private/get-account-summary', ['v2', 'private'], 'POST', {'cost': 3.3333333333333335})
57
60
  v2_private_post_private_create_order = v2PrivatePostPrivateCreateOrder = Entry('private/create-order', ['v2', 'private'], 'POST', {'cost': 0.6666666666666666})
58
61
  v2_private_post_private_cancel_order = v2PrivatePostPrivateCancelOrder = Entry('private/cancel-order', ['v2', 'private'], 'POST', {'cost': 0.6666666666666666})
@@ -71,6 +74,7 @@ class ImplicitAPI:
71
74
  v2_private_post_private_otc_accept_quote = v2PrivatePostPrivateOtcAcceptQuote = Entry('private/otc/accept-quote', ['v2', 'private'], 'POST', {'cost': 100})
72
75
  v2_private_post_private_otc_get_quote_history = v2PrivatePostPrivateOtcGetQuoteHistory = Entry('private/otc/get-quote-history', ['v2', 'private'], 'POST', {'cost': 3.3333333333333335})
73
76
  v2_private_post_private_otc_get_trade_history = v2PrivatePostPrivateOtcGetTradeHistory = Entry('private/otc/get-trade-history', ['v2', 'private'], 'POST', {'cost': 3.3333333333333335})
77
+ v2_private_post_private_otc_create_order = v2PrivatePostPrivateOtcCreateOrder = Entry('private/otc/create-order', ['v2', 'private'], 'POST', {'cost': 3.3333333333333335})
74
78
  derivatives_public_get_public_auth = derivativesPublicGetPublicAuth = Entry('public/auth', ['derivatives', 'public'], 'GET', {'cost': 3.3333333333333335})
75
79
  derivatives_public_get_public_get_instruments = derivativesPublicGetPublicGetInstruments = Entry('public/get-instruments', ['derivatives', 'public'], 'GET', {'cost': 3.3333333333333335})
76
80
  derivatives_public_get_public_get_book = derivativesPublicGetPublicGetBook = Entry('public/get-book', ['derivatives', 'public'], 'GET', {'cost': 1})
ccxt/abstract/mexc.py CHANGED
@@ -4,9 +4,9 @@ from ccxt.base.types import Entry
4
4
  class ImplicitAPI:
5
5
  spot_public_get_ping = spotPublicGetPing = Entry('ping', ['spot', 'public'], 'GET', {'cost': 1})
6
6
  spot_public_get_time = spotPublicGetTime = Entry('time', ['spot', 'public'], 'GET', {'cost': 1})
7
- spot_public_get_exchangeinfo = spotPublicGetExchangeInfo = Entry('exchangeInfo', ['spot', 'public'], 'GET', {'cost': 1})
7
+ spot_public_get_exchangeinfo = spotPublicGetExchangeInfo = Entry('exchangeInfo', ['spot', 'public'], 'GET', {'cost': 10})
8
8
  spot_public_get_depth = spotPublicGetDepth = Entry('depth', ['spot', 'public'], 'GET', {'cost': 1})
9
- spot_public_get_trades = spotPublicGetTrades = Entry('trades', ['spot', 'public'], 'GET', {'cost': 1})
9
+ spot_public_get_trades = spotPublicGetTrades = Entry('trades', ['spot', 'public'], 'GET', {'cost': 5})
10
10
  spot_public_get_historicaltrades = spotPublicGetHistoricalTrades = Entry('historicalTrades', ['spot', 'public'], 'GET', {'cost': 1})
11
11
  spot_public_get_aggtrades = spotPublicGetAggTrades = Entry('aggTrades', ['spot', 'public'], 'GET', {'cost': 1})
12
12
  spot_public_get_klines = spotPublicGetKlines = Entry('klines', ['spot', 'public'], 'GET', {'cost': 1})
@@ -15,17 +15,18 @@ class ImplicitAPI:
15
15
  spot_public_get_ticker_price = spotPublicGetTickerPrice = Entry('ticker/price', ['spot', 'public'], 'GET', {'cost': 1})
16
16
  spot_public_get_ticker_bookticker = spotPublicGetTickerBookTicker = Entry('ticker/bookTicker', ['spot', 'public'], 'GET', {'cost': 1})
17
17
  spot_public_get_etf_info = spotPublicGetEtfInfo = Entry('etf/info', ['spot', 'public'], 'GET', {'cost': 1})
18
- spot_private_get_order = spotPrivateGetOrder = Entry('order', ['spot', 'private'], 'GET', {'cost': 1})
19
- spot_private_get_openorders = spotPrivateGetOpenOrders = Entry('openOrders', ['spot', 'private'], 'GET', {'cost': 1})
20
- spot_private_get_allorders = spotPrivateGetAllOrders = Entry('allOrders', ['spot', 'private'], 'GET', {'cost': 1})
18
+ spot_private_get_order = spotPrivateGetOrder = Entry('order', ['spot', 'private'], 'GET', {'cost': 2})
19
+ spot_private_get_openorders = spotPrivateGetOpenOrders = Entry('openOrders', ['spot', 'private'], 'GET', {'cost': 3})
20
+ spot_private_get_allorders = spotPrivateGetAllOrders = Entry('allOrders', ['spot', 'private'], 'GET', {'cost': 10})
21
21
  spot_private_get_account = spotPrivateGetAccount = Entry('account', ['spot', 'private'], 'GET', {'cost': 10})
22
- spot_private_get_mytrades = spotPrivateGetMyTrades = Entry('myTrades', ['spot', 'private'], 'GET', {'cost': 1})
22
+ spot_private_get_mytrades = spotPrivateGetMyTrades = Entry('myTrades', ['spot', 'private'], 'GET', {'cost': 10})
23
23
  spot_private_get_sub_account_list = spotPrivateGetSubAccountList = Entry('sub-account/list', ['spot', 'private'], 'GET', {'cost': 1})
24
24
  spot_private_get_sub_account_apikey = spotPrivateGetSubAccountApiKey = Entry('sub-account/apiKey', ['spot', 'private'], 'GET', {'cost': 1})
25
- spot_private_get_capital_config_getall = spotPrivateGetCapitalConfigGetall = Entry('capital/config/getall', ['spot', 'private'], 'GET', {'cost': 1})
25
+ spot_private_get_capital_config_getall = spotPrivateGetCapitalConfigGetall = Entry('capital/config/getall', ['spot', 'private'], 'GET', {'cost': 10})
26
26
  spot_private_get_capital_deposit_hisrec = spotPrivateGetCapitalDepositHisrec = Entry('capital/deposit/hisrec', ['spot', 'private'], 'GET', {'cost': 1})
27
27
  spot_private_get_capital_withdraw_history = spotPrivateGetCapitalWithdrawHistory = Entry('capital/withdraw/history', ['spot', 'private'], 'GET', {'cost': 1})
28
- spot_private_get_capital_deposit_address = spotPrivateGetCapitalDepositAddress = Entry('capital/deposit/address', ['spot', 'private'], 'GET', {'cost': 1})
28
+ spot_private_get_capital_withdraw_address = spotPrivateGetCapitalWithdrawAddress = Entry('capital/withdraw/address', ['spot', 'private'], 'GET', {'cost': 10})
29
+ spot_private_get_capital_deposit_address = spotPrivateGetCapitalDepositAddress = Entry('capital/deposit/address', ['spot', 'private'], 'GET', {'cost': 10})
29
30
  spot_private_get_capital_transfer = spotPrivateGetCapitalTransfer = Entry('capital/transfer', ['spot', 'private'], 'GET', {'cost': 1})
30
31
  spot_private_get_capital_transfer_tranid = spotPrivateGetCapitalTransferTranId = Entry('capital/transfer/tranId', ['spot', 'private'], 'GET', {'cost': 1})
31
32
  spot_private_get_capital_transfer_internal = spotPrivateGetCapitalTransferInternal = Entry('capital/transfer/internal', ['spot', 'private'], 'GET', {'cost': 1})
@@ -67,7 +68,7 @@ class ImplicitAPI:
67
68
  spot_private_post_capital_transfer_internal = spotPrivatePostCapitalTransferInternal = Entry('capital/transfer/internal', ['spot', 'private'], 'POST', {'cost': 1})
68
69
  spot_private_post_capital_deposit_address = spotPrivatePostCapitalDepositAddress = Entry('capital/deposit/address', ['spot', 'private'], 'POST', {'cost': 1})
69
70
  spot_private_post_capital_sub_account_universaltransfer = spotPrivatePostCapitalSubAccountUniversalTransfer = Entry('capital/sub-account/universalTransfer', ['spot', 'private'], 'POST', {'cost': 1})
70
- spot_private_post_capital_convert = spotPrivatePostCapitalConvert = Entry('capital/convert', ['spot', 'private'], 'POST', {'cost': 1})
71
+ spot_private_post_capital_convert = spotPrivatePostCapitalConvert = Entry('capital/convert', ['spot', 'private'], 'POST', {'cost': 10})
71
72
  spot_private_post_mxdeduct_enable = spotPrivatePostMxDeductEnable = Entry('mxDeduct/enable', ['spot', 'private'], 'POST', {'cost': 1})
72
73
  spot_private_post_userdatastream = spotPrivatePostUserDataStream = Entry('userDataStream', ['spot', 'private'], 'POST', {'cost': 1})
73
74
  spot_private_put_userdatastream = spotPrivatePutUserDataStream = Entry('userDataStream', ['spot', 'private'], 'PUT', {'cost': 1})
ccxt/abstract/woo.py CHANGED
@@ -47,6 +47,7 @@ class ImplicitAPI:
47
47
  v1_private_delete_orders = v1PrivateDeleteOrders = Entry('orders', ['v1', 'private'], 'DELETE', {'cost': 1})
48
48
  v1_private_delete_asset_withdraw = v1PrivateDeleteAssetWithdraw = Entry('asset/withdraw', ['v1', 'private'], 'DELETE', {'cost': 120})
49
49
  v2_private_get_client_holding = v2PrivateGetClientHolding = Entry('client/holding', ['v2', 'private'], 'GET', {'cost': 1})
50
+ v3_public_get_insurancefund = v3PublicGetInsuranceFund = Entry('insuranceFund', ['v3', 'public'], 'GET', {'cost': 3})
50
51
  v3_private_get_algo_order_oid = v3PrivateGetAlgoOrderOid = Entry('algo/order/{oid}', ['v3', 'private'], 'GET', {'cost': 1})
51
52
  v3_private_get_algo_orders = v3PrivateGetAlgoOrders = Entry('algo/orders', ['v3', 'private'], 'GET', {'cost': 1})
52
53
  v3_private_get_balances = v3PrivateGetBalances = Entry('balances', ['v3', 'private'], 'GET', {'cost': 1})
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.1.78'
7
+ __version__ = '4.1.80'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.1.78'
5
+ __version__ = '4.1.80'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -1188,35 +1188,6 @@ class bingx(Exchange, ImplicitAPI):
1188
1188
  response = await self.spotV1PublicGetTicker24hr(self.extend(request, params))
1189
1189
  else:
1190
1190
  response = await self.swapV2PublicGetQuoteTicker(self.extend(request, params))
1191
- #
1192
- # {
1193
- # "code": 0,
1194
- # "msg": "",
1195
- # "data": {
1196
- # "symbol": "BTC-USDT",
1197
- # "priceChange": "52.5",
1198
- # "priceChangePercent": "0.31",
1199
- # "lastPrice": "16880.5",
1200
- # "lastQty": "2.2238",
1201
- # "highPrice": "16897.5",
1202
- # "lowPrice": "16726.0",
1203
- # "volume": "245870.1692",
1204
- # "quoteVolume": "4151395117.73",
1205
- # "openPrice": "16832.0",
1206
- # "openTime": 1672026667803,
1207
- # "closeTime": 1672026648425,
1208
- # added some time ago:
1209
- # "firstId": 12345,
1210
- # "lastId": 12349,
1211
- # "count": 5,
1212
- # added 2023-11-10:
1213
- # "bidPrice": 16726.0,
1214
- # "bidQty": 0.05,
1215
- # "askPrice": 16726.0,
1216
- # "askQty": 0.05,
1217
- # }
1218
- # }
1219
- #
1220
1191
  data = self.safe_value(response, 'data')
1221
1192
  ticker = self.safe_value(data, 0, data)
1222
1193
  return self.parse_ticker(ticker, market)
@@ -1242,37 +1213,6 @@ class bingx(Exchange, ImplicitAPI):
1242
1213
  response = await self.spotV1PublicGetTicker24hr(params)
1243
1214
  else:
1244
1215
  response = await self.swapV2PublicGetQuoteTicker(params)
1245
- #
1246
- # {
1247
- # "code": 0,
1248
- # "msg": "",
1249
- # "data": [
1250
- # {
1251
- # "symbol": "BTC-USDT",
1252
- # "priceChange": "52.5",
1253
- # "priceChangePercent": "0.31",
1254
- # "lastPrice": "16880.5",
1255
- # "lastQty": "2.2238",
1256
- # "highPrice": "16897.5",
1257
- # "lowPrice": "16726.0",
1258
- # "volume": "245870.1692",
1259
- # "quoteVolume": "4151395117.73",
1260
- # "openPrice": "16832.0",
1261
- # "openTime": 1672026667803,
1262
- # "closeTime": 1672026648425,
1263
- # added some time ago:
1264
- # "firstId": 12345,
1265
- # "lastId": 12349,
1266
- # "count": 5,
1267
- # added 2023-11-10:
1268
- # "bidPrice": 16726.0,
1269
- # "bidQty": 0.05,
1270
- # "askPrice": 16726.0,
1271
- # "askQty": 0.05,
1272
- # },
1273
- # ]
1274
- # }
1275
- #
1276
1216
  tickers = self.safe_value(response, 'data')
1277
1217
  return self.parse_tickers(tickers, symbols)
1278
1218
 
@@ -1289,10 +1229,6 @@ class bingx(Exchange, ImplicitAPI):
1289
1229
  # "quoteVolume": "30288466.44",
1290
1230
  # "openTime": "1693081020762",
1291
1231
  # "closeTime": "1693167420762",
1292
- # added some time ago:
1293
- # "firstId": 12345,
1294
- # "lastId": 12349,
1295
- # "count": 5,
1296
1232
  # added 2023-11-10:
1297
1233
  # "bidPrice": 16726.0,
1298
1234
  # "bidQty": 0.05,
@@ -1304,9 +1240,9 @@ class bingx(Exchange, ImplicitAPI):
1304
1240
  # {
1305
1241
  # "symbol": "BTC-USDT",
1306
1242
  # "priceChange": "52.5",
1307
- # "priceChangePercent": "0.31",
1243
+ # "priceChangePercent": "0.31%", # they started to add the percent sign in value
1308
1244
  # "lastPrice": "16880.5",
1309
- # "lastQty": "2.2238",
1245
+ # "lastQty": "2.2238", # only present in swap!
1310
1246
  # "highPrice": "16897.5",
1311
1247
  # "lowPrice": "16726.0",
1312
1248
  # "volume": "245870.1692",
@@ -1314,10 +1250,6 @@ class bingx(Exchange, ImplicitAPI):
1314
1250
  # "openPrice": "16832.0",
1315
1251
  # "openTime": 1672026667803,
1316
1252
  # "closeTime": 1672026648425,
1317
- # added some time ago:
1318
- # "firstId": 12345,
1319
- # "lastId": 12349,
1320
- # "count": 5,
1321
1253
  # added 2023-11-10:
1322
1254
  # "bidPrice": 16726.0,
1323
1255
  # "bidQty": 0.05,
@@ -1327,7 +1259,10 @@ class bingx(Exchange, ImplicitAPI):
1327
1259
  #
1328
1260
  marketId = self.safe_string(ticker, 'symbol')
1329
1261
  change = self.safe_string(ticker, 'priceChange')
1330
- type = 'spot' if (change is None) else 'swap'
1262
+ lastQty = self.safe_string(ticker, 'lastQty')
1263
+ # in spot markets, lastQty is not present
1264
+ # it's(bad, but) the only way we can check the tickers origin
1265
+ type = 'spot' if (lastQty is None) else 'swap'
1331
1266
  symbol = self.safe_symbol(marketId, market, None, type)
1332
1267
  open = self.safe_string(ticker, 'openPrice')
1333
1268
  high = self.safe_string(ticker, 'highPrice')
@@ -1335,8 +1270,9 @@ class bingx(Exchange, ImplicitAPI):
1335
1270
  close = self.safe_string(ticker, 'lastPrice')
1336
1271
  quoteVolume = self.safe_string(ticker, 'quoteVolume')
1337
1272
  baseVolume = self.safe_string(ticker, 'volume')
1338
- percentage = self.safe_string(ticker, 'priceChangePercent', '') # priceChangePercent: '5.66%',
1339
- percentage = percentage.replace('%', '')
1273
+ percentage = self.safe_string(ticker, 'priceChangePercent')
1274
+ if percentage is not None:
1275
+ percentage = percentage.replace('%', '')
1340
1276
  ts = self.safe_integer(ticker, 'closeTime')
1341
1277
  datetime = self.iso8601(ts)
1342
1278
  bid = self.safe_string(ticker, 'bidPrice')
@@ -2817,7 +2753,8 @@ class bingx(Exchange, ImplicitAPI):
2817
2753
 
2818
2754
  def parse_transaction_status(self, status):
2819
2755
  statuses = {
2820
- '0': 'ok',
2756
+ '0': 'pending',
2757
+ '1': 'ok',
2821
2758
  '10': 'pending',
2822
2759
  '20': 'rejected',
2823
2760
  '30': 'ok',
@@ -3735,6 +3735,7 @@ class bitget(Exchange, ImplicitAPI):
3735
3735
  :param str symbol: unified symbol of the market the order was made in
3736
3736
  :param dict [params]: extra parameters specific to the exchange API endpoint
3737
3737
  :param str [params.marginMode]: 'isolated' or 'cross' for spot margin trading
3738
+ :param str [params.planType]: *swap only* either profit_plan, loss_plan, normal_plan, pos_profit, pos_loss, moving_plan or track_plan
3738
3739
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
3739
3740
  """
3740
3741
  if symbol is None:
@@ -4086,6 +4087,7 @@ class bitget(Exchange, ImplicitAPI):
4086
4087
  :param int [since]: the earliest time in ms to fetch open orders for
4087
4088
  :param int [limit]: the maximum number of open order structures to retrieve
4088
4089
  :param dict [params]: extra parameters specific to the exchange API endpoint
4090
+ :param str [params.isPlan]: *swap only* 'plan' for stop orders and 'profit_loss' for tp/sl orders, default is 'plan'
4089
4091
  :returns Order[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
4090
4092
  """
4091
4093
  await self.load_markets()
@@ -4304,6 +4306,7 @@ class bitget(Exchange, ImplicitAPI):
4304
4306
  :param int [limit]: the max number of closed orders to return
4305
4307
  :param dict [params]: extra parameters specific to the exchange API endpoint
4306
4308
  :param int [params.until]: the latest time in ms to fetch entries for
4309
+ :param str [params.isPlan]: *swap only* 'plan' for stop orders and 'profit_loss' for tp/sl orders, default is 'plan'
4307
4310
  :returns Order[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
4308
4311
  """
4309
4312
  await self.load_markets()
@@ -4340,6 +4343,7 @@ class bitget(Exchange, ImplicitAPI):
4340
4343
  :param int [limit]: the max number of canceled orders to return
4341
4344
  :param dict [params]: extra parameters specific to the exchange API endpoint
4342
4345
  :param int [params.until]: the latest time in ms to fetch entries for
4346
+ :param str [params.isPlan]: *swap only* 'plan' for stop orders and 'profit_loss' for tp/sl orders, default is 'plan'
4343
4347
  :returns dict: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
4344
4348
  """
4345
4349
  if symbol is None:
@@ -211,6 +211,7 @@ class coinbase(Exchange, ImplicitAPI):
211
211
  'brokerage/product_book',
212
212
  'brokerage/best_bid_ask',
213
213
  'brokerage/convert/trade/{trade_id}',
214
+ 'brokerage/time',
214
215
  ],
215
216
  'post': [
216
217
  'brokerage/orders',
@@ -218,6 +218,9 @@ class cryptocom(Exchange, ImplicitAPI):
218
218
  'private/get-currency-networks': 10 / 3,
219
219
  'private/get-deposit-history': 10 / 3,
220
220
  'private/get-deposit-address': 10 / 3,
221
+ 'private/export/create-export-request': 10 / 3,
222
+ 'private/export/get-export-requests': 10 / 3,
223
+ 'private/export/download-export-output': 10 / 3,
221
224
  'private/get-account-summary': 10 / 3,
222
225
  'private/create-order': 2 / 3,
223
226
  'private/cancel-order': 2 / 3,
@@ -236,6 +239,7 @@ class cryptocom(Exchange, ImplicitAPI):
236
239
  'private/otc/accept-quote': 100,
237
240
  'private/otc/get-quote-history': 10 / 3,
238
241
  'private/otc/get-trade-history': 10 / 3,
242
+ 'private/otc/create-order': 10 / 3,
239
243
  },
240
244
  },
241
245
  },
@@ -15,6 +15,7 @@ from ccxt.base.errors import BadSymbol
15
15
  from ccxt.base.errors import InsufficientFunds
16
16
  from ccxt.base.errors import InvalidOrder
17
17
  from ccxt.base.errors import OrderNotFound
18
+ from ccxt.base.errors import NotSupported
18
19
  from ccxt.base.errors import DDoSProtection
19
20
  from ccxt.base.errors import ExchangeNotAvailable
20
21
  from ccxt.base.errors import InvalidNonce
@@ -1508,7 +1509,15 @@ class currencycom(Exchange, ImplicitAPI):
1508
1509
  request['startTime'] = since
1509
1510
  if limit is not None:
1510
1511
  request['limit'] = limit
1511
- response = await getattr(self, method)(self.extend(request, params))
1512
+ response = None
1513
+ if method == 'privateGetV2Deposits':
1514
+ response = await self.privateGetV2Deposits(self.extend(request, params))
1515
+ elif method == 'privateGetV2Withdrawals':
1516
+ response = await self.privateGetV2Withdrawals(self.extend(request, params))
1517
+ elif method == 'privateGetV2Transactions':
1518
+ response = await self.privateGetV2Transactions(self.extend(request, params))
1519
+ else:
1520
+ raise NotSupported(self.id + ' fetchTransactionsByMethod() not support self method')
1512
1521
  #
1513
1522
  # [
1514
1523
  # {
@@ -164,9 +164,9 @@ class mexc(Exchange, ImplicitAPI):
164
164
  'get': {
165
165
  'ping': 1,
166
166
  'time': 1,
167
- 'exchangeInfo': 1,
167
+ 'exchangeInfo': 10,
168
168
  'depth': 1,
169
- 'trades': 1,
169
+ 'trades': 5,
170
170
  'historicalTrades': 1,
171
171
  'aggTrades': 1,
172
172
  'klines': 1,
@@ -179,17 +179,18 @@ class mexc(Exchange, ImplicitAPI):
179
179
  },
180
180
  'private': {
181
181
  'get': {
182
- 'order': 1,
183
- 'openOrders': 1,
184
- 'allOrders': 1,
182
+ 'order': 2,
183
+ 'openOrders': 3,
184
+ 'allOrders': 10,
185
185
  'account': 10,
186
- 'myTrades': 1,
186
+ 'myTrades': 10,
187
187
  'sub-account/list': 1,
188
188
  'sub-account/apiKey': 1,
189
- 'capital/config/getall': 1,
189
+ 'capital/config/getall': 10,
190
190
  'capital/deposit/hisrec': 1,
191
191
  'capital/withdraw/history': 1,
192
- 'capital/deposit/address': 1,
192
+ 'capital/withdraw/address': 10,
193
+ 'capital/deposit/address': 10,
193
194
  'capital/transfer': 1,
194
195
  'capital/transfer/tranId': 1,
195
196
  'capital/transfer/internal': 1,
@@ -233,7 +234,7 @@ class mexc(Exchange, ImplicitAPI):
233
234
  'capital/transfer/internal': 1,
234
235
  'capital/deposit/address': 1,
235
236
  'capital/sub-account/universalTransfer': 1,
236
- 'capital/convert': 1,
237
+ 'capital/convert': 10,
237
238
  'mxDeduct/enable': 1,
238
239
  'userDataStream': 1,
239
240
  },
@@ -440,14 +440,20 @@ class probit(Exchange, ImplicitAPI):
440
440
  platform = network
441
441
  precision = self.parse_precision(self.safe_string(network, 'precision'))
442
442
  withdrawFee = self.safe_value(network, 'withdrawal_fee', [])
443
- networkfee = self.safe_value(withdrawFee, 0, {})
443
+ networkFee = self.safe_value(withdrawFee, 0, {})
444
+ for k in range(0, len(withdrawFee)):
445
+ withdrawPlatform = withdrawFee[k]
446
+ feeCurrencyId = self.safe_string(withdrawPlatform, 'currency_id')
447
+ if feeCurrencyId == id:
448
+ networkFee = withdrawPlatform
449
+ break
444
450
  networkList[networkCode] = {
445
451
  'id': networkId,
446
452
  'network': networkCode,
447
453
  'active': currentActive,
448
454
  'deposit': currentDeposit,
449
455
  'withdraw': currentWithdraw,
450
- 'fee': self.safe_number(networkfee, 'amount'),
456
+ 'fee': self.safe_number(networkFee, 'amount'),
451
457
  'precision': self.parse_number(precision),
452
458
  'limits': {
453
459
  'withdraw': {
ccxt/async_support/woo.py CHANGED
@@ -208,6 +208,11 @@ class woo(Exchange, ImplicitAPI):
208
208
  },
209
209
  },
210
210
  'v3': {
211
+ 'public': {
212
+ 'get': {
213
+ 'insuranceFund': 3,
214
+ },
215
+ },
211
216
  'private': {
212
217
  'get': {
213
218
  'algo/order/{oid}': 1,
ccxt/base/exchange.py CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.1.78'
7
+ __version__ = '4.1.80'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
ccxt/bingx.py CHANGED
@@ -1187,35 +1187,6 @@ class bingx(Exchange, ImplicitAPI):
1187
1187
  response = self.spotV1PublicGetTicker24hr(self.extend(request, params))
1188
1188
  else:
1189
1189
  response = self.swapV2PublicGetQuoteTicker(self.extend(request, params))
1190
- #
1191
- # {
1192
- # "code": 0,
1193
- # "msg": "",
1194
- # "data": {
1195
- # "symbol": "BTC-USDT",
1196
- # "priceChange": "52.5",
1197
- # "priceChangePercent": "0.31",
1198
- # "lastPrice": "16880.5",
1199
- # "lastQty": "2.2238",
1200
- # "highPrice": "16897.5",
1201
- # "lowPrice": "16726.0",
1202
- # "volume": "245870.1692",
1203
- # "quoteVolume": "4151395117.73",
1204
- # "openPrice": "16832.0",
1205
- # "openTime": 1672026667803,
1206
- # "closeTime": 1672026648425,
1207
- # added some time ago:
1208
- # "firstId": 12345,
1209
- # "lastId": 12349,
1210
- # "count": 5,
1211
- # added 2023-11-10:
1212
- # "bidPrice": 16726.0,
1213
- # "bidQty": 0.05,
1214
- # "askPrice": 16726.0,
1215
- # "askQty": 0.05,
1216
- # }
1217
- # }
1218
- #
1219
1190
  data = self.safe_value(response, 'data')
1220
1191
  ticker = self.safe_value(data, 0, data)
1221
1192
  return self.parse_ticker(ticker, market)
@@ -1241,37 +1212,6 @@ class bingx(Exchange, ImplicitAPI):
1241
1212
  response = self.spotV1PublicGetTicker24hr(params)
1242
1213
  else:
1243
1214
  response = self.swapV2PublicGetQuoteTicker(params)
1244
- #
1245
- # {
1246
- # "code": 0,
1247
- # "msg": "",
1248
- # "data": [
1249
- # {
1250
- # "symbol": "BTC-USDT",
1251
- # "priceChange": "52.5",
1252
- # "priceChangePercent": "0.31",
1253
- # "lastPrice": "16880.5",
1254
- # "lastQty": "2.2238",
1255
- # "highPrice": "16897.5",
1256
- # "lowPrice": "16726.0",
1257
- # "volume": "245870.1692",
1258
- # "quoteVolume": "4151395117.73",
1259
- # "openPrice": "16832.0",
1260
- # "openTime": 1672026667803,
1261
- # "closeTime": 1672026648425,
1262
- # added some time ago:
1263
- # "firstId": 12345,
1264
- # "lastId": 12349,
1265
- # "count": 5,
1266
- # added 2023-11-10:
1267
- # "bidPrice": 16726.0,
1268
- # "bidQty": 0.05,
1269
- # "askPrice": 16726.0,
1270
- # "askQty": 0.05,
1271
- # },
1272
- # ]
1273
- # }
1274
- #
1275
1215
  tickers = self.safe_value(response, 'data')
1276
1216
  return self.parse_tickers(tickers, symbols)
1277
1217
 
@@ -1288,10 +1228,6 @@ class bingx(Exchange, ImplicitAPI):
1288
1228
  # "quoteVolume": "30288466.44",
1289
1229
  # "openTime": "1693081020762",
1290
1230
  # "closeTime": "1693167420762",
1291
- # added some time ago:
1292
- # "firstId": 12345,
1293
- # "lastId": 12349,
1294
- # "count": 5,
1295
1231
  # added 2023-11-10:
1296
1232
  # "bidPrice": 16726.0,
1297
1233
  # "bidQty": 0.05,
@@ -1303,9 +1239,9 @@ class bingx(Exchange, ImplicitAPI):
1303
1239
  # {
1304
1240
  # "symbol": "BTC-USDT",
1305
1241
  # "priceChange": "52.5",
1306
- # "priceChangePercent": "0.31",
1242
+ # "priceChangePercent": "0.31%", # they started to add the percent sign in value
1307
1243
  # "lastPrice": "16880.5",
1308
- # "lastQty": "2.2238",
1244
+ # "lastQty": "2.2238", # only present in swap!
1309
1245
  # "highPrice": "16897.5",
1310
1246
  # "lowPrice": "16726.0",
1311
1247
  # "volume": "245870.1692",
@@ -1313,10 +1249,6 @@ class bingx(Exchange, ImplicitAPI):
1313
1249
  # "openPrice": "16832.0",
1314
1250
  # "openTime": 1672026667803,
1315
1251
  # "closeTime": 1672026648425,
1316
- # added some time ago:
1317
- # "firstId": 12345,
1318
- # "lastId": 12349,
1319
- # "count": 5,
1320
1252
  # added 2023-11-10:
1321
1253
  # "bidPrice": 16726.0,
1322
1254
  # "bidQty": 0.05,
@@ -1326,7 +1258,10 @@ class bingx(Exchange, ImplicitAPI):
1326
1258
  #
1327
1259
  marketId = self.safe_string(ticker, 'symbol')
1328
1260
  change = self.safe_string(ticker, 'priceChange')
1329
- type = 'spot' if (change is None) else 'swap'
1261
+ lastQty = self.safe_string(ticker, 'lastQty')
1262
+ # in spot markets, lastQty is not present
1263
+ # it's(bad, but) the only way we can check the tickers origin
1264
+ type = 'spot' if (lastQty is None) else 'swap'
1330
1265
  symbol = self.safe_symbol(marketId, market, None, type)
1331
1266
  open = self.safe_string(ticker, 'openPrice')
1332
1267
  high = self.safe_string(ticker, 'highPrice')
@@ -1334,8 +1269,9 @@ class bingx(Exchange, ImplicitAPI):
1334
1269
  close = self.safe_string(ticker, 'lastPrice')
1335
1270
  quoteVolume = self.safe_string(ticker, 'quoteVolume')
1336
1271
  baseVolume = self.safe_string(ticker, 'volume')
1337
- percentage = self.safe_string(ticker, 'priceChangePercent', '') # priceChangePercent: '5.66%',
1338
- percentage = percentage.replace('%', '')
1272
+ percentage = self.safe_string(ticker, 'priceChangePercent')
1273
+ if percentage is not None:
1274
+ percentage = percentage.replace('%', '')
1339
1275
  ts = self.safe_integer(ticker, 'closeTime')
1340
1276
  datetime = self.iso8601(ts)
1341
1277
  bid = self.safe_string(ticker, 'bidPrice')
@@ -2816,7 +2752,8 @@ class bingx(Exchange, ImplicitAPI):
2816
2752
 
2817
2753
  def parse_transaction_status(self, status):
2818
2754
  statuses = {
2819
- '0': 'ok',
2755
+ '0': 'pending',
2756
+ '1': 'ok',
2820
2757
  '10': 'pending',
2821
2758
  '20': 'rejected',
2822
2759
  '30': 'ok',
ccxt/bitget.py CHANGED
@@ -3734,6 +3734,7 @@ class bitget(Exchange, ImplicitAPI):
3734
3734
  :param str symbol: unified symbol of the market the order was made in
3735
3735
  :param dict [params]: extra parameters specific to the exchange API endpoint
3736
3736
  :param str [params.marginMode]: 'isolated' or 'cross' for spot margin trading
3737
+ :param str [params.planType]: *swap only* either profit_plan, loss_plan, normal_plan, pos_profit, pos_loss, moving_plan or track_plan
3737
3738
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
3738
3739
  """
3739
3740
  if symbol is None:
@@ -4085,6 +4086,7 @@ class bitget(Exchange, ImplicitAPI):
4085
4086
  :param int [since]: the earliest time in ms to fetch open orders for
4086
4087
  :param int [limit]: the maximum number of open order structures to retrieve
4087
4088
  :param dict [params]: extra parameters specific to the exchange API endpoint
4089
+ :param str [params.isPlan]: *swap only* 'plan' for stop orders and 'profit_loss' for tp/sl orders, default is 'plan'
4088
4090
  :returns Order[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
4089
4091
  """
4090
4092
  self.load_markets()
@@ -4303,6 +4305,7 @@ class bitget(Exchange, ImplicitAPI):
4303
4305
  :param int [limit]: the max number of closed orders to return
4304
4306
  :param dict [params]: extra parameters specific to the exchange API endpoint
4305
4307
  :param int [params.until]: the latest time in ms to fetch entries for
4308
+ :param str [params.isPlan]: *swap only* 'plan' for stop orders and 'profit_loss' for tp/sl orders, default is 'plan'
4306
4309
  :returns Order[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
4307
4310
  """
4308
4311
  self.load_markets()
@@ -4339,6 +4342,7 @@ class bitget(Exchange, ImplicitAPI):
4339
4342
  :param int [limit]: the max number of canceled orders to return
4340
4343
  :param dict [params]: extra parameters specific to the exchange API endpoint
4341
4344
  :param int [params.until]: the latest time in ms to fetch entries for
4345
+ :param str [params.isPlan]: *swap only* 'plan' for stop orders and 'profit_loss' for tp/sl orders, default is 'plan'
4342
4346
  :returns dict: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
4343
4347
  """
4344
4348
  if symbol is None:
ccxt/coinbase.py CHANGED
@@ -211,6 +211,7 @@ class coinbase(Exchange, ImplicitAPI):
211
211
  'brokerage/product_book',
212
212
  'brokerage/best_bid_ask',
213
213
  'brokerage/convert/trade/{trade_id}',
214
+ 'brokerage/time',
214
215
  ],
215
216
  'post': [
216
217
  'brokerage/orders',
ccxt/cryptocom.py CHANGED
@@ -218,6 +218,9 @@ class cryptocom(Exchange, ImplicitAPI):
218
218
  'private/get-currency-networks': 10 / 3,
219
219
  'private/get-deposit-history': 10 / 3,
220
220
  'private/get-deposit-address': 10 / 3,
221
+ 'private/export/create-export-request': 10 / 3,
222
+ 'private/export/get-export-requests': 10 / 3,
223
+ 'private/export/download-export-output': 10 / 3,
221
224
  'private/get-account-summary': 10 / 3,
222
225
  'private/create-order': 2 / 3,
223
226
  'private/cancel-order': 2 / 3,
@@ -236,6 +239,7 @@ class cryptocom(Exchange, ImplicitAPI):
236
239
  'private/otc/accept-quote': 100,
237
240
  'private/otc/get-quote-history': 10 / 3,
238
241
  'private/otc/get-trade-history': 10 / 3,
242
+ 'private/otc/create-order': 10 / 3,
239
243
  },
240
244
  },
241
245
  },
ccxt/currencycom.py CHANGED
@@ -15,6 +15,7 @@ from ccxt.base.errors import BadSymbol
15
15
  from ccxt.base.errors import InsufficientFunds
16
16
  from ccxt.base.errors import InvalidOrder
17
17
  from ccxt.base.errors import OrderNotFound
18
+ from ccxt.base.errors import NotSupported
18
19
  from ccxt.base.errors import DDoSProtection
19
20
  from ccxt.base.errors import ExchangeNotAvailable
20
21
  from ccxt.base.errors import InvalidNonce
@@ -1508,7 +1509,15 @@ class currencycom(Exchange, ImplicitAPI):
1508
1509
  request['startTime'] = since
1509
1510
  if limit is not None:
1510
1511
  request['limit'] = limit
1511
- response = getattr(self, method)(self.extend(request, params))
1512
+ response = None
1513
+ if method == 'privateGetV2Deposits':
1514
+ response = self.privateGetV2Deposits(self.extend(request, params))
1515
+ elif method == 'privateGetV2Withdrawals':
1516
+ response = self.privateGetV2Withdrawals(self.extend(request, params))
1517
+ elif method == 'privateGetV2Transactions':
1518
+ response = self.privateGetV2Transactions(self.extend(request, params))
1519
+ else:
1520
+ raise NotSupported(self.id + ' fetchTransactionsByMethod() not support self method')
1512
1521
  #
1513
1522
  # [
1514
1523
  # {
ccxt/mexc.py CHANGED
@@ -164,9 +164,9 @@ class mexc(Exchange, ImplicitAPI):
164
164
  'get': {
165
165
  'ping': 1,
166
166
  'time': 1,
167
- 'exchangeInfo': 1,
167
+ 'exchangeInfo': 10,
168
168
  'depth': 1,
169
- 'trades': 1,
169
+ 'trades': 5,
170
170
  'historicalTrades': 1,
171
171
  'aggTrades': 1,
172
172
  'klines': 1,
@@ -179,17 +179,18 @@ class mexc(Exchange, ImplicitAPI):
179
179
  },
180
180
  'private': {
181
181
  'get': {
182
- 'order': 1,
183
- 'openOrders': 1,
184
- 'allOrders': 1,
182
+ 'order': 2,
183
+ 'openOrders': 3,
184
+ 'allOrders': 10,
185
185
  'account': 10,
186
- 'myTrades': 1,
186
+ 'myTrades': 10,
187
187
  'sub-account/list': 1,
188
188
  'sub-account/apiKey': 1,
189
- 'capital/config/getall': 1,
189
+ 'capital/config/getall': 10,
190
190
  'capital/deposit/hisrec': 1,
191
191
  'capital/withdraw/history': 1,
192
- 'capital/deposit/address': 1,
192
+ 'capital/withdraw/address': 10,
193
+ 'capital/deposit/address': 10,
193
194
  'capital/transfer': 1,
194
195
  'capital/transfer/tranId': 1,
195
196
  'capital/transfer/internal': 1,
@@ -233,7 +234,7 @@ class mexc(Exchange, ImplicitAPI):
233
234
  'capital/transfer/internal': 1,
234
235
  'capital/deposit/address': 1,
235
236
  'capital/sub-account/universalTransfer': 1,
236
- 'capital/convert': 1,
237
+ 'capital/convert': 10,
237
238
  'mxDeduct/enable': 1,
238
239
  'userDataStream': 1,
239
240
  },
ccxt/pro/__init__.py CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.1.78'
7
+ __version__ = '4.1.80'
8
8
 
9
9
  # ----------------------------------------------------------------------------
10
10
 
ccxt/probit.py CHANGED
@@ -440,14 +440,20 @@ class probit(Exchange, ImplicitAPI):
440
440
  platform = network
441
441
  precision = self.parse_precision(self.safe_string(network, 'precision'))
442
442
  withdrawFee = self.safe_value(network, 'withdrawal_fee', [])
443
- networkfee = self.safe_value(withdrawFee, 0, {})
443
+ networkFee = self.safe_value(withdrawFee, 0, {})
444
+ for k in range(0, len(withdrawFee)):
445
+ withdrawPlatform = withdrawFee[k]
446
+ feeCurrencyId = self.safe_string(withdrawPlatform, 'currency_id')
447
+ if feeCurrencyId == id:
448
+ networkFee = withdrawPlatform
449
+ break
444
450
  networkList[networkCode] = {
445
451
  'id': networkId,
446
452
  'network': networkCode,
447
453
  'active': currentActive,
448
454
  'deposit': currentDeposit,
449
455
  'withdraw': currentWithdraw,
450
- 'fee': self.safe_number(networkfee, 'amount'),
456
+ 'fee': self.safe_number(networkFee, 'amount'),
451
457
  'precision': self.parse_number(precision),
452
458
  'limits': {
453
459
  'withdraw': {
ccxt/woo.py CHANGED
@@ -208,6 +208,11 @@ class woo(Exchange, ImplicitAPI):
208
208
  },
209
209
  },
210
210
  'v3': {
211
+ 'public': {
212
+ 'get': {
213
+ 'insuranceFund': 3,
214
+ },
215
+ },
211
216
  'private': {
212
217
  'get': {
213
218
  'algo/order/{oid}': 1,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.1.78
3
+ Version: 4.1.80
4
4
  Summary: A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 130+ exchanges
5
5
  Home-page: https://ccxt.com
6
6
  Author: Igor Kroitor
@@ -258,13 +258,13 @@ console.log(version, Object.keys(exchanges));
258
258
 
259
259
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
260
260
 
261
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.1.78/dist/ccxt.browser.js
262
- * unpkg: https://unpkg.com/ccxt@4.1.78/dist/ccxt.browser.js
261
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.1.80/dist/ccxt.browser.js
262
+ * unpkg: https://unpkg.com/ccxt@4.1.80/dist/ccxt.browser.js
263
263
 
264
264
  CDNs are not updated in real-time and may have delays. Defaulting to the most recent version without specifying the version number is not recommended. Please, keep in mind that we are not responsible for the correct operation of those CDN servers.
265
265
 
266
266
  ```HTML
267
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.1.78/dist/ccxt.browser.js"></script>
267
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.1.80/dist/ccxt.browser.js"></script>
268
268
  ```
269
269
 
270
270
  Creates a global `ccxt` object:
@@ -1,4 +1,4 @@
1
- ccxt/__init__.py,sha256=h_5N614m0-OL6tcXvnIyUhoLlM6Od3-HTDydB6a3Eko,15081
1
+ ccxt/__init__.py,sha256=ugBPhq3DrAZ1iZSc6LLZXygz7h41f2qWFiwOArW9_-A,15081
2
2
  ccxt/ace.py,sha256=bB8RjymWAEI2MYEHMW70GwbIowmOMN9r4RY1tlj4gjY,41348
3
3
  ccxt/alpaca.py,sha256=Tnc7yGp1b1iRLCZiR14iphBLEe5_01vZdbZsoy3FRao,46028
4
4
  ccxt/ascendex.py,sha256=EQjZX2RRa2vBCIPnKsfaRpam9MCEGHe_zWOwMkGJ_b0,143331
@@ -8,7 +8,7 @@ ccxt/binance.py,sha256=jIPu6e63jpirjppsCYNTLuRGR9mN5ybPnKT5_9z0yHM,444225
8
8
  ccxt/binancecoinm.py,sha256=pncdw6Xw2X1Po-vEvAB4nL37scoS_axGAVxetPy1YQs,1645
9
9
  ccxt/binanceus.py,sha256=VuAty9YMKtrRhPzu9uN9OtLpEcTuih_rwW5y24QILkU,3554
10
10
  ccxt/binanceusdm.py,sha256=KPQGlCalQ0eGlPCs2tSanOxaP8O0zFRQjGntA16Yprw,2480
11
- ccxt/bingx.py,sha256=7WJVATvHcg84ULaAxL0u7Mlt7wTpHLxLA7G9i93ZBII,139040
11
+ ccxt/bingx.py,sha256=RVq3AFEYfnSd_7QKE0PmZ5j-byFxO-7e22y1H9tj1ks,136912
12
12
  ccxt/bit2c.py,sha256=hIqfedh-2SauVWQnhiZyuS4sf9dy-NApYL7USMayqKo,36068
13
13
  ccxt/bitbank.py,sha256=eGEd_9eGcSJHCRpSETeqvJQJoiguLU-nLZrkq3nVze4,41604
14
14
  ccxt/bitbay.py,sha256=xAIjzGRDVGwoy-Gygd99H0YN4wiaz_0lR0Z14oxaaxc,478
@@ -18,7 +18,7 @@ ccxt/bitfinex.py,sha256=jZaKtVwezPEjvRmPI1P2hvBKLmHzz3BysCiXJjprfyw,69725
18
18
  ccxt/bitfinex2.py,sha256=6fxd__vHHZ0CjXWLrg2JShLkoT8Szdm3ueT-rYX_ZRE,128904
19
19
  ccxt/bitflyer.py,sha256=q-lKdcT9mZ6jdswP4AGIj_6yhKxcCXyePueTd_nrmAk,40105
20
20
  ccxt/bitforex.py,sha256=pdgV_sR-qHkMUBmASOSGinbmGCn0FKZN10hJgwXlY0Y,33761
21
- ccxt/bitget.py,sha256=7h3wubRZ8oumsigCqVs27MCXmqtB5TaReYq6MpJ7c2w,336346
21
+ ccxt/bitget.py,sha256=ZVOWEubby6FyZUIpCdSrmtHX1xjnTSP5TtdYN9VIUT8,336863
22
22
  ccxt/bithumb.py,sha256=mji93l7rEBQVhoJKxHQnEIMtMvk7wkIRrfN7o0hxYPI,43325
23
23
  ccxt/bitmart.py,sha256=HetfUULwuQU-0FDQ44D7Lk_qnbxPtMIg8kaLkEstCFo,183673
24
24
  ccxt/bitmex.py,sha256=YK2AOrNmvWcxVdNwh33Zv86U1MUjpD3qHARKn1ZJ0WY,119673
@@ -37,7 +37,7 @@ ccxt/btcmarkets.py,sha256=d9il29c2YsdPO56SKy1WsfxuILIHxQJRF-fVJ37rl4E,48582
37
37
  ccxt/btcturk.py,sha256=j51LBBkUqnikl6Xa7AZ1Wl8XAvA_KnFLzb42dMZoSds,35458
38
38
  ccxt/bybit.py,sha256=CUWIVWq9XGLslNGZscf7f--eLnDgD7vORGFf8zNOM-I,354527
39
39
  ccxt/cex.py,sha256=XCdjEFY0ulfeUucO4rKZnVHXSl6wESq9u_FujLGGuB8,68727
40
- ccxt/coinbase.py,sha256=aOU0TS6W1V3Nu7dInMyTF4juU6GtG9EGLzF4LZESx4Q,145475
40
+ ccxt/coinbase.py,sha256=AoSEUwJ_jFVjByN_72lTm-NwP7y2G6Az4cZ5kL-q8T8,145521
41
41
  ccxt/coinbaseprime.py,sha256=Ygvljulxb2uKdei5yimCj1LMjLlUJNvP-G7ns1HpUFk,1219
42
42
  ccxt/coinbasepro.py,sha256=gpe6UVg4pDDpvzjVGE_fKeoDmkdIyzNucANptY9FeH8,80087
43
43
  ccxt/coincheck.py,sha256=g_gMrlcnNimI3k1SxI9Du7gmmpqd9dZSn-u3SVgHgkQ,34627
@@ -47,8 +47,8 @@ ccxt/coinmate.py,sha256=CpLkuF-T12P_q-W-nYrnl4PXcHjnGKt8us66ebHSFtI,39954
47
47
  ccxt/coinone.py,sha256=LE5LfNq5q6Ryg7Rw6FNSIpimvQAcDFIm8vpDfnMu-nA,35708
48
48
  ccxt/coinsph.py,sha256=nqOmK8QDR7C6mRMCwJ9S3v4jzP9KF0Q9FsAlNlhJbmc,88364
49
49
  ccxt/coinspot.py,sha256=j8xSGIHF_WhLGZcDmdIwpCMw77vjvdaNcNNk0_kEu-Y,23024
50
- ccxt/cryptocom.py,sha256=NTxfgYodjpiGgNJpQddpy1SMtaz5hUW94G6D6etv1-I,125204
51
- ccxt/currencycom.py,sha256=qGKNqqofs4iQrXcOOnYuU1WGqy0K4bpvfbks1T6NR9U,83722
50
+ ccxt/cryptocom.py,sha256=oRx7itDTf4lkGbhXa2nf1oRQRSCSQvn0jcmyoIAOv4c,125495
51
+ ccxt/currencycom.py,sha256=JqJEzS_6UBomIGqf_y5LwsnBTOXCwbgiQfnSghvIGuU,84218
52
52
  ccxt/delta.py,sha256=qdmqSJ_P2S0eOiodtcquSd9LxTGwt1uWMMRGamVgmbw,138693
53
53
  ccxt/deribit.py,sha256=sRg16zOi9PGxaexxsa9ewCEeknFvM7OHqd2fp77GmgQ,143732
54
54
  ccxt/digifinex.py,sha256=5OeiNfFIM-w3AAPvMXE7SIWIrtfV4bUvyxiaeCSCEo4,165923
@@ -77,7 +77,7 @@ ccxt/lbank.py,sha256=jmRChrrDfmIl0I5CQbEon892hk1NTvFde7LdvOvJTd8,112013
77
77
  ccxt/luno.py,sha256=9hmecvOA6F_BgAh8rzmjziGlCnOXkewjPzNHLGuhLmg,40842
78
78
  ccxt/lykke.py,sha256=OmKlgb4HOkumUQSgTh3EC0k8_2VeMtg7YWGEmUQz_Ho,48929
79
79
  ccxt/mercado.py,sha256=IAFK2QHvTD7ImkzFNDClp5i1QYRe6LGAvdcfufz_Ii4,34995
80
- ccxt/mexc.py,sha256=i11S4ftUYpbmjCwfuT21pFaKc_lc0L4m1uQ7Wp2kD04,224212
80
+ ccxt/mexc.py,sha256=xZQZeE2vLwCo65e_Mm1EOBSMOypan3LxkBlMw3Fw-lM,224278
81
81
  ccxt/ndax.py,sha256=sVd5ZqZf1UnOlF58WNBMp-8mgT7qbchDz59w8E_I_GQ,107204
82
82
  ccxt/novadax.py,sha256=M_aaFcbm5lgFYXG2iM5IRadiN4bjgTtOhyxdOw1nCJc,63225
83
83
  ccxt/oceanex.py,sha256=aEnK9rjZYACIw_heL0NQ9AsvxlTq2dnhXx_LTkZyIgw,37630
@@ -88,14 +88,14 @@ ccxt/paymium.py,sha256=oH4zQkMF7IGkq9co953Riz8wuhUj6xxKSmqs7Rz2n1s,24122
88
88
  ccxt/phemex.py,sha256=LgkusilxAEpZazFkIaiUbRX4RF4hOMHlpYctVtqZQ1Q,205280
89
89
  ccxt/poloniex.py,sha256=D0LvJOT0wgqOgA8XxhZQPiee8fUfC2FEHrl92YkeNVc,100036
90
90
  ccxt/poloniexfutures.py,sha256=T35rN-4OvNbTHmDgZCIpSclK8jophgbeVoVi4At0vv4,76628
91
- ccxt/probit.py,sha256=NsvDUgQNLeebwgyrMxGSrwoEXdPnJia5lb8WBpFfLa8,75384
91
+ ccxt/probit.py,sha256=Jcpte2msuBSlDE9xXCLtWibeb7QXGAN5261Yv0X72uU,75705
92
92
  ccxt/timex.py,sha256=vRX_heY_zVk374MKBMZSmWL_csBTCkAwgwTBGaN9iJY,65632
93
93
  ccxt/tokocrypto.py,sha256=I5E4_9cY9AFMjC7t_Fag4swRh7NS8oGhm8h1By76Iuw,121553
94
94
  ccxt/upbit.py,sha256=-hI0h0W7xmerylQ-uVIpsOtFzhJaPJCWryatSk4yrdU,76475
95
95
  ccxt/wavesexchange.py,sha256=NmThO0R-81ctpRs6N2goiIr-xq1E6WNd1JywmcCPMFM,113315
96
96
  ccxt/wazirx.py,sha256=0qJb-In4siXOGD44PSSuKIlJl0xL2pE09mQ1hs4wslE,36853
97
97
  ccxt/whitebit.py,sha256=xma75ELG32wD9QxpoXSNs9worMG8EqesnX7_pQ25mmc,98231
98
- ccxt/woo.py,sha256=nyfRSkb2V0AbBI1p1st6JqfNLJGgt78wFWErHF_ah9A,107549
98
+ ccxt/woo.py,sha256=5p9e_wPJJnSPGNRIe_sUJzwNCaoQKuIMLuWPZcwFmmI,107712
99
99
  ccxt/yobit.py,sha256=gIVMiECMs6-Cl8qmMnWfgX3lokiSYzfuq7ngS9hRqw4,51888
100
100
  ccxt/zaif.py,sha256=MiJlnoWHd3gMGSoQc-_FzeU9F0y9uG4jxKrPGbn2I-0,27976
101
101
  ccxt/zonda.py,sha256=tk8q645TxGNMrg68KZtKWrbONs4j3LGZjwGcAyxUANo,80362
@@ -138,7 +138,7 @@ ccxt/abstract/btcmarkets.py,sha256=dQ2yTZ_8T2TEeAYIuKE0ATImbOLDLGSK7HbbBd8XVJQ,3
138
138
  ccxt/abstract/btcturk.py,sha256=duM-QrB9MvGpopOtxkfbeYlY49bgvXQLiosRVmnQYFw,1777
139
139
  ccxt/abstract/bybit.py,sha256=V2h7cktY1RTWDU7klKtrEmA6JVbV0Qd6iQnepO598hU,47352
140
140
  ccxt/abstract/cex.py,sha256=Q0NJeDuJ4Kn_mtokYqBenhXWvLIiMSVTqbgbfcLGgv4,3311
141
- ccxt/abstract/coinbase.py,sha256=C_-PqiLdvY5a2MgRBuXxNDH-nYCZhTTNbOQmL5QcODw,10095
141
+ ccxt/abstract/coinbase.py,sha256=ElmzeEAhaHkKsZa6c9ts46mD58O-Xm7WyzAwQT_Fi6I,10213
142
142
  ccxt/abstract/coinbaseprime.py,sha256=lMb-1kO7uKtLZZUTJnIkuwQyX2W-AFQnr2juuCl-k4o,7051
143
143
  ccxt/abstract/coinbasepro.py,sha256=lMb-1kO7uKtLZZUTJnIkuwQyX2W-AFQnr2juuCl-k4o,7051
144
144
  ccxt/abstract/coincheck.py,sha256=3IIVmryXmzxXqi6IleUmfDZIUMOn_L_4G9Iw8BuEEGo,3417
@@ -148,7 +148,7 @@ ccxt/abstract/coinmate.py,sha256=_ry21XB9aT_b5pzXxMwQcIOhXjjK0UWIItDuDtJ_FIM,535
148
148
  ccxt/abstract/coinone.py,sha256=fqsnaWgGzYXo-K1K3MJB4TNrfJzc6HB5VjV2h9CdJA8,2507
149
149
  ccxt/abstract/coinsph.py,sha256=b9r6_whKjx26f3ld_JtsFbGmF9awGLDViJV8SgXlE8Q,8007
150
150
  ccxt/abstract/coinspot.py,sha256=DVsqMQGmEZYESzYvaGBmctP3W229yF1__Y5KzGiI5RA,2707
151
- ccxt/abstract/cryptocom.py,sha256=d25NXnQkSH688YfRnd8SuL4M7LirEvsCtwK_cNILpik,17673
151
+ ccxt/abstract/cryptocom.py,sha256=nXKYrFmMlpgBJJQ3gINipTP6uZYewvhvLCohkaFZE8k,18475
152
152
  ccxt/abstract/currencycom.py,sha256=8T6Wn2n5KXpFv-nev5P314dMfndVemm7tBtI7qwFtqc,7563
153
153
  ccxt/abstract/delta.py,sha256=6OghLS5gTO5kVSnRmRnFMDi5ZszxgZetKq9FjnvawmY,5107
154
154
  ccxt/abstract/deribit.py,sha256=rS_982u8dOVsh2vGSB5TO7K8Tye0Alq-Rg9fYZwz8hg,15499
@@ -177,7 +177,7 @@ ccxt/abstract/lbank.py,sha256=pdut_cIcwcUhN_ZCyWJxixBc4dgeQqvENYqFCrUYrvA,8675
177
177
  ccxt/abstract/luno.py,sha256=G0cvRA0ztHTXT7Y3Y_VCLbQj1YbHZzESWZg2JEqpnqs,3255
178
178
  ccxt/abstract/lykke.py,sha256=PyLaU4RVPYTkPYsGgL2e2c9mtnz0xiy-LMOBSA4w_1g,2960
179
179
  ccxt/abstract/mercado.py,sha256=qs3Fr6C_K8M-YIsGx-W9iUiFXcgQ0SA8uADvhV8mDQM,2357
180
- ccxt/abstract/mexc.py,sha256=YMGUT_Q5NuvCiBhRbumNhAexdUNaLJUpUoCp1-rho4I,25733
180
+ ccxt/abstract/mexc.py,sha256=flgbnn-U3tmK0RMAoz1k2uHx3ZJGWB5DXlmkgxvxrrY,25902
181
181
  ccxt/abstract/ndax.py,sha256=M98Ys406KT6T19Y98dXriD6YjzfglHHbnfQw-PDYWtM,11878
182
182
  ccxt/abstract/novadax.py,sha256=Yy-lYKteQyZTaajK5oQTTikd5sU33cct4ZdtNxo2j30,2565
183
183
  ccxt/abstract/oceanex.py,sha256=a0xAelMYDY_J3QwwLyIX2tGQcv4z2gmX_yJyC6FqoFg,1721
@@ -195,11 +195,11 @@ ccxt/abstract/upbit.py,sha256=L55L1lsLF8h1geUf2L-LmRpK9RovuvvTc4OYg_VHVmo,3463
195
195
  ccxt/abstract/wavesexchange.py,sha256=8LIgZiPixoaUFPKGSWJpjI1BYXVqeQh9NLcjfXciZMc,19631
196
196
  ccxt/abstract/wazirx.py,sha256=s4S_IHKchXSzoeFRQu4uiDpR4SgR-fAeQLmGbSDrbP4,2130
197
197
  ccxt/abstract/whitebit.py,sha256=IaK-PxBd3rBoE2m9EExB4rGaqovubRHPHOATUUMbJ9o,8029
198
- ccxt/abstract/woo.py,sha256=Z3ua45hKE0Tf9rtfSEYYgGEztaTO1Ri3mKl_hIo3OHs,8768
198
+ ccxt/abstract/woo.py,sha256=xilL7EbvUmJ_zBb_r1Q7cTi4bHsBQN2mFu0TGu7WHG0,8890
199
199
  ccxt/abstract/yobit.py,sha256=8ycfCO8ORFly9hc0Aa47sZyX4_ZKPXS9h9yJzI-uQ7Q,1339
200
200
  ccxt/abstract/zaif.py,sha256=m15WHdl3gYy0GOXNZ8NEH8eE7sVh8c0T_ITNuU8vXeU,3935
201
201
  ccxt/abstract/zonda.py,sha256=aSfewvRojzmuymX6QbOnDR8v9VFqWTULMHX9Y7kKD1M,5820
202
- ccxt/async_support/__init__.py,sha256=O0xbv6R1VdVb7gPQ3gKnK3jMC7PeY2q-KTNpy6xN7nc,14794
202
+ ccxt/async_support/__init__.py,sha256=vHF_3U9S-T108jK2p2M2EvaPdcVBddczzkGaRErmFtQ,14794
203
203
  ccxt/async_support/ace.py,sha256=5fHmmLyH7G-Dh0RvvHYmO7X6kmuMlanS4LmD_RqX8-s,41572
204
204
  ccxt/async_support/alpaca.py,sha256=Hx87_BHTcOWoyogACXP1OoBWIMGq9TuuN4AfpGeKjVI,46240
205
205
  ccxt/async_support/ascendex.py,sha256=GHeezJpE30VFKhVC-AKtLM5GJsGav0nNgCrvlRkN5gE,144071
@@ -209,7 +209,7 @@ ccxt/async_support/binance.py,sha256=HP2EYa_FLXG14dLIxaA-5Yp31NGMmMWbOLRbZXM2Aes
209
209
  ccxt/async_support/binancecoinm.py,sha256=IY3RLZptQA2nmZaUYRGfTa5ZY4VMWBpFYfwHc8zTHw0,1683
210
210
  ccxt/async_support/binanceus.py,sha256=ENoZ52LuAo4x-OLdAlXJvEdD3VjofqWQpUzgiGoSZIw,3568
211
211
  ccxt/async_support/binanceusdm.py,sha256=-1r4A4tmV2pCiLGO80hzq7MIIj4MTzOD7buZGv6JauA,2518
212
- ccxt/async_support/bingx.py,sha256=h3sa0ZudP22wRA1fU3GjgWNIqaSshS-QUOUQjRu574o,139866
212
+ ccxt/async_support/bingx.py,sha256=yhRZPUluhAvHsEkETXqtqPxWMms54HfZbiu5dc5MMWg,137738
213
213
  ccxt/async_support/bit2c.py,sha256=yl5ur2ejyyxTSoc5_Bj8LNWx_GhK9Aows-v9NZuu8x0,36274
214
214
  ccxt/async_support/bitbank.py,sha256=rUeL8JyeagI5HOy00UrTPvwB2xFX6Rf0rwXhoXK3oEs,41864
215
215
  ccxt/async_support/bitbay.py,sha256=jcaEXi2IhYTva8ezO_SfJhwxEZk7HST4J3NaxD16BQA,492
@@ -219,7 +219,7 @@ ccxt/async_support/bitfinex.py,sha256=PNzSR9cYWQRIsTG4uz6tcYg0jrH0nqH2N7WDtbVUEX
219
219
  ccxt/async_support/bitfinex2.py,sha256=A1krXmnYd8UsQwPYgqzU_lYYxx8mjHbFih61_i6EeAI,129464
220
220
  ccxt/async_support/bitflyer.py,sha256=mmoPJEr2nBxfthieD8rLH7gxo0Wn5c_FkRm4DD5_1Ns,40413
221
221
  ccxt/async_support/bitforex.py,sha256=B0YnnDV8OCcY9VPY3UXo4DBZ8QF9xYH1jHNdBFi7ZfQ,33985
222
- ccxt/async_support/bitget.py,sha256=EU_9iGTOM14NGpfBIgD0VembBPaG1Kshoou02QptS9I,337778
222
+ ccxt/async_support/bitget.py,sha256=isBW1WPcfM_SjjPu139rxfdXWN-B_9JzrcECXIQd-Xs,338295
223
223
  ccxt/async_support/bithumb.py,sha256=D2vQybc5kOv5S5VfwQUjw2Ri_tvItfZkzw4FW3TlGvo,43543
224
224
  ccxt/async_support/bitmart.py,sha256=qdFTP-Y5c9KcCn8D45hXfrot2Ph5V2XV8dAc6hJCBjY,184581
225
225
  ccxt/async_support/bitmex.py,sha256=3JhJOASP0TF4rwJlsXdW5yrA2EKZKjqDxDfSSV3otHY,120215
@@ -238,7 +238,7 @@ ccxt/async_support/btcmarkets.py,sha256=i1H6KESr8nL7xDuFqmRvy0VQmHnAKrQkD_RPP7Zt
238
238
  ccxt/async_support/btcturk.py,sha256=3zAGyyBqjTTbMhQNijsf5C9I1CdpElWz8B8gOkNYYCM,35676
239
239
  ccxt/async_support/bybit.py,sha256=btgmAXsFcUAIl8hLYNfcwcDc8FC5xvzrcR05gsBE01w,355989
240
240
  ccxt/async_support/cex.py,sha256=Y7BhBRl240JStGJc9PeeVWP2Q4ESiQyUtAnPfbd1Vyw,69071
241
- ccxt/async_support/coinbase.py,sha256=XJEG6W6fTlNRtjjEFID8v5AeQpPZ36rq9b6bb_P9CWg,146257
241
+ ccxt/async_support/coinbase.py,sha256=Me7cHM8OFnVDwYwxNk9yWdEYaQJ3yJ765IVXIA93wYY,146303
242
242
  ccxt/async_support/coinbaseprime.py,sha256=M5Ez1DsFcW3-vJ-4QoZzwYBAKjAAtJnJpkfnV4sWAIc,1233
243
243
  ccxt/async_support/coinbasepro.py,sha256=yfHm6Hx0afMSogFlNLtKPc38YPip1l211285XYewRfk,80611
244
244
  ccxt/async_support/coincheck.py,sha256=5W5TXe7eDAwy1LkuMOB1JE6wzQIQYlZ9orS2ct9uRk4,34833
@@ -248,8 +248,8 @@ ccxt/async_support/coinmate.py,sha256=BGiq-0tma9yngBGGyXoqDVRhiVfUxOo_IfKpX9h-pv
248
248
  ccxt/async_support/coinone.py,sha256=VywuP8WcZonpRAj4pB99RJNpaGSTvGtVBuKN1eR__K0,35932
249
249
  ccxt/async_support/coinsph.py,sha256=08JYv2_F6lPAiiTslHzZ-yq5SboDtqxDYAXkq614jdQ,88786
250
250
  ccxt/async_support/coinspot.py,sha256=py_wOzt-2jYuD6W8LyD9Vtij2NbwcfmTAJRb-tPJUa0,23176
251
- ccxt/async_support/cryptocom.py,sha256=AgrKCz2OiwXbob_vFoA5JMVXHAcSVlTGjW6mBM950oc,125740
252
- ccxt/async_support/currencycom.py,sha256=BOltvkZPkMzNrg9hSX-lLvEOcvdmBhLmWRqeDERJtuA,84132
251
+ ccxt/async_support/cryptocom.py,sha256=1ek7rf_qFTXHgg0TNYw9E6ozr0U6jwgJRpML4EP3nJI,126031
252
+ ccxt/async_support/currencycom.py,sha256=1b_wbCu-M74vRVpTQHBc7ELkWP0YEtPBm0axIGJ7yEs,84640
253
253
  ccxt/async_support/delta.py,sha256=Bh7341LXF70gqLe5NfbP76-a1vWP8Kf5Aa_DH05rnH0,139241
254
254
  ccxt/async_support/deribit.py,sha256=62Z2o98VFpB-5q2m71lXb4PO-IHXN38OD8SCjr5zGvo,144406
255
255
  ccxt/async_support/digifinex.py,sha256=tza4_wKbBQpDKyNXHUYtjA1aSVQC86yo41oV8NQ0WwM,166743
@@ -278,7 +278,7 @@ ccxt/async_support/lbank.py,sha256=8xft1XQ_-AZ0JwQ7-3E5y7bYLKRjP6u3AqFvqa8vdQw,1
278
278
  ccxt/async_support/luno.py,sha256=XC5WjZZ6tYQ-95bKyR_Z8TE7rolGLwi3z9eciXv-Qbk,41162
279
279
  ccxt/async_support/lykke.py,sha256=u5c1AF0kX68uFPcyM6X6JgO3aRTbFyCHFl0dnpTz1C8,49231
280
280
  ccxt/async_support/mercado.py,sha256=iWrbY3e0vLQupTsclLaD21jH8r6Nd3FlOLC9va-WZz0,35237
281
- ccxt/async_support/mexc.py,sha256=5PIW1pqlxvcxSxemxD2oJydSlvgx5a6EW9ftnLY2oyo,225270
281
+ ccxt/async_support/mexc.py,sha256=ZiFb0-WH0NLN40RFEgn13lkM1lOm4Chv3kdynaq3i5g,225336
282
282
  ccxt/async_support/ndax.py,sha256=zK8hVmTJwum2ilEOyjHpq44M3nyePE2xiEgfsD0m_n8,107728
283
283
  ccxt/async_support/novadax.py,sha256=ovj8kj6bN2hjTNeH3UpjR7SKzmQGuNATI_02J6Fy9Ns,63593
284
284
  ccxt/async_support/oceanex.py,sha256=fvjFGdRVza2wPzwLCeShmf9ujJfsoSG2mieY-jiPxXU,37950
@@ -289,19 +289,19 @@ ccxt/async_support/paymium.py,sha256=ytSECSpo34-Uz_AcKYmcXgfewmymtBEspkHlVyHLPAE
289
289
  ccxt/async_support/phemex.py,sha256=bwvM7vG3aQ4aWYa07LnOyvaopaRS94rXp9dmz6XmQiI,206062
290
290
  ccxt/async_support/poloniex.py,sha256=ysHOrpRVV-ytdmYOHPiZNBbnyGsEXqBK8uYEwFh5f10,100584
291
291
  ccxt/async_support/poloniexfutures.py,sha256=MhEvZecnoy95lgv1kex4O-WkM3X2xqM-MZwqgoiKlf0,76996
292
- ccxt/async_support/probit.py,sha256=o6gmdu5lH4VGKH9P_OjRo2QiYt-NsEsRibWsxmnAqZ4,75776
292
+ ccxt/async_support/probit.py,sha256=xgZveNDDKQTNI5Q7aPRclYhobxKGv-yE3HI6Z6BibDU,76097
293
293
  ccxt/async_support/timex.py,sha256=Stx6uS0xuN2BndKy6ivwdGXguT1K1M1jzfvy6SKgmHc,65964
294
294
  ccxt/async_support/tokocrypto.py,sha256=T9dfvJnNj91ENZiKXlhmXz53a4SHpdtNszMHTuALlKE,121909
295
295
  ccxt/async_support/upbit.py,sha256=cYVE8RdFFQBLd_FK35UfUzGRI8QrnbtobM-7tY9sk28,76921
296
296
  ccxt/async_support/wavesexchange.py,sha256=YQnBsUcZChdm1z4S56wiaTKTea37R5D8yASZkEfOnoU,113865
297
297
  ccxt/async_support/wazirx.py,sha256=m5ABqylqIYhzhKP68xt9Kt2ZvQgHuAx2LszjNw8npV0,37107
298
298
  ccxt/async_support/whitebit.py,sha256=Hsg0ZOPWPDx2TImHcAhQ35oDal3MkoeF_7nOSC2EYjE,98725
299
- ccxt/async_support/woo.py,sha256=clIq1l4K1vedIAm3unBOxxIio_ej7-dwoPvD5I902IU,108199
299
+ ccxt/async_support/woo.py,sha256=g02BWsEyWRXU-tPeVPCnGZ-RYPBL-qN9EzX7cFsRG-M,108362
300
300
  ccxt/async_support/yobit.py,sha256=d9bkNQqL47g7zwt4g_PnhoTQETISVwL8TfhmInvKvkU,52172
301
301
  ccxt/async_support/zaif.py,sha256=-YCjZLw87m9m-JXxUCr6AEC8KfnNX8b7IVSv5caW3QQ,28158
302
302
  ccxt/async_support/zonda.py,sha256=huZYyfwcqQ6kxkxnkf7CW0nXbYWe6nTWnSJjxy5W3po,80676
303
303
  ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
304
- ccxt/async_support/base/exchange.py,sha256=vOrpoKPR1OGUkdkyMfHqpXBeUC8p7J_m3p0ZHPXANK8,70409
304
+ ccxt/async_support/base/exchange.py,sha256=T1KzXjyqZAsDCslP8_dsBhWsh9vK193hAt6RAIlwUWU,70409
305
305
  ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
306
306
  ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
307
307
  ccxt/async_support/base/ws/aiohttp_client.py,sha256=_qjsl_x-rd88QmzQeGVWovMDK0XoD3f4m5GHqxZRajs,5203
@@ -315,10 +315,10 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=Pxrq22nCODckJ6G1OXkYEmUunIu
315
315
  ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
316
316
  ccxt/base/decimal_to_precision.py,sha256=fgWRBzRTtsf3r2INyS4f7WHlzgjB5YM1ekiwqD21aac,6634
317
317
  ccxt/base/errors.py,sha256=1C38u76jlNGq06N_uwfw8b8FZHK8_3_90wM1rKfU_Rg,3878
318
- ccxt/base/exchange.py,sha256=w5peXmJ2fmi_CF28Kef1KInnCbMtTKkvH5uDn5bAHsY,216767
318
+ ccxt/base/exchange.py,sha256=NRrMBGZvx5ER0D1ArKfAcaic8nkzyxLSErtcF0mkoaI,216767
319
319
  ccxt/base/precise.py,sha256=_xfu54sV0vWNnOfGTKRFykeuWP8mn4K1m9lk1tcllX4,8565
320
320
  ccxt/base/types.py,sha256=LN8MOE5oGr8ATL6VNuMAnE9f6o2fZ9zbeLLyXLndlEk,5528
321
- ccxt/pro/__init__.py,sha256=3LTUtVMBiiv6JSXUTxBXtLoeX8aGUsrjuUphhB7Oct4,6376
321
+ ccxt/pro/__init__.py,sha256=SlT6P7TneB1yh3EFsZdl2DZdbKXG68GiJOmidH7LfNI,6376
322
322
  ccxt/pro/alpaca.py,sha256=fy1mLmw4yac7DKvGPpaqEBuA8briQqaRwPbvKsKUJwY,26974
323
323
  ccxt/pro/ascendex.py,sha256=GqH6QOPZfQtbAYhdB65zJ9iIMQDGsXugSyAPUsKXk40,34730
324
324
  ccxt/pro/bequant.py,sha256=3IeQ0vPg-eVqPiGMfX7yqH9qtXKm1ZqocQDeLwpA8EE,1093
@@ -428,7 +428,7 @@ ccxt/test/base/test_ticker.py,sha256=5J8KHgFhJLgcWyFwt3bhJ-tldMho3K7LD5yJnnUyrT4
428
428
  ccxt/test/base/test_trade.py,sha256=AN3emAdEPhdFyunap43cKqZTS1cbaShZKTjYue67jEU,2297
429
429
  ccxt/test/base/test_trading_fee.py,sha256=2_WCp3qJ2UpraQQoGFlGJYwHD-T0Bm5W7KIw4zpFvSM,1068
430
430
  ccxt/test/base/test_transaction.py,sha256=BTbB4UHHXkrvYgwbrhh867nVRlevmIkIrz1W_odlQJI,1434
431
- ccxt-4.1.78.dist-info/METADATA,sha256=bQCR2-aCvCELf5iS3kybHhGRpWaqSgsoECcBYQmdVTc,106154
432
- ccxt-4.1.78.dist-info/WHEEL,sha256=P2T-6epvtXQ2cBOE_U1K4_noqlJFN3tj15djMgEu4NM,110
433
- ccxt-4.1.78.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
434
- ccxt-4.1.78.dist-info/RECORD,,
431
+ ccxt-4.1.80.dist-info/METADATA,sha256=5d6UOKlTzLYBIA-_CvJ-loBFOFoRZvBmCv0NJSS-d90,106154
432
+ ccxt-4.1.80.dist-info/WHEEL,sha256=P2T-6epvtXQ2cBOE_U1K4_noqlJFN3tj15djMgEu4NM,110
433
+ ccxt-4.1.80.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
434
+ ccxt-4.1.80.dist-info/RECORD,,
File without changes