ccxt 4.4.60__py2.py3-none-any.whl → 4.4.61__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.4.60'
25
+ __version__ = '4.4.61'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.4.60'
7
+ __version__ = '4.4.61'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.4.60'
5
+ __version__ = '4.4.61'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -675,23 +675,67 @@ class gate(Exchange, ImplicitAPI):
675
675
  },
676
676
  'createMarketBuyOrderRequiresPrice': True,
677
677
  'networks': {
678
- 'LINEA': 'LINEAETH',
679
- 'KON': 'KONET',
680
- 'AVAXC': 'AVAX_C',
678
+ 'BTC': 'BTC',
679
+ 'BRC20': 'BTCBRC', # for eg: ORDI, RATS, ...
680
+ 'ETH': 'ETH',
681
+ 'ERC20': 'ETH',
682
+ 'TRX': 'TRX',
683
+ 'TRC20': 'TRX',
684
+ 'HECO': 'HT',
685
+ 'HRC20': 'HT',
686
+ 'BSC': 'BSC',
681
687
  'BEP20': 'BSC',
688
+ 'SOL': 'SOL',
689
+ 'POLYGON': 'POL',
690
+ 'MATIC': 'POL',
691
+ 'OP': 'OPETH',
692
+ 'OPTIMISM': 'OPETH',
693
+ 'ADA': 'ADA', # CARDANO
694
+ 'AVAXC': 'AVAX_C',
695
+ 'NEAR': 'NEAR',
696
+ 'ARBONE': 'ARBEVM',
697
+ 'BASE': 'BASEEVM',
698
+ 'SUI': 'SUI',
699
+ 'CRONOS': 'CRO',
700
+ 'CRO': 'CRO',
701
+ 'APT': 'APT',
702
+ 'SCROLL': 'SCROLLETH',
703
+ 'TAIKO': 'TAIKOETH',
704
+ 'HYPE': 'HYPE',
705
+ 'ALGO': 'ALGO',
706
+ # KAVA: ['KAVA', 'KAVAEVM']
707
+ # SEI: ['SEI', 'SEIEVM']
708
+ 'LINEA': 'LINEAETH',
709
+ 'BLAST': 'BLASTETH',
710
+ 'XLM': 'XLM',
711
+ 'RSK': 'RBTC',
712
+ 'TON': 'TON',
713
+ 'MNT': 'MNT',
714
+ # 'RUNE': 'BTCRUNES', probably, cant verify atm
715
+ 'CELO': 'CELO',
716
+ 'HBAR': 'HBAR',
717
+ # 'FTM': SONIC REBRAND, todo
718
+ 'ZKSERA': 'ZKSERA',
719
+ 'KLAY': 'KLAY',
682
720
  'EOS': 'EOS',
683
- 'ERC20': 'ETH',
721
+ 'ACA': 'ACA',
722
+ # TLOS: ['TLOS', 'TLOSEVM']
723
+ # ASTR: ['ASTR', 'ASTREVM']
724
+ # CFX: ['CFX', 'CFXEVM']
725
+ 'XTZ': 'XTZ',
726
+ 'EGLD': 'EGLD',
727
+ 'GLMR': 'GLMR',
728
+ 'AURORA': 'AURORAEVM',
729
+ # others
730
+ 'KON': 'KONET',
684
731
  'GATECHAIN': 'GTEVM',
685
- 'HRC20': 'HT',
686
732
  'KUSAMA': 'KSMSM',
687
- 'NEAR': 'NEAR',
688
733
  'OKC': 'OKT',
689
- 'OPTIMISM': 'OPETH',
690
- 'POLKADOT': 'DOTSM',
691
- 'TRC20': 'TRX',
734
+ 'POLKADOT': 'DOTSM', # todo: DOT for main DOT
692
735
  'LUNA': 'LUNC',
693
- 'BASE': 'BASEEVM',
694
- 'BRC20': 'BTCBRC',
736
+ },
737
+ 'networksById': {
738
+ 'OPETH': 'OP',
695
739
  },
696
740
  'timeInForce': {
697
741
  'GTC': 'gtc',
@@ -3526,6 +3570,7 @@ class gate(Exchange, ImplicitAPI):
3526
3570
  #
3527
3571
  # public
3528
3572
  #
3573
+ # spot:
3529
3574
  # {
3530
3575
  # "id": "1334253759",
3531
3576
  # "create_time": "1626342738",
@@ -3536,6 +3581,18 @@ class gate(Exchange, ImplicitAPI):
3536
3581
  # "price": "32452.16"
3537
3582
  # }
3538
3583
  #
3584
+ # swap:
3585
+ #
3586
+ # {
3587
+ # "id": "442288327",
3588
+ # "contract": "BTC_USDT",
3589
+ # "create_time": "1739814676.707",
3590
+ # "create_time_ms": "1739814676.707",
3591
+ # "size": "-105",
3592
+ # "price": "95594.8"
3593
+ # }
3594
+ #
3595
+ #
3539
3596
  # public ws
3540
3597
  #
3541
3598
  # {
@@ -3612,8 +3669,14 @@ class gate(Exchange, ImplicitAPI):
3612
3669
  # }
3613
3670
  #
3614
3671
  id = self.safe_string_2(trade, 'id', 'trade_id')
3615
- timestamp = self.safe_timestamp_2(trade, 'time', 'create_time')
3616
- timestamp = self.safe_integer(trade, 'create_time_ms', timestamp)
3672
+ timestamp: Int = None
3673
+ msString = self.safe_string(trade, 'create_time_ms')
3674
+ if msString is not None:
3675
+ msString = Precise.string_mul(msString, '1000')
3676
+ msString = msString[0:13]
3677
+ timestamp = self.parse_to_int(msString)
3678
+ else:
3679
+ timestamp = self.safe_timestamp_2(trade, 'time', 'create_time')
3617
3680
  marketId = self.safe_string_2(trade, 'currency_pair', 'contract')
3618
3681
  marketType = 'contract' if ('contract' in trade) else 'spot'
3619
3682
  market = self.safe_market(marketId, market, '_', marketType)
@@ -1078,7 +1078,7 @@ class phemex(Exchange, ImplicitAPI):
1078
1078
  for i in range(0, len(products)):
1079
1079
  market = products[i]
1080
1080
  type = self.safe_string_lower(market, 'type')
1081
- if (type == 'perpetual') or (type == 'perpetualv2'):
1081
+ if (type == 'perpetual') or (type == 'perpetualv2') or (type == 'PerpetualPilot'):
1082
1082
  id = self.safe_string(market, 'symbol')
1083
1083
  riskLimitValues = self.safe_value(riskLimitsById, id, {})
1084
1084
  market = self.extend(market, riskLimitValues)
ccxt/base/exchange.py CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.4.60'
7
+ __version__ = '4.4.61'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
ccxt/gate.py CHANGED
@@ -674,23 +674,67 @@ class gate(Exchange, ImplicitAPI):
674
674
  },
675
675
  'createMarketBuyOrderRequiresPrice': True,
676
676
  'networks': {
677
- 'LINEA': 'LINEAETH',
678
- 'KON': 'KONET',
679
- 'AVAXC': 'AVAX_C',
677
+ 'BTC': 'BTC',
678
+ 'BRC20': 'BTCBRC', # for eg: ORDI, RATS, ...
679
+ 'ETH': 'ETH',
680
+ 'ERC20': 'ETH',
681
+ 'TRX': 'TRX',
682
+ 'TRC20': 'TRX',
683
+ 'HECO': 'HT',
684
+ 'HRC20': 'HT',
685
+ 'BSC': 'BSC',
680
686
  'BEP20': 'BSC',
687
+ 'SOL': 'SOL',
688
+ 'POLYGON': 'POL',
689
+ 'MATIC': 'POL',
690
+ 'OP': 'OPETH',
691
+ 'OPTIMISM': 'OPETH',
692
+ 'ADA': 'ADA', # CARDANO
693
+ 'AVAXC': 'AVAX_C',
694
+ 'NEAR': 'NEAR',
695
+ 'ARBONE': 'ARBEVM',
696
+ 'BASE': 'BASEEVM',
697
+ 'SUI': 'SUI',
698
+ 'CRONOS': 'CRO',
699
+ 'CRO': 'CRO',
700
+ 'APT': 'APT',
701
+ 'SCROLL': 'SCROLLETH',
702
+ 'TAIKO': 'TAIKOETH',
703
+ 'HYPE': 'HYPE',
704
+ 'ALGO': 'ALGO',
705
+ # KAVA: ['KAVA', 'KAVAEVM']
706
+ # SEI: ['SEI', 'SEIEVM']
707
+ 'LINEA': 'LINEAETH',
708
+ 'BLAST': 'BLASTETH',
709
+ 'XLM': 'XLM',
710
+ 'RSK': 'RBTC',
711
+ 'TON': 'TON',
712
+ 'MNT': 'MNT',
713
+ # 'RUNE': 'BTCRUNES', probably, cant verify atm
714
+ 'CELO': 'CELO',
715
+ 'HBAR': 'HBAR',
716
+ # 'FTM': SONIC REBRAND, todo
717
+ 'ZKSERA': 'ZKSERA',
718
+ 'KLAY': 'KLAY',
681
719
  'EOS': 'EOS',
682
- 'ERC20': 'ETH',
720
+ 'ACA': 'ACA',
721
+ # TLOS: ['TLOS', 'TLOSEVM']
722
+ # ASTR: ['ASTR', 'ASTREVM']
723
+ # CFX: ['CFX', 'CFXEVM']
724
+ 'XTZ': 'XTZ',
725
+ 'EGLD': 'EGLD',
726
+ 'GLMR': 'GLMR',
727
+ 'AURORA': 'AURORAEVM',
728
+ # others
729
+ 'KON': 'KONET',
683
730
  'GATECHAIN': 'GTEVM',
684
- 'HRC20': 'HT',
685
731
  'KUSAMA': 'KSMSM',
686
- 'NEAR': 'NEAR',
687
732
  'OKC': 'OKT',
688
- 'OPTIMISM': 'OPETH',
689
- 'POLKADOT': 'DOTSM',
690
- 'TRC20': 'TRX',
733
+ 'POLKADOT': 'DOTSM', # todo: DOT for main DOT
691
734
  'LUNA': 'LUNC',
692
- 'BASE': 'BASEEVM',
693
- 'BRC20': 'BTCBRC',
735
+ },
736
+ 'networksById': {
737
+ 'OPETH': 'OP',
694
738
  },
695
739
  'timeInForce': {
696
740
  'GTC': 'gtc',
@@ -3525,6 +3569,7 @@ class gate(Exchange, ImplicitAPI):
3525
3569
  #
3526
3570
  # public
3527
3571
  #
3572
+ # spot:
3528
3573
  # {
3529
3574
  # "id": "1334253759",
3530
3575
  # "create_time": "1626342738",
@@ -3535,6 +3580,18 @@ class gate(Exchange, ImplicitAPI):
3535
3580
  # "price": "32452.16"
3536
3581
  # }
3537
3582
  #
3583
+ # swap:
3584
+ #
3585
+ # {
3586
+ # "id": "442288327",
3587
+ # "contract": "BTC_USDT",
3588
+ # "create_time": "1739814676.707",
3589
+ # "create_time_ms": "1739814676.707",
3590
+ # "size": "-105",
3591
+ # "price": "95594.8"
3592
+ # }
3593
+ #
3594
+ #
3538
3595
  # public ws
3539
3596
  #
3540
3597
  # {
@@ -3611,8 +3668,14 @@ class gate(Exchange, ImplicitAPI):
3611
3668
  # }
3612
3669
  #
3613
3670
  id = self.safe_string_2(trade, 'id', 'trade_id')
3614
- timestamp = self.safe_timestamp_2(trade, 'time', 'create_time')
3615
- timestamp = self.safe_integer(trade, 'create_time_ms', timestamp)
3671
+ timestamp: Int = None
3672
+ msString = self.safe_string(trade, 'create_time_ms')
3673
+ if msString is not None:
3674
+ msString = Precise.string_mul(msString, '1000')
3675
+ msString = msString[0:13]
3676
+ timestamp = self.parse_to_int(msString)
3677
+ else:
3678
+ timestamp = self.safe_timestamp_2(trade, 'time', 'create_time')
3616
3679
  marketId = self.safe_string_2(trade, 'currency_pair', 'contract')
3617
3680
  marketType = 'contract' if ('contract' in trade) else 'spot'
3618
3681
  market = self.safe_market(marketId, market, '_', marketType)
ccxt/phemex.py CHANGED
@@ -1078,7 +1078,7 @@ class phemex(Exchange, ImplicitAPI):
1078
1078
  for i in range(0, len(products)):
1079
1079
  market = products[i]
1080
1080
  type = self.safe_string_lower(market, 'type')
1081
- if (type == 'perpetual') or (type == 'perpetualv2'):
1081
+ if (type == 'perpetual') or (type == 'perpetualv2') or (type == 'PerpetualPilot'):
1082
1082
  id = self.safe_string(market, 'symbol')
1083
1083
  riskLimitValues = self.safe_value(riskLimitsById, id, {})
1084
1084
  market = self.extend(market, riskLimitValues)
ccxt/pro/__init__.py CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.4.60'
7
+ __version__ = '4.4.61'
8
8
 
9
9
  # ----------------------------------------------------------------------------
10
10
 
ccxt/pro/gate.py CHANGED
@@ -1493,6 +1493,27 @@ class gate(ccxt.async_support.gate):
1493
1493
  # data: {errs: {label: 'AUTHENTICATION_FAILED', message: 'Not login'}},
1494
1494
  # request_id: '10406147'
1495
1495
  # }
1496
+ # {
1497
+ # "time": 1739853211,
1498
+ # "time_ms": 1739853211201,
1499
+ # "id": 1,
1500
+ # "conn_id": "62f2c1dabbe186d7",
1501
+ # "trace_id": "cdb02a8c0b61086b2fe6f8fad2f98c54",
1502
+ # "channel": "spot.trades",
1503
+ # "event": "subscribe",
1504
+ # "payload": [
1505
+ # "LUNARLENS_USDT",
1506
+ # "ETH_USDT"
1507
+ # ],
1508
+ # "error": {
1509
+ # "code": 2,
1510
+ # "message": "unknown currency pair: LUNARLENS_USDT"
1511
+ # },
1512
+ # "result": {
1513
+ # "status": "fail"
1514
+ # },
1515
+ # "requestId": "cdb02a8c0b61086b2fe6f8fad2f98c54"
1516
+ # }
1496
1517
  #
1497
1518
  data = self.safe_dict(message, 'data')
1498
1519
  errs = self.safe_dict(data, 'errs')
@@ -1511,6 +1532,17 @@ class gate(ccxt.async_support.gate):
1511
1532
  client.reject(e, messageHash)
1512
1533
  if (messageHash is not None) and (messageHash in client.subscriptions):
1513
1534
  del client.subscriptions[messageHash]
1535
+ # remove subscriptions for watchSymbols
1536
+ channel = self.safe_string(message, 'channel')
1537
+ if (channel is not None) and (channel.find('.') > 0):
1538
+ parsedChannel = channel.split('.')
1539
+ payload = self.safe_list(message, 'payload', [])
1540
+ for i in range(0, len(payload)):
1541
+ marketType = parsedChannel[0] == 'swap' if 'futures' else parsedChannel[0]
1542
+ symbol = self.safe_symbol(payload[i], None, '_', marketType)
1543
+ messageHashSymbol = parsedChannel[1] + ':' + symbol
1544
+ if (messageHashSymbol is not None) and (messageHashSymbol in client.subscriptions):
1545
+ del client.subscriptions[messageHashSymbol]
1514
1546
  if (id is not None) and (id in client.subscriptions):
1515
1547
  del client.subscriptions[id]
1516
1548
  return True
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.4.60
3
+ Version: 4.4.61
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
@@ -277,13 +277,13 @@ console.log(version, Object.keys(exchanges));
277
277
 
278
278
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
279
279
 
280
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.60/dist/ccxt.browser.min.js
281
- * unpkg: https://unpkg.com/ccxt@4.4.60/dist/ccxt.browser.min.js
280
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.61/dist/ccxt.browser.min.js
281
+ * unpkg: https://unpkg.com/ccxt@4.4.61/dist/ccxt.browser.min.js
282
282
 
283
283
  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.
284
284
 
285
285
  ```HTML
286
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.60/dist/ccxt.browser.min.js"></script>
286
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.61/dist/ccxt.browser.min.js"></script>
287
287
  ```
288
288
 
289
289
  Creates a global `ccxt` object:
@@ -1,4 +1,4 @@
1
- ccxt/__init__.py,sha256=Txply3epYWSMPmDKLgL4n6DF0TM-JZBhlt0WrhjDYAM,16681
1
+ ccxt/__init__.py,sha256=78NKWgJ5NvwWlLer25VQ3Z3SI1FPF7HSXGROY3eTw3U,16681
2
2
  ccxt/ace.py,sha256=l_4-pNkkJBINgPsBtM4b9Ff6t8Tp59tKCXstLesMzvc,44752
3
3
  ccxt/alpaca.py,sha256=t8ahjPZQEENMElUyPzH_1-I0i5VGsJpoUknpKl-IkKM,78428
4
4
  ccxt/ascendex.py,sha256=CoV4qMazVCUMn1J0wlE5sJIak_hfmVq0VOeHB6VOQBs,155992
@@ -58,7 +58,7 @@ ccxt/digifinex.py,sha256=8ctj-Nrgt2gM9UWB8DpGIYqtgaLA7eVEbsMaBhCUSpc,177404
58
58
  ccxt/ellipx.py,sha256=oBPWB0503KrU-FmD3w27IZCvEqGoqUu2c8QZ33dGl9E,78966
59
59
  ccxt/exmo.py,sha256=unemEt52-1fmPvdp51TFXX0ctNaNwAj6LJVpWTXFx-I,120604
60
60
  ccxt/fmfwio.py,sha256=a1VjvGxdm6bVGDyC0UhyB-0QgUmxsWUWs0ZAAK2RI9E,1275
61
- ccxt/gate.py,sha256=KDfB0eq0iEtRoeRH-OqgFIk4uE_w2bc0th98VFLgr7Q,349640
61
+ ccxt/gate.py,sha256=PZOAbYGMaPnBSfXbYRiWb7QtdkyD4WhBNquOrTeFAoo,351924
62
62
  ccxt/gateio.py,sha256=7KbnH56kBK0tb_CN-wT10jaF5DfTrnHarhu27eknsLI,484
63
63
  ccxt/gemini.py,sha256=S-MWX71z5eEw4VrPau0y9Aq2E7tiHbLWEIz1lSUMEjU,83581
64
64
  ccxt/hashkey.py,sha256=2K9duxYxXvLYRBeqAeUDe4UIdBAeJ5kp1Xqj9vWzGNM,191739
@@ -92,7 +92,7 @@ ccxt/oxfun.py,sha256=XfF-kErOOwLBHVpqxpXngFj8EZmXqAGtpmGE_2Q5Ssg,127504
92
92
  ccxt/p2b.py,sha256=2mkYFm3h_lFtgEu13F6sDgbj3UxYyTG-3R_l-w7NZiM,56725
93
93
  ccxt/paradex.py,sha256=J1MISnRxvi8fzylL-n4IjGo7f8jEn_sMvy-N7ep_kqc,88918
94
94
  ccxt/paymium.py,sha256=l6gBKUBEvfxgLzVZaaLq3-v_wD-I9S64Mdi_mf87_v4,26201
95
- ccxt/phemex.py,sha256=1Z1aQXL0po92rDUhoYYuPEXP3XlzMr98TrZP-ZuA1To,232064
95
+ ccxt/phemex.py,sha256=Z8wuG9XL2ouwfWxMKISbMseitZSvic3EaaTe-UV6uLE,232094
96
96
  ccxt/poloniex.py,sha256=NgL7Qq8JxdTX4_EokfYrArgYCzQduoixnF0cTqQBAzQ,105238
97
97
  ccxt/poloniexfutures.py,sha256=tiPISr3IPJkViGW3R19YqMYiK9I0_VR7cVtctJEBmvo,83197
98
98
  ccxt/probit.py,sha256=dHWDuCGNnAUja1RYoXo1JRlEgFuWiQSmGUX6yrB_dmU,79412
@@ -220,7 +220,7 @@ ccxt/abstract/xt.py,sha256=p0fG3O8kIeMYIvMlqxrhpXeo7lraee6lIlu9yqu6f10,27340
220
220
  ccxt/abstract/yobit.py,sha256=8ycfCO8ORFly9hc0Aa47sZyX4_ZKPXS9h9yJzI-uQ7Q,1339
221
221
  ccxt/abstract/zaif.py,sha256=m15WHdl3gYy0GOXNZ8NEH8eE7sVh8c0T_ITNuU8vXeU,3935
222
222
  ccxt/abstract/zonda.py,sha256=X-hCW0SdX3YKZWixDyW-O2211M58Rno8kKJ6quY7rw4,7183
223
- ccxt/async_support/__init__.py,sha256=6oERvbIw0_-RKrWlet28njJvqz09NRo6SA2_HgMIn5I,16504
223
+ ccxt/async_support/__init__.py,sha256=R-JJqPpM6ys3AtPhs1Djjc9PxGHLm6K-Ke5dP53acus,16504
224
224
  ccxt/async_support/ace.py,sha256=BCcZ8TexOxR93v8dEICqhRlDvvzJPiLz999kp58GzwM,44976
225
225
  ccxt/async_support/alpaca.py,sha256=VHP3C7c3jIefKBSleXbTWjnY6RQnBGRNYe5HgrG0PVg,78874
226
226
  ccxt/async_support/ascendex.py,sha256=7t8avcGu6O-buamW81K7JTV5wctKC0qypg0yYMvKs7Y,156805
@@ -280,7 +280,7 @@ ccxt/async_support/digifinex.py,sha256=dHYmMTTwAslYtwcsYarCwBV0e1omt5EoJjEzgEVP3
280
280
  ccxt/async_support/ellipx.py,sha256=rNGNBp2Wko2yG-Fx0p9TM862Md6MOmloxbugb4ngh9U,79274
281
281
  ccxt/async_support/exmo.py,sha256=G8SrYyKO0yIjLXjM9MYdBN6n0AU2a8aHN11RbXf-66I,121290
282
282
  ccxt/async_support/fmfwio.py,sha256=daZ_yHYGThtJQV2LIh0wSS1uotTY-CH8e8pdNLr_Otw,1289
283
- ccxt/async_support/gate.py,sha256=JxHDUF-ET-DF1enCXV4fYkbGYnIn_AjPLIbhrtVe-qs,351581
283
+ ccxt/async_support/gate.py,sha256=5yu84Vafzh4ug-ftWaQMs1Iy_a1eUIRsLsItOb8i6Ms,353865
284
284
  ccxt/async_support/gateio.py,sha256=Sy9taiR0_0k4oh5GHjTjpwuCzskKiCCEQljuz7OxDVs,498
285
285
  ccxt/async_support/gemini.py,sha256=5vYfQn8nk2geMmdGHU-_PvCO5PKYeMq3hoVLCdsrUjs,84105
286
286
  ccxt/async_support/hashkey.py,sha256=ouHE_QEZI4AMEcRNP1PMECQZ4PYN_Pnh7hOi0b6Ja0U,192581
@@ -314,7 +314,7 @@ ccxt/async_support/oxfun.py,sha256=Hd4A3Ym0UCoxINhjMuD_d19MP8K1Kkk7K6plK114e5k,1
314
314
  ccxt/async_support/p2b.py,sha256=A_RPhOvbOMozI8Ypvw_Qzon5c6609l-fle3hYMT4j4w,56967
315
315
  ccxt/async_support/paradex.py,sha256=cNoBbTa3qFCQg5Avg0NpQJ1b3Lz-VQBMBhAfO9DjUP0,89526
316
316
  ccxt/async_support/paymium.py,sha256=RvV30CGIfKRRsttmdjRgbpNX0l92M8YzPkctlFqGs-M,26389
317
- ccxt/async_support/phemex.py,sha256=g_544U2Y8vEW1TLVMYeibhx3GIdZafGGwmM6HeVMTdI,232900
317
+ ccxt/async_support/phemex.py,sha256=B0fhx31639TUMbIRUqVLQIyYTEyKyHpwK7wkEOK2WyQ,232930
318
318
  ccxt/async_support/poloniex.py,sha256=AFBTA2jZtJs78WWOUFPAyo_K6DUlbxwF2pyhLzfGkzA,105786
319
319
  ccxt/async_support/poloniexfutures.py,sha256=5VlGcB2YgXLQ8ddHw82NIw1gGdHFm28q4zxwvlpCMHY,83595
320
320
  ccxt/async_support/probit.py,sha256=nhYNevIgOXHg4moxHfVCqcoVXgZ9ddKloqtaFgqIKP0,79804
@@ -332,7 +332,7 @@ ccxt/async_support/yobit.py,sha256=rv_uIgrPq53wmRQh80anwi1lv6ZUXl4QIDSvNSWA-Ro,5
332
332
  ccxt/async_support/zaif.py,sha256=jZZv3ZjGQgkPNRfY5B5p5DNMvanHWTTS8m6BLBWm9tA,31357
333
333
  ccxt/async_support/zonda.py,sha256=2QL_B9CmBu4SU4K-Y8segpj57vzAd4aUT2H2cD3b07g,85320
334
334
  ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
335
- ccxt/async_support/base/exchange.py,sha256=KQvQnhK8OLRAmGG_Z560cvhd21mrke55ufbdBhmZeBU,116911
335
+ ccxt/async_support/base/exchange.py,sha256=A5bVnGICdjybaVbosWORrtZYZcQDi89zlVJjWxWFP8g,116911
336
336
  ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
337
337
  ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
338
338
  ccxt/async_support/base/ws/aiohttp_client.py,sha256=Y5HxAVXyyYduj6b6SbbUZETlq3GrVMzrkW1r-TMgpb8,6329
@@ -346,10 +346,10 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=GhnGUt78pJ-AYL_Dq9produGjmB
346
346
  ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
347
347
  ccxt/base/decimal_to_precision.py,sha256=fgWRBzRTtsf3r2INyS4f7WHlzgjB5YM1ekiwqD21aac,6634
348
348
  ccxt/base/errors.py,sha256=MvCrL_sAM3de616T6RE0PSxiF2xV6Qqz5b1y1ghidbk,4888
349
- ccxt/base/exchange.py,sha256=cft8ezsceczVTY6TynPhMl2AP_BsEQJus9y9L2tgxKE,318992
349
+ ccxt/base/exchange.py,sha256=ZrQSZMRss7KXKyfu48tg-ZEV_9C13vUlWEMMYhcZ7YY,318992
350
350
  ccxt/base/precise.py,sha256=koce64Yrp6vFbGijJtUt-QQ6XhJgeGTCksZ871FPp_A,8886
351
351
  ccxt/base/types.py,sha256=asavKC4Fpuz9MGv1tJBld0j8CeojiP7nBj04Abusst4,10766
352
- ccxt/pro/__init__.py,sha256=7MNWko7piP273gCsAhOfhErrN02sOwSbGpuzPXZnzfI,8023
352
+ ccxt/pro/__init__.py,sha256=gPQb_INyQBtkasb7Xe46RBRncI623HiUz4fxxjKDtoY,8023
353
353
  ccxt/pro/alpaca.py,sha256=_WEorh5thYhvhn7R8hBvHW2m1P2foIbp8URjIt_9vcg,27623
354
354
  ccxt/pro/ascendex.py,sha256=P6a81iK_T6uyEK6JHcNQbjJwLvurrUeQVoQqvp2_IU8,37512
355
355
  ccxt/pro/bequant.py,sha256=reG2yXBhxn_TuOIg4J2BiLxl8Lw5Lag3IBMGBkiQCd0,1591
@@ -387,7 +387,7 @@ ccxt/pro/currencycom.py,sha256=n-Vdw6HARu-gGYqaH7E5CHhg9qoeTCWswLXqHO1eAsA,22471
387
387
  ccxt/pro/defx.py,sha256=w3XqgxsTxKB_wbrwrVfeT7ArCqtdi3U5koeNU9IY5Xw,38821
388
388
  ccxt/pro/deribit.py,sha256=_8m2kiNoJA5qKzNJPq4WGlJbA1i1IUCtQYTClW-onKw,46034
389
389
  ccxt/pro/exmo.py,sha256=UxDAFLvZ8lGABQK5N1Qpqr483tjWQX74_9OVzelkBN8,33960
390
- ccxt/pro/gate.py,sha256=9p3HglyEG_iJEU0owua-RqlzUqdlkVdqE_vj5GOHeWk,86385
390
+ ccxt/pro/gate.py,sha256=ojqbhveOcEsLetGvI0j7LV4UJhVPVFYSRV3OBWHHjo8,87968
391
391
  ccxt/pro/gateio.py,sha256=1HCX6SCX3G_Fyw_Ss-5Jy5Pqwk8WiorRfBQdVeCp6o0,430
392
392
  ccxt/pro/gemini.py,sha256=vpQ0EKGTHfPil6GTaClrtRMjM6rdgIIOrOVQkeOfK60,36883
393
393
  ccxt/pro/hashkey.py,sha256=eDQ-Xp683TFHlP6E-a8_yIy1Xda82cB36Eop7yXdAGQ,34212
@@ -656,8 +656,8 @@ ccxt/test/tests_async.py,sha256=50VEDk5smqAlKOVzBJiAAXvwaVnJ3DjAqlx0oQGM694,9004
656
656
  ccxt/test/tests_helpers.py,sha256=egM69A2ZFYeVF5hwC1Qt-c5DOeClY5bv4jowmceeFV8,9736
657
657
  ccxt/test/tests_init.py,sha256=YitIlzsc-FQvtc6lZVPKlGcYYTJ2ezSDd2GCOxdoBnY,1164
658
658
  ccxt/test/tests_sync.py,sha256=7e4M2yPC35AltBIMXnqnBss7T8VQttP51GTveG6E7Mg,89070
659
- ccxt-4.4.60.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
660
- ccxt-4.4.60.dist-info/METADATA,sha256=aVywAj-UYWqq2goJNMmu--fqRNsYuZbPGHsPRrvHVgY,130334
661
- ccxt-4.4.60.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
662
- ccxt-4.4.60.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
663
- ccxt-4.4.60.dist-info/RECORD,,
659
+ ccxt-4.4.61.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
660
+ ccxt-4.4.61.dist-info/METADATA,sha256=7XyG7tpFUUvPYrFfPT1ZVZk8dQz6g3oGsYdUAhgp38c,130334
661
+ ccxt-4.4.61.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
662
+ ccxt-4.4.61.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
663
+ ccxt-4.4.61.dist-info/RECORD,,
File without changes