ccxt 4.2.54__py2.py3-none-any.whl → 4.2.56__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/pro/bitget.py CHANGED
@@ -96,7 +96,9 @@ class bitget(ccxt.async_support.bitget):
96
96
 
97
97
  def get_inst_type(self, market, params={}):
98
98
  instType = None
99
- if (market['swap']) or (market['future']):
99
+ if market is None:
100
+ instType, params = self.handleProductTypeAndParams(None, params)
101
+ elif (market['swap']) or (market['future']):
100
102
  instType, params = self.handleProductTypeAndParams(market, params)
101
103
  else:
102
104
  instType = 'SPOT'
@@ -635,9 +637,12 @@ class bitget(ccxt.async_support.bitget):
635
637
  limit = self.safe_integer(self.options, 'tradesLimit', 1000)
636
638
  stored = ArrayCache(limit)
637
639
  self.trades[symbol] = stored
638
- data = self.safe_value(message, 'data', [])
639
- for j in range(0, len(data)):
640
- rawTrade = data[j]
640
+ data = self.safe_list(message, 'data', [])
641
+ length = len(data)
642
+ maxLength = max(length - 1, 0)
643
+ # fix chronological order by reversing
644
+ for i in range(maxLength, 0):
645
+ rawTrade = data[i]
641
646
  parsed = self.parse_ws_trade(rawTrade, market)
642
647
  stored.append(parsed)
643
648
  messageHash = 'trade:' + symbol
@@ -653,22 +658,69 @@ class bitget(ccxt.async_support.bitget):
653
658
  # "tradeId": "1116461060594286593"
654
659
  # }
655
660
  #
656
- market = self.safe_market(None, market)
657
- timestamp = self.safe_integer(trade, 'ts')
661
+ # order with trade in it
662
+ # {
663
+ # accBaseVolume: '0.1',
664
+ # baseVolume: '0.1',
665
+ # cTime: '1709221342922',
666
+ # clientOid: '1147122943507734528',
667
+ # enterPointSource: 'API',
668
+ # feeDetail: [Array],
669
+ # fillFee: '-0.0049578',
670
+ # fillFeeCoin: 'USDT',
671
+ # fillNotionalUsd: '8.263',
672
+ # fillPrice: '82.63',
673
+ # fillTime: '1709221342986',
674
+ # force: 'gtc',
675
+ # instId: 'LTCUSDT',
676
+ # leverage: '10',
677
+ # marginCoin: 'USDT',
678
+ # marginMode: 'crossed',
679
+ # notionalUsd: '8.268',
680
+ # orderId: '1147122943499345921',
681
+ # orderType: 'market',
682
+ # pnl: '0',
683
+ # posMode: 'hedge_mode',
684
+ # posSide: 'short',
685
+ # price: '0',
686
+ # priceAvg: '82.63',
687
+ # reduceOnly: 'no',
688
+ # side: 'sell',
689
+ # size: '0.1',
690
+ # status: 'filled',
691
+ # tradeId: '1147122943772479563',
692
+ # tradeScope: 'T',
693
+ # tradeSide: 'open',
694
+ # uTime: '1709221342986'
695
+ # }
696
+ #
697
+ instId = self.safe_string(trade, 'instId')
698
+ if market is None:
699
+ market = self.safe_market(instId, None, None, 'contract')
700
+ timestamp = self.safe_integer_n(trade, ['uTime', 'cTime', 'ts'])
701
+ feeCost = self.safe_string(trade, 'fillFee')
702
+ fee = None
703
+ if feeCost is not None:
704
+ feeCurrencyId = self.safe_string(trade, 'fillFeeCoin')
705
+ feeCurrencyCode = self.safe_currency_code(feeCurrencyId)
706
+ fee = {
707
+ 'cost': Precise.string_abs(feeCost),
708
+ 'currency': feeCurrencyCode,
709
+ }
658
710
  return self.safe_trade({
659
711
  'info': trade,
660
712
  'id': self.safe_string(trade, 'tradeId'),
661
- 'order': None,
713
+ 'order': self.safe_string(trade, 'orderId'),
662
714
  'timestamp': timestamp,
663
715
  'datetime': self.iso8601(timestamp),
664
716
  'symbol': market['symbol'],
665
717
  'type': None,
666
718
  'side': self.safe_string(trade, 'side'),
667
719
  'takerOrMaker': None,
668
- 'price': self.safe_string(trade, 'price'),
720
+ 'price': self.safe_string_2(trade, 'priceAvg', 'price'),
669
721
  'amount': self.safe_string(trade, 'size'),
670
- 'cost': None,
671
- 'fee': None,
722
+ 'cost': self.safe_string(trade, 'fillNotionalUsd'),
723
+ 'fee': fee,
672
724
  }, market)
673
725
 
674
726
  async def watch_positions(self, symbols: Strings = None, since: Int = None, limit: Int = None, params={}) -> List[Position]:
@@ -1047,6 +1099,8 @@ class bitget(ccxt.async_support.bitget):
1047
1099
  marketSymbols = {}
1048
1100
  for i in range(0, len(data)):
1049
1101
  order = data[i]
1102
+ if 'tradeId' in order:
1103
+ self.handle_my_trades(client, order)
1050
1104
  marketId = self.safe_string(order, 'instId')
1051
1105
  market = self.safe_market(marketId, None, None, marketType)
1052
1106
  parsed = self.parse_ws_order(order, market)
@@ -1299,7 +1353,7 @@ class bitget(ccxt.async_support.bitget):
1299
1353
  limit = self.safe_integer(self.options, 'tradesLimit', 1000)
1300
1354
  self.myTrades = ArrayCache(limit)
1301
1355
  stored = self.myTrades
1302
- parsed = self.parse_ws_my_trade(message)
1356
+ parsed = self.parse_ws_trade(message)
1303
1357
  stored.append(parsed)
1304
1358
  symbol = parsed['symbol']
1305
1359
  messageHash = 'myTrades'
@@ -1307,67 +1361,6 @@ class bitget(ccxt.async_support.bitget):
1307
1361
  symbolSpecificMessageHash = 'myTrades:' + symbol
1308
1362
  client.resolve(stored, symbolSpecificMessageHash)
1309
1363
 
1310
- def parse_ws_my_trade(self, trade, market=None):
1311
- #
1312
- # order and trade mixin(contract)
1313
- #
1314
- # {
1315
- # "accBaseVolume": "0",
1316
- # "cTime": "1701920553759",
1317
- # "clientOid": "1116501214318198793",
1318
- # "enterPointSource": "WEB",
1319
- # "feeDetail": [{
1320
- # "feeCoin": "USDT",
1321
- # "fee": "-0.162003"
1322
- # }],
1323
- # "force": "gtc",
1324
- # "instId": "BTCUSDT",
1325
- # "leverage": "20",
1326
- # "marginCoin": "USDT",
1327
- # "marginMode": "isolated",
1328
- # "notionalUsd": "105",
1329
- # "orderId": "1116501214293032964",
1330
- # "orderType": "limit",
1331
- # "posMode": "hedge_mode",
1332
- # "posSide": "long",
1333
- # "price": "35000",
1334
- # "reduceOnly": "no",
1335
- # "side": "buy",
1336
- # "size": "0.003",
1337
- # "status": "canceled",
1338
- # "tradeSide": "open",
1339
- # "uTime": "1701920595866"
1340
- # }
1341
- #
1342
- marketId = self.safe_string(trade, 'instId')
1343
- market = self.safe_market(marketId, market, None, 'contract')
1344
- timestamp = self.safe_integer_2(trade, 'uTime', 'cTime')
1345
- orderFee = self.safe_value(trade, 'feeDetail', [])
1346
- fee = self.safe_value(orderFee, 0)
1347
- feeAmount = self.safe_string(fee, 'fee')
1348
- feeObject = None
1349
- if feeAmount is not None:
1350
- feeCurrency = self.safe_string(fee, 'feeCoin')
1351
- feeObject = {
1352
- 'cost': Precise.string_abs(feeAmount),
1353
- 'currency': self.safe_currency_code(feeCurrency),
1354
- }
1355
- return self.safe_trade({
1356
- 'info': trade,
1357
- 'id': None,
1358
- 'order': self.safe_string(trade, 'orderId'),
1359
- 'timestamp': timestamp,
1360
- 'datetime': self.iso8601(timestamp),
1361
- 'symbol': market['symbol'],
1362
- 'type': self.safe_string(trade, 'orderType'),
1363
- 'side': self.safe_string(trade, 'side'),
1364
- 'takerOrMaker': None,
1365
- 'price': self.safe_string(trade, 'price'),
1366
- 'amount': self.safe_string(trade, 'size'),
1367
- 'cost': self.safe_string(trade, 'notionalUsd'),
1368
- 'fee': feeObject,
1369
- }, market)
1370
-
1371
1364
  async def watch_balance(self, params={}) -> Balances:
1372
1365
  """
1373
1366
  watch balance and get the amount of funds available for trading or funds locked in orders
ccxt/pro/bybit.py CHANGED
@@ -324,15 +324,29 @@ class bybit(ccxt.async_support.bybit):
324
324
  # "price24hPcnt": "-0.0388"
325
325
  # }
326
326
  # }
327
+ # swap delta
328
+ # {
329
+ # "topic":"tickers.AAVEUSDT",
330
+ # "type":"delta",
331
+ # "data":{
332
+ # "symbol":"AAVEUSDT",
333
+ # "bid1Price":"112.89",
334
+ # "bid1Size":"2.12",
335
+ # "ask1Price":"112.90",
336
+ # "ask1Size":"5.02"
337
+ # },
338
+ # "cs":78039939929,
339
+ # "ts":1709210212704
340
+ # }
327
341
  #
328
342
  topic = self.safe_string(message, 'topic', '')
329
343
  updateType = self.safe_string(message, 'type', '')
330
- data = self.safe_value(message, 'data', {})
331
- isSpot = self.safe_string(data, 'fundingRate') is None
344
+ data = self.safe_dict(message, 'data', {})
345
+ isSpot = self.safe_string(data, 'usdIndexPrice') is not None
332
346
  type = 'spot' if isSpot else 'contract'
333
347
  symbol = None
334
348
  parsed = None
335
- if (updateType == 'snapshot') or isSpot:
349
+ if (updateType == 'snapshot'):
336
350
  parsed = self.parse_ticker(data)
337
351
  symbol = parsed['symbol']
338
352
  elif updateType == 'delta':
@@ -342,8 +356,8 @@ class bybit(ccxt.async_support.bybit):
342
356
  market = self.safe_market(marketId, None, None, type)
343
357
  symbol = market['symbol']
344
358
  # update the info in place
345
- ticker = self.safe_value(self.tickers, symbol, {})
346
- rawTicker = self.safe_value(ticker, 'info', {})
359
+ ticker = self.safe_dict(self.tickers, symbol, {})
360
+ rawTicker = self.safe_dict(ticker, 'info', {})
347
361
  merged = self.extend(rawTicker, data)
348
362
  parsed = self.parse_ticker(merged)
349
363
  timestamp = self.safe_integer(message, 'ts')
ccxt/pro/currencycom.py CHANGED
@@ -96,7 +96,7 @@ class currencycom(ccxt.async_support.currencycom):
96
96
  # "accountId": 5470310874305732,
97
97
  # "collateralCurrency": True,
98
98
  # "asset": "USD",
99
- # "free": 47.82576735,
99
+ # "free": 47.82576736,
100
100
  # "locked": 1.187925,
101
101
  # "default": True
102
102
  # },
@@ -445,6 +445,7 @@ class currencycom(ccxt.async_support.currencycom):
445
445
  if orderbook is None:
446
446
  orderbook = self.order_book()
447
447
  orderbook.reset({
448
+ 'symbol': symbol,
448
449
  'timestamp': timestamp,
449
450
  'datetime': self.iso8601(timestamp),
450
451
  })
ccxt/pro/kraken.py CHANGED
@@ -361,7 +361,7 @@ class kraken(ccxt.async_support.kraken):
361
361
  # [
362
362
  # 0, # channelID
363
363
  # [ # price volume time side type misc
364
- # ["5541.20000", "0.15850568", "1534614057.321597", "s", "l", ""],
364
+ # ["5541.20000", "0.15850568", "1534614057.321596", "s", "l", ""],
365
365
  # ["6060.00000", "0.02455000", "1534614057.324998", "b", "l", ""],
366
366
  # ],
367
367
  # "trade",
@@ -54,10 +54,9 @@ def test_order_book(exchange, skipped_properties, method, orderbook, symbol):
54
54
  assert has_correct_order, 'current ask should be < than the next one: ' + current_ask_string + '<' + next_ask_string + log_text
55
55
  test_shared_methods.assert_greater(exchange, skipped_properties, method, asks[i], 0, '0')
56
56
  test_shared_methods.assert_greater(exchange, skipped_properties, method, asks[i], 1, '0')
57
- if 'spread' in skipped_properties:
58
- return
59
- if bids_length and asks_length:
60
- first_bid = exchange.safe_string(bids[0], 0)
61
- first_ask = exchange.safe_string(asks[0], 0)
62
- # check bid-ask spread
63
- assert Precise.string_lt(first_bid, first_ask), 'bids[0][0] (' + first_ask + ') should be < than asks[0][0] (' + first_ask + ')' + log_text
57
+ if not ('spread' in skipped_properties):
58
+ if bids_length and asks_length:
59
+ first_bid = exchange.safe_string(bids[0], 0)
60
+ first_ask = exchange.safe_string(asks[0], 0)
61
+ # check bid-ask spread
62
+ assert Precise.string_lt(first_bid, first_ask), 'bids[0][0] (' + first_ask + ') should be < than asks[0][0] (' + first_ask + ')' + log_text
@@ -78,7 +78,7 @@ def test_ticker(exchange, skipped_properties, method, entry, symbol):
78
78
  assert quote_volume is not None, 'baseVolume & vwap is defined, but quoteVolume is not' + log_text
79
79
  if quote_volume is not None:
80
80
  assert base_volume is not None, 'quoteVolume & vwap is defined, but baseVolume is not' + log_text
81
- if not ('ask' in skipped_properties) and not ('bid' in skipped_properties):
81
+ if not ('spread' in skipped_properties) and not ('ask' in skipped_properties) and not ('bid' in skipped_properties):
82
82
  ask_string = exchange.safe_string(entry, 'ask')
83
83
  bid_string = exchange.safe_string(entry, 'bid')
84
84
  if (ask_string is not None) and (bid_string is not None):
ccxt/upbit.py CHANGED
@@ -604,7 +604,7 @@ class upbit(Exchange, ImplicitAPI):
604
604
  # "trade_time": "104543",
605
605
  # "trade_date_kst": "20181122",
606
606
  # "trade_time_kst": "194543",
607
- # "trade_timestamp": 1542883543097,
607
+ # "trade_timestamp": 1542883543096,
608
608
  # "opening_price": 0.02976455,
609
609
  # "high_price": 0.02992577,
610
610
  # "low_price": 0.02934283,
ccxt/woo.py CHANGED
@@ -106,6 +106,7 @@ class woo(Exchange, ImplicitAPI):
106
106
  'reduceMargin': False,
107
107
  'setLeverage': True,
108
108
  'setMargin': False,
109
+ 'setPositionMode': True,
109
110
  'transfer': True,
110
111
  'withdraw': True, # exchange have that endpoint disabled atm, but was once implemented in ccxt per old docs: https://kronosresearch.github.io/wootrade-documents/#token-withdraw
111
112
  },
@@ -180,10 +181,16 @@ class woo(Exchange, ImplicitAPI):
180
181
  'client/trade/{tid}': 1,
181
182
  'order/{oid}/trades': 1,
182
183
  'client/trades': 1,
184
+ 'client/hist_trades': 1,
185
+ 'staking/yield_history': 1,
186
+ 'client/holding': 1,
183
187
  'asset/deposit': 10,
184
188
  'asset/history': 60,
185
189
  'sub_account/all': 60,
186
190
  'sub_account/assets': 60,
191
+ 'sub_account/asset_detail': 60,
192
+ 'sub_account/ip_restriction': 10,
193
+ 'asset/main_sub_transfer_history': 30,
187
194
  'token_interest': 60,
188
195
  'token_interest/{token}': 60,
189
196
  'interest/history': 60,
@@ -196,9 +203,12 @@ class woo(Exchange, ImplicitAPI):
196
203
  'post': {
197
204
  'order': 5, # 2 requests per 1 second per symbol
198
205
  'asset/main_sub_transfer': 30, # 20 requests per 60 seconds
206
+ 'asset/ltv': 30,
199
207
  'asset/withdraw': 30, # implemented in ccxt, disabled on the exchange side https://kronosresearch.github.io/wootrade-documents/#token-withdraw
208
+ 'asset/internal_withdraw': 30,
200
209
  'interest/repay': 60,
201
210
  'client/account_mode': 120,
211
+ 'client/position_mode': 5,
202
212
  'client/leverage': 120,
203
213
  },
204
214
  'delete': {
@@ -2434,6 +2444,33 @@ class woo(Exchange, ImplicitAPI):
2434
2444
  sorted = self.sort_by(rates, 'timestamp')
2435
2445
  return self.filter_by_symbol_since_limit(sorted, symbol, since, limit)
2436
2446
 
2447
+ def set_position_mode(self, hedged: bool, symbol: Str = None, params={}):
2448
+ """
2449
+ set hedged to True or False for a market
2450
+ :see: https://docs.woo.org/#update-position-mode
2451
+ :param bool hedged: set to True to use HEDGE_MODE, False for ONE_WAY
2452
+ :param str symbol: not used by woo setPositionMode
2453
+ :param dict [params]: extra parameters specific to the exchange API endpoint
2454
+ :returns dict: response from the exchange
2455
+ """
2456
+ hedgeMode = None
2457
+ if hedged:
2458
+ hedgeMode = 'HEDGE_MODE'
2459
+ else:
2460
+ hedgeMode = 'ONE_WAY'
2461
+ request = {
2462
+ 'position_mode': hedgeMode,
2463
+ }
2464
+ response = self.v1PrivatePostClientPositionMode(self.extend(request, params))
2465
+ #
2466
+ # {
2467
+ # "success": True,
2468
+ # "data": {},
2469
+ # "timestamp": "1709195608551"
2470
+ # }
2471
+ #
2472
+ return response
2473
+
2437
2474
  def fetch_leverage(self, symbol: str, params={}):
2438
2475
  self.load_markets()
2439
2476
  response = self.v3PrivateGetAccountinfo(params)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.2.54
3
+ Version: 4.2.56
4
4
  Summary: A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ 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.2.54/dist/ccxt.browser.js
262
- * unpkg: https://unpkg.com/ccxt@4.2.54/dist/ccxt.browser.js
261
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.56/dist/ccxt.browser.js
262
+ * unpkg: https://unpkg.com/ccxt@4.2.56/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.2.54/dist/ccxt.browser.js"></script>
267
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.56/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=vz4FTFrrWLeMSXnwyklX9I2ztvZH_jkeSMP0X3Va26M,15342
1
+ ccxt/__init__.py,sha256=7Wc2Y1qR5GabHsDZx8KMBVSyzhjBqrljbdahP814GZM,15342
2
2
  ccxt/ace.py,sha256=pIA1Ipres_-IcaIF1hiSewvx3gLNH_19ZPykd4OO5zc,41406
3
3
  ccxt/alpaca.py,sha256=Ac1M6PUcbOQIPQp5DzOX2g1bDRlHf_Nt1EeZN7QpUSE,46260
4
4
  ccxt/ascendex.py,sha256=LvkEOorRw8DK9fu34XN2boyj5RUZDHbY4e1r7VftV9M,144243
@@ -8,7 +8,7 @@ ccxt/binance.py,sha256=USrKk_w6jUehLeGT-54D0UYchVM0YyHDBpTNpwIHmyQ,587327
8
8
  ccxt/binancecoinm.py,sha256=pncdw6Xw2X1Po-vEvAB4nL37scoS_axGAVxetPy1YQs,1645
9
9
  ccxt/binanceus.py,sha256=hdcT4OnadcdFFFjF3GtM0nWv90jqojqwdVS3xWGuW40,9163
10
10
  ccxt/binanceusdm.py,sha256=KPQGlCalQ0eGlPCs2tSanOxaP8O0zFRQjGntA16Yprw,2480
11
- ccxt/bingx.py,sha256=Ao8n0Pge9asYxEGBjZxhJRxhWCkiied6aOfHsqdBXyA,171805
11
+ ccxt/bingx.py,sha256=yStTv0szUZ5umCdasDa_BzrFU2aA2-gh9aH-uA9hhRM,172052
12
12
  ccxt/bit2c.py,sha256=CqqcR58gFVOsG43SazN_EEGwwtkhdqZvxBiGS78MUhU,36871
13
13
  ccxt/bitbank.py,sha256=wvtM2PqiOtTA2pzSGdGLUuu30Zr5gCrGVj17gHYjpSU,41669
14
14
  ccxt/bitbay.py,sha256=xAIjzGRDVGwoy-Gygd99H0YN4wiaz_0lR0Z14oxaaxc,478
@@ -55,7 +55,7 @@ ccxt/digifinex.py,sha256=V2nJqSNoiUsiNYRz9GLk8ItUJ2dAlD1WAF9Ei4Rzsls,169285
55
55
  ccxt/exmo.py,sha256=luqEu6-URZ6ML7k8bv0Q9s3vuZZVBnn4xRHXkbq2od4,114223
56
56
  ccxt/flowbtc.py,sha256=YPvm6tbsHJJUQBspFcHuVPQfVmiWzwnVvfzRqBdQX6U,1169
57
57
  ccxt/fmfwio.py,sha256=RbVLvzPwnqfDsE7Ea-N13ISCC82eJVPsXYjrleASmew,1236
58
- ccxt/gate.py,sha256=dtu3StuG9erlEMQzFGJEL_Lbx2LBDpnXjA2zdAfbBBY,297933
58
+ ccxt/gate.py,sha256=9m_TOoaFfjW-0GdVJmEO3qammrC-cpePJhqTzJYEn4I,298135
59
59
  ccxt/gateio.py,sha256=86AETJWODl_vA5VNeQRHZprmpNIY1HAxCddKZcnKSi8,445
60
60
  ccxt/gemini.py,sha256=wPaaNBOuw3NW8GCTrlE8jXVq03mJECmFDHgk53nTB9A,75697
61
61
  ccxt/hitbtc.py,sha256=Ll2Qs_TuGpJ_4qQR8ZIA7kbCfAkl19CA91Vi6U4G1co,150091
@@ -82,7 +82,7 @@ ccxt/ndax.py,sha256=cKQGXhaapqcO3WBRbUPETm1QWmMXhJx2F1IANiRtZaI,108302
82
82
  ccxt/novadax.py,sha256=4We_2lMTdbOo_E5MF4HGj66fLaEKBZEc1a6FOrlr9mY,64069
83
83
  ccxt/oceanex.py,sha256=DBqZAQMStW8T-LQIXyWvApVctTaBSipQpVvtPcM68HI,37808
84
84
  ccxt/okcoin.py,sha256=8Kla5cXQaSV2Ct6sKW0UYgMG4ATXBXWo9DFAGROa3pQ,148251
85
- ccxt/okx.py,sha256=l3RvqHI0xK170m3fvQJ8VsCfUe_AfTHGpYu9LbarxWI,334396
85
+ ccxt/okx.py,sha256=nd5tEu0VrapzV234fJ2zOOASbaSRqIml1-z7Ih7Hgu0,335970
86
86
  ccxt/onetrading.py,sha256=wVeNFnE8stSoqCmrw4eGmtck5CrcUOKy5l-8lPA4URA,87888
87
87
  ccxt/p2b.py,sha256=8C4x-xPO-JsXByjcGub3DIqD6X061D4NJi2mW3GFtlM,54062
88
88
  ccxt/paymium.py,sha256=E2_kKOFtw3TMECr_ltX4EuSk85PMsk1n03vr3LPxGRI,24200
@@ -92,11 +92,11 @@ ccxt/poloniexfutures.py,sha256=k8QQg8o7SGDM4v2l_7MpBaN1B6xVqSjISYj8MYA6y7M,77356
92
92
  ccxt/probit.py,sha256=EmO4HSJ9WsXFgdA0vCtqGXRKNA6j0OTkpER9a1nSPkU,76185
93
93
  ccxt/timex.py,sha256=ysxErGS2c53v_nS3-QUoueQ-YjnWccdBBxa9HCyoARU,70972
94
94
  ccxt/tokocrypto.py,sha256=p35jYl0Il-61ZG9VXSTo53bhFx10SSRNJKAWmJFU9Lc,122260
95
- ccxt/upbit.py,sha256=iW4mww3CrefGZ0p7RsTbvB95qQZakRrgtkAeit7VnMc,81457
95
+ ccxt/upbit.py,sha256=K6uSEEHzS9WWpWMyl0fCJAZvHJG2yjq7JFzepW5fj00,81457
96
96
  ccxt/wavesexchange.py,sha256=X2B-0uBpJbMhSml6VVf_45lCpFqpvMrWXs5P48UrvLM,113385
97
97
  ccxt/wazirx.py,sha256=jeCzDjmGpY8iwuZfBodwuNnj4yGBJQ79qpvaqPOCt8Q,36881
98
98
  ccxt/whitebit.py,sha256=7dE1Y1u1C1TjulQsg0ThG7k-UvlaMgfjfCH-IqrDe58,100866
99
- ccxt/woo.py,sha256=PYC2Wj0BSC6PvmIi-UN6pQBuuKLjJ8BN9kcwcE2aB78,117694
99
+ ccxt/woo.py,sha256=CMfLGT0t_wR59II8p8gug6EXPWvMZtFaTu9zFshHVYQ,119194
100
100
  ccxt/yobit.py,sha256=ShsGQOG-uEKkaUMTXimvWLO5NX0yxtSuIxMwHf7p1sw,53001
101
101
  ccxt/zaif.py,sha256=S-TrieJK5XOw8Fz2KzYXG--wlctA3NqCuv73JEJFsSg,27934
102
102
  ccxt/zonda.py,sha256=yVaEmpApQe6NWSKRchdrTwgC_9H-t8YhNBGwO8nGB4s,80449
@@ -156,8 +156,8 @@ ccxt/abstract/deribit.py,sha256=rS_982u8dOVsh2vGSB5TO7K8Tye0Alq-Rg9fYZwz8hg,1549
156
156
  ccxt/abstract/digifinex.py,sha256=1JzOaqvLTgBuooJSVJ70riBgODfzZwxHwTmYHe_AnqU,11452
157
157
  ccxt/abstract/exmo.py,sha256=yq9zis5G9Qjsecs-YSHAghDjad6y52jFteWSBJZFg8o,6177
158
158
  ccxt/abstract/fmfwio.py,sha256=OTBtNu3DQeAqAC_Lbi0NePUs-ZQQllcLrVDI2G04nwQ,15601
159
- ccxt/abstract/gate.py,sha256=Sxn9vXYRscTWpEorTo1t6AmfcwYQqy5FrGro81PzyN8,41273
160
- ccxt/abstract/gateio.py,sha256=Sxn9vXYRscTWpEorTo1t6AmfcwYQqy5FrGro81PzyN8,41273
159
+ ccxt/abstract/gate.py,sha256=mPbf1vaw2NCn2D3YSGRD2LEexzfMBGRSygK5aimrc3s,41809
160
+ ccxt/abstract/gateio.py,sha256=mPbf1vaw2NCn2D3YSGRD2LEexzfMBGRSygK5aimrc3s,41809
161
161
  ccxt/abstract/gemini.py,sha256=6TyBUDw-e4b02J5ToCX0eaXQfF0Knvkf7ToLcseqcIY,6915
162
162
  ccxt/abstract/hitbtc.py,sha256=OTBtNu3DQeAqAC_Lbi0NePUs-ZQQllcLrVDI2G04nwQ,15601
163
163
  ccxt/abstract/hitbtc3.py,sha256=OTBtNu3DQeAqAC_Lbi0NePUs-ZQQllcLrVDI2G04nwQ,15601
@@ -197,11 +197,11 @@ ccxt/abstract/upbit.py,sha256=L55L1lsLF8h1geUf2L-LmRpK9RovuvvTc4OYg_VHVmo,3463
197
197
  ccxt/abstract/wavesexchange.py,sha256=8LIgZiPixoaUFPKGSWJpjI1BYXVqeQh9NLcjfXciZMc,19631
198
198
  ccxt/abstract/wazirx.py,sha256=s4S_IHKchXSzoeFRQu4uiDpR4SgR-fAeQLmGbSDrbP4,2130
199
199
  ccxt/abstract/whitebit.py,sha256=IaK-PxBd3rBoE2m9EExB4rGaqovubRHPHOATUUMbJ9o,8029
200
- ccxt/abstract/woo.py,sha256=xilL7EbvUmJ_zBb_r1Q7cTi4bHsBQN2mFu0TGu7WHG0,8890
200
+ ccxt/abstract/woo.py,sha256=E-QXVJKVI4EOW72NX6wv99px9EyitWtd9KWvXUc9Tyo,10216
201
201
  ccxt/abstract/yobit.py,sha256=8ycfCO8ORFly9hc0Aa47sZyX4_ZKPXS9h9yJzI-uQ7Q,1339
202
202
  ccxt/abstract/zaif.py,sha256=m15WHdl3gYy0GOXNZ8NEH8eE7sVh8c0T_ITNuU8vXeU,3935
203
203
  ccxt/abstract/zonda.py,sha256=aSfewvRojzmuymX6QbOnDR8v9VFqWTULMHX9Y7kKD1M,5820
204
- ccxt/async_support/__init__.py,sha256=iqH4RXLHh-ddVmGYE3PpxzotOdsGzPS_JgoSITxG8pU,15065
204
+ ccxt/async_support/__init__.py,sha256=WybNat1oowoKehCowMCERrGm6-ji3emXZ0948Rv0voA,15065
205
205
  ccxt/async_support/ace.py,sha256=LjNrCLc5OA9CTZ-SCNkBBeSUa144U1ayh6lSw_6GVgI,41630
206
206
  ccxt/async_support/alpaca.py,sha256=Z8cGI1uazQqK7RCLCSw1JEGx03bGTJhxI1_qLQWkmKg,46472
207
207
  ccxt/async_support/ascendex.py,sha256=66-1Q9nGHEZtVkZk-ZWrTK3gbTzPh2WVP-lzlFM9g6w,144983
@@ -211,7 +211,7 @@ ccxt/async_support/binance.py,sha256=E-_rjQZnvPQAArpWVm5_mao6heCXyBLlftDfRXbkcMg
211
211
  ccxt/async_support/binancecoinm.py,sha256=IY3RLZptQA2nmZaUYRGfTa5ZY4VMWBpFYfwHc8zTHw0,1683
212
212
  ccxt/async_support/binanceus.py,sha256=c-K3Tk7LaRJjmYdCx8vBOqsx01uXrtvt0PC2ekBiD0g,9177
213
213
  ccxt/async_support/binanceusdm.py,sha256=-1r4A4tmV2pCiLGO80hzq7MIIj4MTzOD7buZGv6JauA,2518
214
- ccxt/async_support/bingx.py,sha256=nNj-JCEky16WmIhLA0O3BqXZZ6AvWnX5hG9chophYME,172745
214
+ ccxt/async_support/bingx.py,sha256=4FgzT67AQJ3cle7jHhIwsDi0KjTKXQzh2mdZXoC9gqc,172992
215
215
  ccxt/async_support/bit2c.py,sha256=RDRT1O-AnjlD62XFEGdaN-RFY3sk3wUWwF60q_wYkwc,37083
216
216
  ccxt/async_support/bitbank.py,sha256=V4gPkGl0HaSXo6IKWYbzPEuJDChaIClzSQfzKKBf8yI,41929
217
217
  ccxt/async_support/bitbay.py,sha256=jcaEXi2IhYTva8ezO_SfJhwxEZk7HST4J3NaxD16BQA,492
@@ -258,7 +258,7 @@ ccxt/async_support/digifinex.py,sha256=UfloaYAZEZtD03f7ME35GfCD5P-DKFYtPJiwqW_53
258
258
  ccxt/async_support/exmo.py,sha256=IEvbMNo9iFQnmaAD8w0xXBkXfK5jfKaVhoUUExsT-40,114855
259
259
  ccxt/async_support/flowbtc.py,sha256=bCnvtcNnPxxaxqVjI1GGXKhIpz_1r4GIFWqqPokvCR0,1183
260
260
  ccxt/async_support/fmfwio.py,sha256=lzfSnPrB2ARcC3EIqAuBM4vyg6LJ6n8RE71Zvt3ez1s,1250
261
- ccxt/async_support/gate.py,sha256=OEZSeaqpRRYju3jpJqzeYYvT2G7lmGBL2gXw53jedP4,299497
261
+ ccxt/async_support/gate.py,sha256=yw4c5tDJrcpWOnvj8e0VDzuZBq7YxaJyGu-uK_257ok,299699
262
262
  ccxt/async_support/gateio.py,sha256=6_t032F9p9x5KGTjtSuqGXITzFOx-XAQBYLpsuQjzxw,459
263
263
  ccxt/async_support/gemini.py,sha256=tpEkHyCITLq0eATDBWJ56QtnuzUiIv5B-aPxpUjsWRU,76199
264
264
  ccxt/async_support/hitbtc.py,sha256=qNGuCLB4oBFaqJ96SFVBMCFHuC7eeFb-DKK8A-XcADk,151137
@@ -285,7 +285,7 @@ ccxt/async_support/ndax.py,sha256=SCap1PcSmwfuu8qsc31pFJNdWLIHptgeT10DA6K_7I0,10
285
285
  ccxt/async_support/novadax.py,sha256=TrZtbxXGxCYVwK56bEKqbmLpW8OcuLHDeCj_3FCi-Ek,64437
286
286
  ccxt/async_support/oceanex.py,sha256=Ei8DkAHfrj5WH3i_KyUvHqKEu8YkpOkxUcgYVTcivaU,38128
287
287
  ccxt/async_support/okcoin.py,sha256=-h1mPs9LAALPFae8gPEvqY53OsG_Yl28JdWPGpvP-K8,148775
288
- ccxt/async_support/okx.py,sha256=NYiMpQyJcQeqx83yJBfAqfQJ2SixBd8W5v9N5NopdfA,335779
288
+ ccxt/async_support/okx.py,sha256=v1b9tKYHHUdg2VFUtOvB05sX3uwz06MHOKVBj--jqzQ,337353
289
289
  ccxt/async_support/onetrading.py,sha256=SWYnWF8lpqENY2hGUyNWwvT4Pu4oapz4Hh7uqSUUd8w,88340
290
290
  ccxt/async_support/p2b.py,sha256=LtZlT_xEZDpVOY-qwIwxUtS4yQldrgUTh_397p2jsZ4,54304
291
291
  ccxt/async_support/paymium.py,sha256=BDWin5fLU_J1Bmn4H0MgD54dKFqe2orF4SEe_wxZ-SM,24388
@@ -295,16 +295,16 @@ ccxt/async_support/poloniexfutures.py,sha256=9zKeljKOOW9xCtctQA16xhB_qlustXxj0If
295
295
  ccxt/async_support/probit.py,sha256=k2DxVOstXCMG_AVpi2JiAZQSpvEb7lGxN74bpzEylbI,76577
296
296
  ccxt/async_support/timex.py,sha256=iG8QeYZ8MdQCYWWHAbNHPQ25tT0Eckjlj1h3mipb-Kg,71334
297
297
  ccxt/async_support/tokocrypto.py,sha256=kpFTOFKixMqh-ismunLRTwWcBNQpQiWBhCZt8YO219I,122622
298
- ccxt/async_support/upbit.py,sha256=MgaIXyShgLCdEBWg_S_uK_CxHOybwQG2tBrQ9ROtlac,81939
298
+ ccxt/async_support/upbit.py,sha256=xvBlub9i8X0ogiL4DD75Uz6rc89pYui2dCRmZY6wHk0,81939
299
299
  ccxt/async_support/wavesexchange.py,sha256=XqGhjXFCy1W-DcWPoNrzlStXAxqpll4aK9V-xC68WJY,113935
300
300
  ccxt/async_support/wazirx.py,sha256=tb0R9Mqt-NYTCaBWeBm11C1pHaLz8FmaIMsTdVHvDbs,37135
301
301
  ccxt/async_support/whitebit.py,sha256=-PqeRFhWqmsF2y-MWAUBSpDZE5FXD4bI188XRAioHpM,101414
302
- ccxt/async_support/woo.py,sha256=6zSruCjcOX_duapWfBfrzqz54V6KF-GvXLpUwlTrlGM,118392
302
+ ccxt/async_support/woo.py,sha256=FZQXBUdVhlQa2PypplxzWmZ4QmFEtZYvR1dtA9V85qA,119904
303
303
  ccxt/async_support/yobit.py,sha256=MqUDLiaMLL8kTyViJeeJNMaJpbPJH2OXcxykjSvDGio,53285
304
304
  ccxt/async_support/zaif.py,sha256=A4lhLoQNHt8EWeCH067sQrSiziNZ9nJU_-ZyVE59Xgo,28116
305
305
  ccxt/async_support/zonda.py,sha256=GqTR3gmRA9dcC2dCpSUVK-k19b_DiNGpIRfmmvfchiM,80763
306
306
  ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
307
- ccxt/async_support/base/exchange.py,sha256=7uW6_WUVGIZ_3MP77tM04fKb6qpnHpOKsrLa_RPYVQc,89798
307
+ ccxt/async_support/base/exchange.py,sha256=bt0jeh9DCmpa6i9_-8P5KpXMdIwbZbpnfJYviYWwy48,89798
308
308
  ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
309
309
  ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
310
310
  ccxt/async_support/base/ws/aiohttp_client.py,sha256=Ed1765emEde2Hj8Ys6f5EjS54ZI1wQ0qIhd04eB7yhU,5751
@@ -318,10 +318,10 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=Pxrq22nCODckJ6G1OXkYEmUunIu
318
318
  ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
319
319
  ccxt/base/decimal_to_precision.py,sha256=fgWRBzRTtsf3r2INyS4f7WHlzgjB5YM1ekiwqD21aac,6634
320
320
  ccxt/base/errors.py,sha256=JBn3zTrtru7tLgyEi6MzKAUwiZe0fltQLYoJcsdP-AA,4099
321
- ccxt/base/exchange.py,sha256=a8CYL_mza0h6FF5RNYBR-kFUPTJ9WJqcT3cNC39RWiA,242515
321
+ ccxt/base/exchange.py,sha256=Quxxl9W3qffcfZ-3DqqI-y1etwpq3F1FwteCsD2gFE4,242521
322
322
  ccxt/base/precise.py,sha256=_xfu54sV0vWNnOfGTKRFykeuWP8mn4K1m9lk1tcllX4,8565
323
- ccxt/base/types.py,sha256=IkX5BhJtK19kqTNKgq6LsLV0bYmS8YHDASPVOD3AC64,5886
324
- ccxt/pro/__init__.py,sha256=z0OcS76bFuOOv3vTLDZjaNOfbwc7AhM-uHUiN5GpB6w,6675
323
+ ccxt/base/types.py,sha256=vc4w4-qqDPmqD7GoEJMet4IA8h0HzCdfb3tvKcMl1-k,5915
324
+ ccxt/pro/__init__.py,sha256=zjxc1kXahqkZIaQ2z9F4fOqLaVz-NY2pDlBBJMlDvmM,6675
325
325
  ccxt/pro/alpaca.py,sha256=wd8yRqrzCApryVuM4Q_6xZRekxI7wvPso5C_mQorsec,27164
326
326
  ccxt/pro/ascendex.py,sha256=Tjpk9KPF4YPKsdgq-Cabs3nx1Zkrnd7srdjqHYeghLs,35413
327
327
  ccxt/pro/bequant.py,sha256=5zbsP8BHQTUZ8ZNL6uaACxDbUClgkOV4SYfXT_LfQVg,1351
@@ -333,7 +333,7 @@ ccxt/pro/bingx.py,sha256=d3ZJ2efWMzNl9kEC4wN9KEblOnQ0Ic-xA5wNgAfaxV8,41134
333
333
  ccxt/pro/bitcoincom.py,sha256=zAX6hiz4hS6Un8dSGp88rpnvItxQHfNmsfF0IZ2xIVA,1181
334
334
  ccxt/pro/bitfinex.py,sha256=VdvMikgWO7htYSAEKmGkDBYISWCJon1bnkv3JkV4nv0,24826
335
335
  ccxt/pro/bitfinex2.py,sha256=2xg_5i8NYQLDp8FSvPCt6_jJh50ZwIyeRVXl8GvM7Xk,42706
336
- ccxt/pro/bitget.py,sha256=5V1LqdT1TyiMcR3B0bzOS5mwWJeqqDGFUJAuDjb2BhE,71890
336
+ ccxt/pro/bitget.py,sha256=WcBBM7POQ8IqZRwGJ7YSoHk8aM_KMlw058tm2qwDV8U,71687
337
337
  ccxt/pro/bitmart.py,sha256=5WHsTMk3DnXyJYcA5xpEXcdBh-bQDJZAes_2CpmJbrU,63254
338
338
  ccxt/pro/bitmex.py,sha256=H_hVuJE7-tmIVJ5JORw5H9TyQ85WiqTP-rZdpI7IEbs,67930
339
339
  ccxt/pro/bitopro.py,sha256=QtM5bK7IY8Lh-p5Y8AJPPNF7YcKstzgegA_JgbZe-kc,18669
@@ -342,7 +342,7 @@ ccxt/pro/bitrue.py,sha256=gPN1lVaDZ4IBYGhaS-1WCkcNQ5__RMbtn2dC2sKZUI4,16448
342
342
  ccxt/pro/bitstamp.py,sha256=LLxCbMr3VIpqqH5iHvJHPuLdWB3RwAkO6khgsE608Sk,20886
343
343
  ccxt/pro/bitvavo.py,sha256=0Bes0ym9nZ0UtOeJ8fR6voB8tUZe5d3zRAG7k83_gtE,56098
344
344
  ccxt/pro/blockchaincom.py,sha256=k0BU61r5oEOZWJRRN0dH_C-hU_J_Gd79tOgjIA0wE1w,29554
345
- ccxt/pro/bybit.py,sha256=_GVcXb2ALt3odSKOSz7nkk7D-JrCvIs9VLr6e3-3-yo,73951
345
+ ccxt/pro/bybit.py,sha256=21JxKq6bpYIiOjdjB4wfInPr_DZviBUUCyNUp_6z0-s,74405
346
346
  ccxt/pro/cex.py,sha256=8FFRpDHsxWpeaybpfbacHta6VKTrYXqGVvw5hpQio0s,57582
347
347
  ccxt/pro/coinbase.py,sha256=pNn9TlSh_Jz3VDfNhgmPynaPjan1wUEemUZ7P03iAYM,22573
348
348
  ccxt/pro/coinbasepro.py,sha256=GTrYwUuwhOFJ4cMLFEHUVqNPpaJgzZewLfpQND6A7ks,38945
@@ -350,7 +350,7 @@ ccxt/pro/coincheck.py,sha256=MKAPHJeVifQaCKPla-7RY86TIWyDGe4nvjRhNmi617w,7789
350
350
  ccxt/pro/coinex.py,sha256=RXHn0chAcZs1tdxrXy41tQkT35u4UQ1QDxXlNU2V7_M,44619
351
351
  ccxt/pro/coinone.py,sha256=d0s11hTNFVFZiBD3jWWu6iRseyVsHR6dO-njqqZ2WyU,15652
352
352
  ccxt/pro/cryptocom.py,sha256=y01rRcbIC18jVYx4ipVTE4VRN5jfg9bP3gxpT4FksDE,42635
353
- ccxt/pro/currencycom.py,sha256=8v23ne39P3YUB16IKuunYWgsJSHYvFDTejAiCg-l5pI,22339
353
+ ccxt/pro/currencycom.py,sha256=gfM-zI8dzom0FNH7S7Co13TAnhjPGw1U6HBblXJBYaY,22369
354
354
  ccxt/pro/deribit.py,sha256=WvzzKQiD_1a6vfdInoHHaO6FSRkUmoVnahFJ15GzBnE,34332
355
355
  ccxt/pro/exmo.py,sha256=Iy3blupA3SQccdHgfiCc3ijjCsnKFzc3IKmjvjiPewA,24508
356
356
  ccxt/pro/gate.py,sha256=0U_ARDm539KpF_Iu7WbGCGyW2sIzKRHUVEe06FWdsxo,52490
@@ -363,7 +363,7 @@ ccxt/pro/huobi.py,sha256=rKZVgYqEr-MmZzTqAk4FoJt8qWFjCi_FY0ci_mWZrL0,385
363
363
  ccxt/pro/huobijp.py,sha256=fcC66ECLwrR9LN_AYZZltoE_w9EltT5DcXimPOHKJk0,23174
364
364
  ccxt/pro/idex.py,sha256=MJWG56eMN8rAE4Tmz-WxXDDO2KacfY7eFSoCwL15DnQ,28282
365
365
  ccxt/pro/independentreserve.py,sha256=pOvjDejItVi9CKFm8ECTzK_xd4CbT7W1BjT20L9WxvA,11064
366
- ccxt/pro/kraken.py,sha256=WIA9rYkRZ_mhnKkeFFpFbT_NgVrLVLDHjDibFEcaDVw,56274
366
+ ccxt/pro/kraken.py,sha256=Qa7FXWBwze7r_JerVL0Hq3UkSeUld_E8UK3G4JlpGT4,56274
367
367
  ccxt/pro/krakenfutures.py,sha256=_ge9SygV5rl0Glcs2J7ZNzsKOmT8uiz8WGKYZoDqCiA,60071
368
368
  ccxt/pro/kucoin.py,sha256=3nMRk9zE8pnw6wXd7ILyA3HoetkrzRmE34WUCr8_3Bk,46416
369
369
  ccxt/pro/kucoinfutures.py,sha256=uBtJh6CuJ6mnsrgs9cUMxFnZv0XXW7hr91KLZyYSV_M,42668
@@ -423,16 +423,16 @@ ccxt/test/base/test_number.py,sha256=vBis6fh9mJ5KnzGsUkcoh_cJxU1LR0x7CG0NMp6SejY
423
423
  ccxt/test/base/test_ohlcv.py,sha256=TgKLSTdahsqx4sLEEtlEhEoyflyZQNpPqgySJnPfJ_o,1897
424
424
  ccxt/test/base/test_open_interest.py,sha256=u689028CAIbR-MmgN8SfGShHmculqWgDouI4qsB-waQ,1547
425
425
  ccxt/test/base/test_order.py,sha256=WvW1DtUvdX7Msv7tjdLlpVt2KoqoMDJXtpY2JnHEzy8,3964
426
- ccxt/test/base/test_order_book.py,sha256=gRHTG2XWzeaLJeZPsZGfenJj7SF0_jxrt7218uAJ2Ug,3504
426
+ ccxt/test/base/test_order_book.py,sha256=bQmcI1GHThrFkFW4MBcxYS9C_-40Y4Ield2RkfE8X4g,3515
427
427
  ccxt/test/base/test_position.py,sha256=MUH0Pr_-uCE5JFQTZYqdSXJe-tKd1sbkK312MON7g-A,3884
428
428
  ccxt/test/base/test_shared_methods.py,sha256=yDLQ7-s_2S5iT5V8NwzWwXxWWcpe-l9_bQmVaHM0h9g,18889
429
429
  ccxt/test/base/test_status.py,sha256=1g4lXBVOazV96hucSKJ0R6hH2PVA593QyDW9qk8pEvs,781
430
430
  ccxt/test/base/test_throttle.py,sha256=GvLQWtA4fAk_yJrxeisek-wAz7eJdHj0DDKR4_V1beg,3123
431
- ccxt/test/base/test_ticker.py,sha256=AMlFK-U3W64B0QQ_zzWZC_8OflDh0PFJrs4l3iv9lFk,5558
431
+ ccxt/test/base/test_ticker.py,sha256=cmYHv5ZtbAq27y4LGDcGzaro-qkSNJWme5rLHOEdA4U,5599
432
432
  ccxt/test/base/test_trade.py,sha256=lhT9nxiSr0AEvKbdGXL9qJOkz1EiKEmA0TDfdCbubg8,2295
433
433
  ccxt/test/base/test_trading_fee.py,sha256=2aDCNJtqBkTC_AieO0l1HYGq5hz5qkWlkWb9Nv_fcwk,1066
434
434
  ccxt/test/base/test_transaction.py,sha256=BTbB4UHHXkrvYgwbrhh867nVRlevmIkIrz1W_odlQJI,1434
435
- ccxt-4.2.54.dist-info/METADATA,sha256=Db2rCT2dp46CR3IGZcRT-pmbg_ltizsa7zSaBSXqFJQ,106867
436
- ccxt-4.2.54.dist-info/WHEEL,sha256=P2T-6epvtXQ2cBOE_U1K4_noqlJFN3tj15djMgEu4NM,110
437
- ccxt-4.2.54.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
438
- ccxt-4.2.54.dist-info/RECORD,,
435
+ ccxt-4.2.56.dist-info/METADATA,sha256=HUBUTse2a0M3_VI5kTmdvlB5MFkaCTzSAUIjdenQjho,106867
436
+ ccxt-4.2.56.dist-info/WHEEL,sha256=P2T-6epvtXQ2cBOE_U1K4_noqlJFN3tj15djMgEu4NM,110
437
+ ccxt-4.2.56.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
438
+ ccxt-4.2.56.dist-info/RECORD,,
File without changes