ccxt 4.3.15__py2.py3-none-any.whl → 4.3.16__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.
Files changed (61) hide show
  1. ccxt/__init__.py +1 -1
  2. ccxt/alpaca.py +1 -0
  3. ccxt/ascendex.py +1 -0
  4. ccxt/async_support/__init__.py +1 -1
  5. ccxt/async_support/alpaca.py +1 -0
  6. ccxt/async_support/ascendex.py +1 -0
  7. ccxt/async_support/base/exchange.py +18 -13
  8. ccxt/async_support/binance.py +1 -0
  9. ccxt/async_support/bingx.py +1 -0
  10. ccxt/async_support/bitmex.py +1 -0
  11. ccxt/async_support/bybit.py +1 -0
  12. ccxt/async_support/coinbaseinternational.py +1 -0
  13. ccxt/async_support/coinmetro.py +1 -0
  14. ccxt/async_support/cryptocom.py +1 -0
  15. ccxt/async_support/currencycom.py +1 -0
  16. ccxt/async_support/deribit.py +1 -0
  17. ccxt/async_support/gate.py +1 -0
  18. ccxt/async_support/gemini.py +1 -0
  19. ccxt/async_support/hitbtc.py +1 -0
  20. ccxt/async_support/hollaex.py +1 -0
  21. ccxt/async_support/hyperliquid.py +4 -0
  22. ccxt/async_support/idex.py +1 -0
  23. ccxt/async_support/krakenfutures.py +1 -0
  24. ccxt/async_support/ndax.py +1 -0
  25. ccxt/async_support/okx.py +1 -0
  26. ccxt/async_support/phemex.py +1 -0
  27. ccxt/async_support/poloniex.py +1 -0
  28. ccxt/async_support/probit.py +1 -0
  29. ccxt/async_support/wavesexchange.py +1 -0
  30. ccxt/async_support/woo.py +1 -0
  31. ccxt/async_support/zaif.py +1 -1
  32. ccxt/base/exchange.py +18 -13
  33. ccxt/binance.py +1 -0
  34. ccxt/bingx.py +1 -0
  35. ccxt/bitmex.py +1 -0
  36. ccxt/bybit.py +1 -0
  37. ccxt/coinbaseinternational.py +1 -0
  38. ccxt/coinmetro.py +1 -0
  39. ccxt/cryptocom.py +1 -0
  40. ccxt/currencycom.py +1 -0
  41. ccxt/deribit.py +1 -0
  42. ccxt/gate.py +1 -0
  43. ccxt/gemini.py +1 -0
  44. ccxt/hitbtc.py +1 -0
  45. ccxt/hollaex.py +1 -0
  46. ccxt/hyperliquid.py +4 -0
  47. ccxt/idex.py +1 -0
  48. ccxt/krakenfutures.py +1 -0
  49. ccxt/ndax.py +1 -0
  50. ccxt/okx.py +1 -0
  51. ccxt/phemex.py +1 -0
  52. ccxt/poloniex.py +1 -0
  53. ccxt/pro/__init__.py +1 -1
  54. ccxt/probit.py +1 -0
  55. ccxt/wavesexchange.py +1 -0
  56. ccxt/woo.py +1 -0
  57. ccxt/zaif.py +1 -1
  58. {ccxt-4.3.15.dist-info → ccxt-4.3.16.dist-info}/METADATA +4 -4
  59. {ccxt-4.3.15.dist-info → ccxt-4.3.16.dist-info}/RECORD +61 -61
  60. {ccxt-4.3.15.dist-info → ccxt-4.3.16.dist-info}/WHEEL +0 -0
  61. {ccxt-4.3.15.dist-info → ccxt-4.3.16.dist-info}/top_level.txt +0 -0
ccxt/__init__.py CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.3.15'
25
+ __version__ = '4.3.16'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
ccxt/alpaca.py CHANGED
@@ -98,6 +98,7 @@ class alpaca(Exchange, ImplicitAPI):
98
98
  'fetchTransactions': False,
99
99
  'fetchTransfers': False,
100
100
  'fetchWithdrawals': False,
101
+ 'sandbox': True,
101
102
  'setLeverage': False,
102
103
  'setMarginMode': False,
103
104
  'transfer': False,
ccxt/ascendex.py CHANGED
@@ -102,6 +102,7 @@ class ascendex(Exchange, ImplicitAPI):
102
102
  'fetchWithdrawal': False,
103
103
  'fetchWithdrawals': True,
104
104
  'reduceMargin': True,
105
+ 'sandbox': True,
105
106
  'setLeverage': True,
106
107
  'setMarginMode': True,
107
108
  'setPositionMode': False,
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.15'
7
+ __version__ = '4.3.16'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -98,6 +98,7 @@ class alpaca(Exchange, ImplicitAPI):
98
98
  'fetchTransactions': False,
99
99
  'fetchTransfers': False,
100
100
  'fetchWithdrawals': False,
101
+ 'sandbox': True,
101
102
  'setLeverage': False,
102
103
  'setMarginMode': False,
103
104
  'transfer': False,
@@ -102,6 +102,7 @@ class ascendex(Exchange, ImplicitAPI):
102
102
  'fetchWithdrawal': False,
103
103
  'fetchWithdrawals': True,
104
104
  'reduceMargin': True,
105
+ 'sandbox': True,
105
106
  'setLeverage': True,
106
107
  'setMarginMode': True,
107
108
  'setPositionMode': False,
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.3.15'
5
+ __version__ = '4.3.16'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -1775,18 +1775,19 @@ class Exchange(BaseExchange):
1775
1775
  maxRetries = None
1776
1776
  maxRetries, params = self.handle_option_and_params(params, method, 'maxRetries', 3)
1777
1777
  errors = 0
1778
- try:
1779
- if timeframe and method != 'fetchFundingRateHistory':
1780
- return await getattr(self, method)(symbol, timeframe, since, limit, params)
1781
- else:
1782
- return await getattr(self, method)(symbol, since, limit, params)
1783
- except Exception as e:
1784
- if isinstance(e, RateLimitExceeded):
1785
- raise e # if we are rate limited, we should not retry and fail fast
1786
- errors += 1
1787
- if errors > maxRetries:
1788
- raise e
1789
- return None
1778
+ while(errors <= maxRetries):
1779
+ try:
1780
+ if timeframe and method != 'fetchFundingRateHistory':
1781
+ return await getattr(self, method)(symbol, timeframe, since, limit, params)
1782
+ else:
1783
+ return await getattr(self, method)(symbol, since, limit, params)
1784
+ except Exception as e:
1785
+ if isinstance(e, RateLimitExceeded):
1786
+ raise e # if we are rate limited, we should not retry and fail fast
1787
+ errors += 1
1788
+ if errors > maxRetries:
1789
+ raise e
1790
+ return []
1790
1791
 
1791
1792
  async def fetch_paginated_call_deterministic(self, method: str, symbol: Str = None, since: Int = None, limit: Int = None, timeframe: Str = None, params={}, maxEntriesPerRequest=None):
1792
1793
  maxCalls = None
@@ -1799,6 +1800,8 @@ class Exchange(BaseExchange):
1799
1800
  currentSince = current - (maxCalls * step) - 1
1800
1801
  if since is not None:
1801
1802
  currentSince = max(currentSince, since)
1803
+ else:
1804
+ currentSince = max(currentSince, 1241440531000) # avoid timestamps older than 2009
1802
1805
  until = self.safe_integer_2(params, 'until', 'till') # do not omit it here
1803
1806
  if until is not None:
1804
1807
  requiredCalls = int(math.ceil((until - since)) / step)
@@ -1807,6 +1810,8 @@ class Exchange(BaseExchange):
1807
1810
  for i in range(0, maxCalls):
1808
1811
  if (until is not None) and (currentSince >= until):
1809
1812
  break
1813
+ if currentSince >= current:
1814
+ break
1810
1815
  tasks.append(self.safe_deterministic_call(method, symbol, currentSince, maxEntriesPerRequest, timeframe, params))
1811
1816
  currentSince = self.sum(currentSince, step) - 1
1812
1817
  results = await asyncio.gather(*tasks)
@@ -178,6 +178,7 @@ class binance(Exchange, ImplicitAPI):
178
178
  'reduceMargin': True,
179
179
  'repayCrossMargin': True,
180
180
  'repayIsolatedMargin': True,
181
+ 'sandbox': True,
181
182
  'setLeverage': True,
182
183
  'setMargin': False,
183
184
  'setMarginMode': True,
@@ -98,6 +98,7 @@ class bingx(Exchange, ImplicitAPI):
98
98
  'fetchTransfers': True,
99
99
  'fetchWithdrawals': True,
100
100
  'reduceMargin': True,
101
+ 'sandbox': True,
101
102
  'setLeverage': True,
102
103
  'setMargin': True,
103
104
  'setMarginMode': True,
@@ -100,6 +100,7 @@ class bitmex(Exchange, ImplicitAPI):
100
100
  'fetchTransfer': False,
101
101
  'fetchTransfers': False,
102
102
  'reduceMargin': None,
103
+ 'sandbox': True,
103
104
  'setLeverage': True,
104
105
  'setMargin': None,
105
106
  'setMarginMode': True,
@@ -134,6 +134,7 @@ class bybit(Exchange, ImplicitAPI):
134
134
  'fetchVolatilityHistory': True,
135
135
  'fetchWithdrawals': True,
136
136
  'repayCrossMargin': True,
137
+ 'sandbox': True,
137
138
  'setLeverage': True,
138
139
  'setMarginMode': True,
139
140
  'setPositionMode': True,
@@ -113,6 +113,7 @@ class coinbaseinternational(Exchange, ImplicitAPI):
113
113
  'fetchTradingFees': False,
114
114
  'fetchWithdrawals': True,
115
115
  'reduceMargin': False,
116
+ 'sandbox': True,
116
117
  'setLeverage': False,
117
118
  'setMargin': True,
118
119
  'setMarginMode': False,
@@ -122,6 +122,7 @@ class coinmetro(Exchange, ImplicitAPI):
122
122
  'reduceMargin': False,
123
123
  'repayCrossMargin': False,
124
124
  'repayIsolatedMargin': False,
125
+ 'sandbox': True,
125
126
  'setLeverage': False,
126
127
  'setMargin': False,
127
128
  'setMarginMode': False,
@@ -117,6 +117,7 @@ class cryptocom(Exchange, ImplicitAPI):
117
117
  'reduceMargin': False,
118
118
  'repayCrossMargin': False,
119
119
  'repayIsolatedMargin': False,
120
+ 'sandbox': True,
120
121
  'setLeverage': False,
121
122
  'setMarginMode': False,
122
123
  'setPositionMode': False,
@@ -114,6 +114,7 @@ class currencycom(Exchange, ImplicitAPI):
114
114
  'fetchWithdrawal': None,
115
115
  'fetchWithdrawals': True,
116
116
  'reduceMargin': None,
117
+ 'sandbox': True,
117
118
  'setLeverage': None,
118
119
  'setMarginMode': None,
119
120
  'setPositionMode': None,
@@ -107,6 +107,7 @@ class deribit(Exchange, ImplicitAPI):
107
107
  'fetchVolatilityHistory': True,
108
108
  'fetchWithdrawal': False,
109
109
  'fetchWithdrawals': True,
110
+ 'sandbox': True,
110
111
  'transfer': True,
111
112
  'withdraw': True,
112
113
  },
@@ -176,6 +176,7 @@ class gate(Exchange, ImplicitAPI):
176
176
  'reduceMargin': True,
177
177
  'repayCrossMargin': True,
178
178
  'repayIsolatedMargin': True,
179
+ 'sandbox': True,
179
180
  'setLeverage': True,
180
181
  'setMarginMode': False,
181
182
  'setPositionMode': True,
@@ -96,6 +96,7 @@ class gemini(Exchange, ImplicitAPI):
96
96
  'fetchTransactions': 'emulated',
97
97
  'postOnly': True,
98
98
  'reduceMargin': False,
99
+ 'sandbox': True,
99
100
  'setLeverage': False,
100
101
  'setMarginMode': False,
101
102
  'setPositionMode': False,
@@ -108,6 +108,7 @@ class hitbtc(Exchange, ImplicitAPI):
108
108
  'fetchTransactions': 'emulated',
109
109
  'fetchWithdrawals': True,
110
110
  'reduceMargin': True,
111
+ 'sandbox': True,
111
112
  'setLeverage': True,
112
113
  'setMargin': False,
113
114
  'setMarginMode': False,
@@ -96,6 +96,7 @@ class hollaex(Exchange, ImplicitAPI):
96
96
  'fetchWithdrawal': True,
97
97
  'fetchWithdrawals': True,
98
98
  'reduceMargin': False,
99
+ 'sandbox': True,
99
100
  'setLeverage': False,
100
101
  'setMarginMode': False,
101
102
  'setPositionMode': False,
@@ -114,6 +114,7 @@ class hyperliquid(Exchange, ImplicitAPI):
114
114
  'reduceMargin': True,
115
115
  'repayCrossMargin': False,
116
116
  'repayIsolatedMargin': False,
117
+ 'sandbox': True,
117
118
  'setLeverage': True,
118
119
  'setMarginMode': True,
119
120
  'setPositionMode': False,
@@ -443,6 +444,9 @@ class hyperliquid(Exchange, ImplicitAPI):
443
444
  for i in range(0, len(meta)):
444
445
  market = self.safe_dict(meta, i, {})
445
446
  marketName = self.safe_string(market, 'name')
447
+ if marketName.find('/') < 0:
448
+ # there are some weird spot markets in testnet, eg @2
449
+ continue
446
450
  marketParts = marketName.split('/')
447
451
  baseName = self.safe_string(marketParts, 0)
448
452
  quoteId = self.safe_string(marketParts, 1)
@@ -106,6 +106,7 @@ class idex(Exchange, ImplicitAPI):
106
106
  'fetchWithdrawal': True,
107
107
  'fetchWithdrawals': True,
108
108
  'reduceMargin': False,
109
+ 'sandbox': True,
109
110
  'setLeverage': False,
110
111
  'setMarginMode': False,
111
112
  'setPositionMode': False,
@@ -86,6 +86,7 @@ class krakenfutures(Exchange, ImplicitAPI):
86
86
  'fetchPremiumIndexOHLCV': False,
87
87
  'fetchTickers': True,
88
88
  'fetchTrades': True,
89
+ 'sandbox': True,
89
90
  'setLeverage': True,
90
91
  'setMarginMode': False,
91
92
  'transfer': True,
@@ -91,6 +91,7 @@ class ndax(Exchange, ImplicitAPI):
91
91
  'fetchTradingFees': False,
92
92
  'fetchWithdrawals': True,
93
93
  'reduceMargin': False,
94
+ 'sandbox': True,
94
95
  'setLeverage': False,
95
96
  'setMarginMode': False,
96
97
  'setPositionMode': False,
ccxt/async_support/okx.py CHANGED
@@ -162,6 +162,7 @@ class okx(Exchange, ImplicitAPI):
162
162
  'fetchWithdrawalWhitelist': False,
163
163
  'reduceMargin': True,
164
164
  'repayCrossMargin': True,
165
+ 'sandbox': True,
165
166
  'setLeverage': True,
166
167
  'setMargin': False,
167
168
  'setMarginMode': True,
@@ -96,6 +96,7 @@ class phemex(Exchange, ImplicitAPI):
96
96
  'fetchTransfers': True,
97
97
  'fetchWithdrawals': True,
98
98
  'reduceMargin': False,
99
+ 'sandbox': True,
99
100
  'setLeverage': True,
100
101
  'setMargin': True,
101
102
  'setMarginMode': True,
@@ -84,6 +84,7 @@ class poloniex(Exchange, ImplicitAPI):
84
84
  'fetchTransfer': False,
85
85
  'fetchTransfers': False,
86
86
  'fetchWithdrawals': True,
87
+ 'sandbox': True,
87
88
  'transfer': True,
88
89
  'withdraw': True,
89
90
  },
@@ -101,6 +101,7 @@ class probit(Exchange, ImplicitAPI):
101
101
  'fetchWithdrawal': False,
102
102
  'fetchWithdrawals': True,
103
103
  'reduceMargin': False,
104
+ 'sandbox': True,
104
105
  'setLeverage': False,
105
106
  'setMarginMode': False,
106
107
  'setPositionMode': False,
@@ -93,6 +93,7 @@ class wavesexchange(Exchange, ImplicitAPI):
93
93
  'fetchTransfer': False,
94
94
  'fetchTransfers': False,
95
95
  'reduceMargin': False,
96
+ 'sandbox': True,
96
97
  'setLeverage': False,
97
98
  'setMarginMode': False,
98
99
  'setPositionMode': False,
ccxt/async_support/woo.py CHANGED
@@ -113,6 +113,7 @@ class woo(Exchange, ImplicitAPI):
113
113
  'fetchTransfers': True,
114
114
  'fetchWithdrawals': True,
115
115
  'reduceMargin': False,
116
+ 'sandbox': True,
116
117
  'setLeverage': True,
117
118
  'setMargin': False,
118
119
  'setPositionMode': True,
@@ -649,7 +649,7 @@ class zaif(Exchange, ImplicitAPI):
649
649
  }
650
650
 
651
651
  def custom_nonce(self):
652
- num = (self.milliseconds() / str(1000))
652
+ num = self.number_to_string(self.milliseconds() / 1000)
653
653
  nonce = float(num)
654
654
  return format(nonce, '.8f')
655
655
 
ccxt/base/exchange.py CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.15'
7
+ __version__ = '4.3.16'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -5468,18 +5468,19 @@ class Exchange(object):
5468
5468
  maxRetries = None
5469
5469
  maxRetries, params = self.handle_option_and_params(params, method, 'maxRetries', 3)
5470
5470
  errors = 0
5471
- try:
5472
- if timeframe and method != 'fetchFundingRateHistory':
5473
- return getattr(self, method)(symbol, timeframe, since, limit, params)
5474
- else:
5475
- return getattr(self, method)(symbol, since, limit, params)
5476
- except Exception as e:
5477
- if isinstance(e, RateLimitExceeded):
5478
- raise e # if we are rate limited, we should not retry and fail fast
5479
- errors += 1
5480
- if errors > maxRetries:
5481
- raise e
5482
- return None
5471
+ while(errors <= maxRetries):
5472
+ try:
5473
+ if timeframe and method != 'fetchFundingRateHistory':
5474
+ return getattr(self, method)(symbol, timeframe, since, limit, params)
5475
+ else:
5476
+ return getattr(self, method)(symbol, since, limit, params)
5477
+ except Exception as e:
5478
+ if isinstance(e, RateLimitExceeded):
5479
+ raise e # if we are rate limited, we should not retry and fail fast
5480
+ errors += 1
5481
+ if errors > maxRetries:
5482
+ raise e
5483
+ return []
5483
5484
 
5484
5485
  def fetch_paginated_call_deterministic(self, method: str, symbol: Str = None, since: Int = None, limit: Int = None, timeframe: Str = None, params={}, maxEntriesPerRequest=None):
5485
5486
  maxCalls = None
@@ -5492,6 +5493,8 @@ class Exchange(object):
5492
5493
  currentSince = current - (maxCalls * step) - 1
5493
5494
  if since is not None:
5494
5495
  currentSince = max(currentSince, since)
5496
+ else:
5497
+ currentSince = max(currentSince, 1241440531000) # avoid timestamps older than 2009
5495
5498
  until = self.safe_integer_2(params, 'until', 'till') # do not omit it here
5496
5499
  if until is not None:
5497
5500
  requiredCalls = int(math.ceil((until - since)) / step)
@@ -5500,6 +5503,8 @@ class Exchange(object):
5500
5503
  for i in range(0, maxCalls):
5501
5504
  if (until is not None) and (currentSince >= until):
5502
5505
  break
5506
+ if currentSince >= current:
5507
+ break
5503
5508
  tasks.append(self.safe_deterministic_call(method, symbol, currentSince, maxEntriesPerRequest, timeframe, params))
5504
5509
  currentSince = self.sum(currentSince, step) - 1
5505
5510
  results = tasks
ccxt/binance.py CHANGED
@@ -177,6 +177,7 @@ class binance(Exchange, ImplicitAPI):
177
177
  'reduceMargin': True,
178
178
  'repayCrossMargin': True,
179
179
  'repayIsolatedMargin': True,
180
+ 'sandbox': True,
180
181
  'setLeverage': True,
181
182
  'setMargin': False,
182
183
  'setMarginMode': True,
ccxt/bingx.py CHANGED
@@ -97,6 +97,7 @@ class bingx(Exchange, ImplicitAPI):
97
97
  'fetchTransfers': True,
98
98
  'fetchWithdrawals': True,
99
99
  'reduceMargin': True,
100
+ 'sandbox': True,
100
101
  'setLeverage': True,
101
102
  'setMargin': True,
102
103
  'setMarginMode': True,
ccxt/bitmex.py CHANGED
@@ -100,6 +100,7 @@ class bitmex(Exchange, ImplicitAPI):
100
100
  'fetchTransfer': False,
101
101
  'fetchTransfers': False,
102
102
  'reduceMargin': None,
103
+ 'sandbox': True,
103
104
  'setLeverage': True,
104
105
  'setMargin': None,
105
106
  'setMarginMode': True,
ccxt/bybit.py CHANGED
@@ -133,6 +133,7 @@ class bybit(Exchange, ImplicitAPI):
133
133
  'fetchVolatilityHistory': True,
134
134
  'fetchWithdrawals': True,
135
135
  'repayCrossMargin': True,
136
+ 'sandbox': True,
136
137
  'setLeverage': True,
137
138
  'setMarginMode': True,
138
139
  'setPositionMode': True,
@@ -113,6 +113,7 @@ class coinbaseinternational(Exchange, ImplicitAPI):
113
113
  'fetchTradingFees': False,
114
114
  'fetchWithdrawals': True,
115
115
  'reduceMargin': False,
116
+ 'sandbox': True,
116
117
  'setLeverage': False,
117
118
  'setMargin': True,
118
119
  'setMarginMode': False,
ccxt/coinmetro.py CHANGED
@@ -122,6 +122,7 @@ class coinmetro(Exchange, ImplicitAPI):
122
122
  'reduceMargin': False,
123
123
  'repayCrossMargin': False,
124
124
  'repayIsolatedMargin': False,
125
+ 'sandbox': True,
125
126
  'setLeverage': False,
126
127
  'setMargin': False,
127
128
  'setMarginMode': False,
ccxt/cryptocom.py CHANGED
@@ -117,6 +117,7 @@ class cryptocom(Exchange, ImplicitAPI):
117
117
  'reduceMargin': False,
118
118
  'repayCrossMargin': False,
119
119
  'repayIsolatedMargin': False,
120
+ 'sandbox': True,
120
121
  'setLeverage': False,
121
122
  'setMarginMode': False,
122
123
  'setPositionMode': False,
ccxt/currencycom.py CHANGED
@@ -114,6 +114,7 @@ class currencycom(Exchange, ImplicitAPI):
114
114
  'fetchWithdrawal': None,
115
115
  'fetchWithdrawals': True,
116
116
  'reduceMargin': None,
117
+ 'sandbox': True,
117
118
  'setLeverage': None,
118
119
  'setMarginMode': None,
119
120
  'setPositionMode': None,
ccxt/deribit.py CHANGED
@@ -107,6 +107,7 @@ class deribit(Exchange, ImplicitAPI):
107
107
  'fetchVolatilityHistory': True,
108
108
  'fetchWithdrawal': False,
109
109
  'fetchWithdrawals': True,
110
+ 'sandbox': True,
110
111
  'transfer': True,
111
112
  'withdraw': True,
112
113
  },
ccxt/gate.py CHANGED
@@ -175,6 +175,7 @@ class gate(Exchange, ImplicitAPI):
175
175
  'reduceMargin': True,
176
176
  'repayCrossMargin': True,
177
177
  'repayIsolatedMargin': True,
178
+ 'sandbox': True,
178
179
  'setLeverage': True,
179
180
  'setMarginMode': False,
180
181
  'setPositionMode': True,
ccxt/gemini.py CHANGED
@@ -95,6 +95,7 @@ class gemini(Exchange, ImplicitAPI):
95
95
  'fetchTransactions': 'emulated',
96
96
  'postOnly': True,
97
97
  'reduceMargin': False,
98
+ 'sandbox': True,
98
99
  'setLeverage': False,
99
100
  'setMarginMode': False,
100
101
  'setPositionMode': False,
ccxt/hitbtc.py CHANGED
@@ -108,6 +108,7 @@ class hitbtc(Exchange, ImplicitAPI):
108
108
  'fetchTransactions': 'emulated',
109
109
  'fetchWithdrawals': True,
110
110
  'reduceMargin': True,
111
+ 'sandbox': True,
111
112
  'setLeverage': True,
112
113
  'setMargin': False,
113
114
  'setMarginMode': False,
ccxt/hollaex.py CHANGED
@@ -96,6 +96,7 @@ class hollaex(Exchange, ImplicitAPI):
96
96
  'fetchWithdrawal': True,
97
97
  'fetchWithdrawals': True,
98
98
  'reduceMargin': False,
99
+ 'sandbox': True,
99
100
  'setLeverage': False,
100
101
  'setMarginMode': False,
101
102
  'setPositionMode': False,
ccxt/hyperliquid.py CHANGED
@@ -113,6 +113,7 @@ class hyperliquid(Exchange, ImplicitAPI):
113
113
  'reduceMargin': True,
114
114
  'repayCrossMargin': False,
115
115
  'repayIsolatedMargin': False,
116
+ 'sandbox': True,
116
117
  'setLeverage': True,
117
118
  'setMarginMode': True,
118
119
  'setPositionMode': False,
@@ -442,6 +443,9 @@ class hyperliquid(Exchange, ImplicitAPI):
442
443
  for i in range(0, len(meta)):
443
444
  market = self.safe_dict(meta, i, {})
444
445
  marketName = self.safe_string(market, 'name')
446
+ if marketName.find('/') < 0:
447
+ # there are some weird spot markets in testnet, eg @2
448
+ continue
445
449
  marketParts = marketName.split('/')
446
450
  baseName = self.safe_string(marketParts, 0)
447
451
  quoteId = self.safe_string(marketParts, 1)
ccxt/idex.py CHANGED
@@ -106,6 +106,7 @@ class idex(Exchange, ImplicitAPI):
106
106
  'fetchWithdrawal': True,
107
107
  'fetchWithdrawals': True,
108
108
  'reduceMargin': False,
109
+ 'sandbox': True,
109
110
  'setLeverage': False,
110
111
  'setMarginMode': False,
111
112
  'setPositionMode': False,
ccxt/krakenfutures.py CHANGED
@@ -86,6 +86,7 @@ class krakenfutures(Exchange, ImplicitAPI):
86
86
  'fetchPremiumIndexOHLCV': False,
87
87
  'fetchTickers': True,
88
88
  'fetchTrades': True,
89
+ 'sandbox': True,
89
90
  'setLeverage': True,
90
91
  'setMarginMode': False,
91
92
  'transfer': True,
ccxt/ndax.py CHANGED
@@ -91,6 +91,7 @@ class ndax(Exchange, ImplicitAPI):
91
91
  'fetchTradingFees': False,
92
92
  'fetchWithdrawals': True,
93
93
  'reduceMargin': False,
94
+ 'sandbox': True,
94
95
  'setLeverage': False,
95
96
  'setMarginMode': False,
96
97
  'setPositionMode': False,
ccxt/okx.py CHANGED
@@ -161,6 +161,7 @@ class okx(Exchange, ImplicitAPI):
161
161
  'fetchWithdrawalWhitelist': False,
162
162
  'reduceMargin': True,
163
163
  'repayCrossMargin': True,
164
+ 'sandbox': True,
164
165
  'setLeverage': True,
165
166
  'setMargin': False,
166
167
  'setMarginMode': True,
ccxt/phemex.py CHANGED
@@ -96,6 +96,7 @@ class phemex(Exchange, ImplicitAPI):
96
96
  'fetchTransfers': True,
97
97
  'fetchWithdrawals': True,
98
98
  'reduceMargin': False,
99
+ 'sandbox': True,
99
100
  'setLeverage': True,
100
101
  'setMargin': True,
101
102
  'setMarginMode': True,
ccxt/poloniex.py CHANGED
@@ -84,6 +84,7 @@ class poloniex(Exchange, ImplicitAPI):
84
84
  'fetchTransfer': False,
85
85
  'fetchTransfers': False,
86
86
  'fetchWithdrawals': True,
87
+ 'sandbox': True,
87
88
  'transfer': True,
88
89
  'withdraw': True,
89
90
  },
ccxt/pro/__init__.py CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.15'
7
+ __version__ = '4.3.16'
8
8
 
9
9
  # ----------------------------------------------------------------------------
10
10
 
ccxt/probit.py CHANGED
@@ -101,6 +101,7 @@ class probit(Exchange, ImplicitAPI):
101
101
  'fetchWithdrawal': False,
102
102
  'fetchWithdrawals': True,
103
103
  'reduceMargin': False,
104
+ 'sandbox': True,
104
105
  'setLeverage': False,
105
106
  'setMarginMode': False,
106
107
  'setPositionMode': False,
ccxt/wavesexchange.py CHANGED
@@ -92,6 +92,7 @@ class wavesexchange(Exchange, ImplicitAPI):
92
92
  'fetchTransfer': False,
93
93
  'fetchTransfers': False,
94
94
  'reduceMargin': False,
95
+ 'sandbox': True,
95
96
  'setLeverage': False,
96
97
  'setMarginMode': False,
97
98
  'setPositionMode': False,
ccxt/woo.py CHANGED
@@ -113,6 +113,7 @@ class woo(Exchange, ImplicitAPI):
113
113
  'fetchTransfers': True,
114
114
  'fetchWithdrawals': True,
115
115
  'reduceMargin': False,
116
+ 'sandbox': True,
116
117
  'setLeverage': True,
117
118
  'setMargin': False,
118
119
  'setPositionMode': True,
ccxt/zaif.py CHANGED
@@ -649,7 +649,7 @@ class zaif(Exchange, ImplicitAPI):
649
649
  }
650
650
 
651
651
  def custom_nonce(self):
652
- num = (self.milliseconds() / str(1000))
652
+ num = self.number_to_string(self.milliseconds() / 1000)
653
653
  nonce = float(num)
654
654
  return format(nonce, '.8f')
655
655
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.3.15
3
+ Version: 4.3.16
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
@@ -262,13 +262,13 @@ console.log(version, Object.keys(exchanges));
262
262
 
263
263
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
264
264
 
265
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.15/dist/ccxt.browser.js
266
- * unpkg: https://unpkg.com/ccxt@4.3.15/dist/ccxt.browser.js
265
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.16/dist/ccxt.browser.js
266
+ * unpkg: https://unpkg.com/ccxt@4.3.16/dist/ccxt.browser.js
267
267
 
268
268
  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.
269
269
 
270
270
  ```HTML
271
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.15/dist/ccxt.browser.js"></script>
271
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.16/dist/ccxt.browser.js"></script>
272
272
  ```
273
273
 
274
274
  Creates a global `ccxt` object:
@@ -1,14 +1,14 @@
1
- ccxt/__init__.py,sha256=tTh-nI_rfZEgz_Azhlc6qJGL2d0jyLzHX0niK9CHja4,15739
1
+ ccxt/__init__.py,sha256=xy1CCCLeDY_rUn0t8MFI3SjgzObRlass9cmISH732ws,15739
2
2
  ccxt/ace.py,sha256=j7Aq0hnsMTcUCIrWCm-ZZMkptWzAY23D8zi3jZWjq3c,41650
3
- ccxt/alpaca.py,sha256=h9GWMKpoPOXTcYESHQKM3MWGrrqEgFvs8sLkQx0YSLs,47182
4
- ccxt/ascendex.py,sha256=kxKDSqysYC_VHWsRHgNqEwGbQmKw8WIH_Cp2z6vouyg,151398
3
+ ccxt/alpaca.py,sha256=NadHil-XkNFteqE7GwzIhKCCRjQ7m0xBQBCUlKxS6Sc,47215
4
+ ccxt/ascendex.py,sha256=0W7umzuDzp6_DRcESoL7IAiBapPNMaAJ13R04SgqbbQ,151431
5
5
  ccxt/bequant.py,sha256=RBiAmaTbL35DgiV3Hl6uchLUd78V0z1T9riTlNsrpdc,1174
6
6
  ccxt/bigone.py,sha256=e9bOBUENqxUI1IjcCRBpc_eb7CilAxgk0tHGguESOEU,92168
7
- ccxt/binance.py,sha256=Yfd-gObsdcxLhdkWgEu_oaseQgmDWwOeT_jKAT6kCJw,615682
7
+ ccxt/binance.py,sha256=O_hDjDKKNaa6_ctIeGtzUwJm1b0pN5vo6wVUkafgTh4,615715
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=hnsQauPUdWF6YS8F63-8D9Q5XLD2pvSKQuFfM0jg6VQ,184719
11
+ ccxt/bingx.py,sha256=4MUNYr0vVseHodBJGPso76YQQxh_Ldfe9fQePGskJCk,184752
12
12
  ccxt/bit2c.py,sha256=zDMcQVszvO39Lo4Km_aU16AN0MoVz7WhJrLnTua5Pm0,36901
13
13
  ccxt/bitbank.py,sha256=XC2n0jpXEV7L7JoaIgjroAd__FQzucDRZnNJPfmwHWg,41839
14
14
  ccxt/bitbay.py,sha256=xAIjzGRDVGwoy-Gygd99H0YN4wiaz_0lR0Z14oxaaxc,478
@@ -20,7 +20,7 @@ ccxt/bitflyer.py,sha256=VYJ65ZGm_gYXSDQxvLqZaTwgQQCaxclpn2xaMn9m0HM,41391
20
20
  ccxt/bitget.py,sha256=4G3XvOwYebkRiBMs9fGIsE_GMeEyHIUgZShybSKPB9Q,422368
21
21
  ccxt/bithumb.py,sha256=pBq910z_-PWLxtxLCwbP91UZuFwpCfL3ziuhhZa7OWg,45528
22
22
  ccxt/bitmart.py,sha256=FyFfUreZlxEm5LgfYVL7wlUH2qnMBk3tYP4WDvb7to8,199056
23
- ccxt/bitmex.py,sha256=EHgR3jJXFWXCCKaMlJwm9aoM2jjgEF1uNy__LSZZNfQ,126398
23
+ ccxt/bitmex.py,sha256=xeXKSwvvvnqUQD3UObeN-UVZu_nI9YnF3VK7-5bEacE,126431
24
24
  ccxt/bitopro.py,sha256=Fr2CjVO05-A61itmgp5udjxgbHfizqTWLYYHgxsN56M,68516
25
25
  ccxt/bitpanda.py,sha256=aiwPkx9lKbVzt4ggoYdq_mIbMGtg5ZtGl2yRHO5xyz8,471
26
26
  ccxt/bitrue.py,sha256=ZhT9Ik9wOV_HNnYqahJZRigE1gTHX0vdxTY-F9EyR3E,136178
@@ -35,41 +35,41 @@ ccxt/btcalpha.py,sha256=9cjW8u3j3L5Jok3G0_WbILreo5MG40yo7OxNTkArewY,36695
35
35
  ccxt/btcbox.py,sha256=fI62e8f0CBMbSrVD1Cukk2SHcd4o4PcNfiEEbrIUETQ,23486
36
36
  ccxt/btcmarkets.py,sha256=R_LqHslDyQeJ6rQdN3sH02ICf4M91Dt_MegrpEi19lY,51478
37
37
  ccxt/btcturk.py,sha256=yz2w0eRyWju4znaIovBkVrQN-mjm3XlR_5F7AmQaogU,36651
38
- ccxt/bybit.py,sha256=FgbHJDebwmJDHgUPOEnVtFksQlM_ADWRTJ0RnuzN9D8,410634
38
+ ccxt/bybit.py,sha256=8RbeV8se-l3nvhJkwiiQRcfpJsCUN6nTzddTayqGqsM,410667
39
39
  ccxt/cex.py,sha256=nIBZhdCtCeKLapnwHDZ9QSkjoIlgLmTggh-7BTEL3ug,69924
40
40
  ccxt/coinbase.py,sha256=zrPkfEPaiX8LVfqpQ7VoLtefxZmOPMoBASlLa4v9wtk,211987
41
- ccxt/coinbaseinternational.py,sha256=YHt9l8lf78A-UPwPPP_uQ7U8qom-1wnxD-UAgDHYl0k,87207
41
+ ccxt/coinbaseinternational.py,sha256=wieWUwsLsBYAgNpvnnrKseqAE7aOw__apSP6MQK9u9E,87240
42
42
  ccxt/coinbasepro.py,sha256=MHlfA0VS0PrYyTjcwcit7I04nD-P6zgICkYzAI611Rc,78665
43
43
  ccxt/coincheck.py,sha256=GYkK5BTSFsJOuR5fSCysUqNK5b2FjEjz7dIBHXmc1Xs,35658
44
44
  ccxt/coinex.py,sha256=7e6A4yjx5hAVmUlEzOO1hn5VJ7kzVJYU_t5YoLOWsxc,269475
45
45
  ccxt/coinlist.py,sha256=KFP4eawW0ce-xJ15t3kuPQCLKSXQQTvkDjWfzRXtS3w,103087
46
46
  ccxt/coinmate.py,sha256=bFSSHuOSL2OQdMZXa_5sNkXoM0FIxWgiCd0tgJjIo4M,45940
47
- ccxt/coinmetro.py,sha256=13ibUWPJ5EOGaaBoZyeit23VMkV-fqfyw01XI2vdyLU,80661
47
+ ccxt/coinmetro.py,sha256=zzxNsfN49RlCONpVeQbMt3LmNdnp-XhTiJGKNJhggZ4,80694
48
48
  ccxt/coinone.py,sha256=q0Wxrp9RWjR_zz38DnR-l60MkROsUKxcRYnJcIK9EwE,46890
49
49
  ccxt/coinsph.py,sha256=FCtZiitRluc6j8v97o1cwW4R7CT1BsX2AMVV5XU9z-U,90626
50
50
  ccxt/coinspot.py,sha256=JLL9adBf137shW_vLr3LfGS5zxN6oTnEjzJkVaCkDbs,23608
51
- ccxt/cryptocom.py,sha256=4fzjcJLCdtHNPZp3E01wt_1Pte5ycIs604si4bA_Hyo,129718
52
- ccxt/currencycom.py,sha256=Y0foIftGaqxSRpkjgO-XTGifgFKnAINXYtrJRtBODYM,86759
51
+ ccxt/cryptocom.py,sha256=cxT_3bGOCeimdTY7E8XPSbT3m9pRs8iBdWkCgWuaY7s,129751
52
+ ccxt/currencycom.py,sha256=VIXs2v5Pb-g4u9bVbL2U9FVs87TeTUprNbi8B-hBkJQ,86792
53
53
  ccxt/delta.py,sha256=BspjNAbU6nY9vKdnotWOtROIxkEuVJjpR0FNLIwLzJQ,150451
54
- ccxt/deribit.py,sha256=8cHi-ceBc1SwWTyzuanmhofDvh_zMbiCrch6SUxkR6U,160453
54
+ ccxt/deribit.py,sha256=7zTQuYvHhY0uLDjEkzHsgls7cJIjaanxre9ZGIqAoBI,160486
55
55
  ccxt/digifinex.py,sha256=lH5SMpWzK61KIQ1XbF6Audf0PNePZg38LGtr89l7b-w,167964
56
56
  ccxt/exmo.py,sha256=F2YDk3YAgh0wclHRYsZRJZ0ccK_qwYboN17pY1Dpf3Y,114443
57
57
  ccxt/fmfwio.py,sha256=RbVLvzPwnqfDsE7Ea-N13ISCC82eJVPsXYjrleASmew,1236
58
- ccxt/gate.py,sha256=8TODmWPxKDRZ18n03tHWdmeZVDEmctF37sZ8vGp_gPw,319742
58
+ ccxt/gate.py,sha256=fwCPABwOU0waBVmIdZn1VGEocVIr4wvajLg1-9OguKE,319775
59
59
  ccxt/gateio.py,sha256=86AETJWODl_vA5VNeQRHZprmpNIY1HAxCddKZcnKSi8,445
60
- ccxt/gemini.py,sha256=JlnV4G-papCiPymgNQsWMwlwg6YMo0YHd370AuAaVPk,80619
61
- ccxt/hitbtc.py,sha256=-Vprl-XJ2Wr6vw2GMQpGlHjCFHH14HjeCGVEGfgW6h4,152964
60
+ ccxt/gemini.py,sha256=k64XV333w1KpzF5e2pvhDjJGj5lTxP3CCFglFNPpuGU,80652
61
+ ccxt/hitbtc.py,sha256=6_2aHWzD5al0aZqU3U44141Fnn2RPGJnj_xRu6xqTHs,152997
62
62
  ccxt/hitbtc3.py,sha256=qRAr4Zvaju9IQWRZUohdoN7xRnzIMPq8AyYb3gPv-Is,455
63
- ccxt/hollaex.py,sha256=leWQXb90dDdCdFDKQav5S5X82HN3D7S-dciORAOBA-g,75898
63
+ ccxt/hollaex.py,sha256=xpXNrVP3yTEInjk3dz_-QzIYC-T7aC53wYwXaNiyZ7k,75931
64
64
  ccxt/htx.py,sha256=VwErziLq0kj3BH0Yt4cbpIgfXZlLkE7Ap1QTqYzcRNA,420397
65
65
  ccxt/huobi.py,sha256=4vaG7IRN7fyjaJ_ac6S-njlHOfSEN5de7aq0noznxYw,438
66
66
  ccxt/huobijp.py,sha256=mPsEYc3A5keD5r23UMpXce0edCgvlG22wkVxZ3Yl00U,87962
67
- ccxt/hyperliquid.py,sha256=RzA_DUzPpwY1Ow3qp2Bz_Po0jacguGua8RxiA1LXKjg,99670
68
- ccxt/idex.py,sha256=58FmheK_cOWUVsVfXa3uozjU6K3EicB9nvPSTUttNcQ,72959
67
+ ccxt/hyperliquid.py,sha256=0trDGiIGIBB37T8zL457ygdT12nlgcfrPY5l7NzpySw,99839
68
+ ccxt/idex.py,sha256=q_XP8LsC-CL3ovMD9-xLzSNrDAS4WhwVEyiy3fMSJbs,72992
69
69
  ccxt/independentreserve.py,sha256=kJrUpH-IASNvJnIIH_NmoiBwkOGINdZikQCVy9YZL_c,32169
70
70
  ccxt/indodax.py,sha256=jc_WzUJjon7em0KWpI92TNhEGUTQd-_11MDw2F73bKQ,51911
71
71
  ccxt/kraken.py,sha256=x9RPvaOhv1SomP8-3ZSMqsw2IfQ2eLwMA9LRDldNPWI,125443
72
- ccxt/krakenfutures.py,sha256=nSPNWWiwahyzqKnuR9NqCr6qxcWaah6RBvIqNDKDdoo,116757
72
+ ccxt/krakenfutures.py,sha256=CudB8I3DEBOlt_SYGub1AGs4TsT_v7zeMRADPU01uH0,116790
73
73
  ccxt/kucoin.py,sha256=Fv2u8pUhwOud-qzAqGZzM07NVE7KwpkE0VpqYUfOcNY,217697
74
74
  ccxt/kucoinfutures.py,sha256=xlT3-JJxMhnQxxfoiQ_Und_FJO7l-pzeonv9f1Dk9fU,124286
75
75
  ccxt/kuna.py,sha256=Io7T-gg43lTJI0ZoVp6ZQ8MOVPP21raUvDbCKgonuiE,95985
@@ -79,28 +79,28 @@ ccxt/luno.py,sha256=A3qSj-mu1C_wIJxeQwRg_MTwdNcN1gZzBcDcdEfudNQ,45881
79
79
  ccxt/lykke.py,sha256=Uv2kUW7RtNoFxZlGTEjBu3P-N9dBW3CcuNCaUjsnXeE,51064
80
80
  ccxt/mercado.py,sha256=BZb5a0_SDKAz7CUCeiftkVtZnfnos8GpgwNyk57aa-s,35333
81
81
  ccxt/mexc.py,sha256=6c7Ecdq6vCJwfXqOO4bhS8BYq1sY2kB5pQrRyOGejYY,240769
82
- ccxt/ndax.py,sha256=FQOxlMyj8m9wND2i5qiTxrog4eFASzCxhGRw1Nxu4eE,108562
82
+ ccxt/ndax.py,sha256=fRer4mSYS3N3xXuxu2xWxmjJBgHnzoUswxdQY7bsBp8,108595
83
83
  ccxt/novadax.py,sha256=h9U_ckSCN4ZDgvXrrb7MmcOTioqG_3DsmR-2Gjpx6yw,64299
84
84
  ccxt/oceanex.py,sha256=YH3tUzegvfG0fUCjtmtb3USOQtlL1tlqQ40B_i-xx7w,37860
85
85
  ccxt/okcoin.py,sha256=oJDR1yRlV_3HlgI6Uii6zr5cKDg9IaUSrhdlJZAXIMc,151110
86
- ccxt/okx.py,sha256=Zv0gbbCOE9ZpszIZ5QqABdhC3BmBCExVQqvtiBbQ9uQ,373701
86
+ ccxt/okx.py,sha256=LP-uNcZcJFPHxSGyvANLtYglDpb6AH6VsRxKUCHnd5M,373734
87
87
  ccxt/onetrading.py,sha256=T68x4qfncbcnXU-YdMTVEGwnr3zKvcbbfdQZa8Zourc,88107
88
88
  ccxt/p2b.py,sha256=FYxL36KwtaLIIQ793frJEtqtHyzm39hNK0mJEzAAH0U,54213
89
89
  ccxt/paymium.py,sha256=2mBwmyT93k-dXBEKEix48G8PsA2IEN_5yScEM985Z10,24203
90
- ccxt/phemex.py,sha256=wSEbzDt6Hi6QRNR1vmLr7em1hbKm8tmiwB_Pu3sqoJQ,218811
91
- ccxt/poloniex.py,sha256=IKCZrQG0h_j7Pl1br-3fMTG-9O6hivwUzl0HzScPLDM,101953
90
+ ccxt/phemex.py,sha256=R43N-2P48o9f6Qfb63FyPb8kxHbay8yFcIh1Uj9BtjQ,218844
91
+ ccxt/poloniex.py,sha256=mqbjkZTjYJuTE_B3gPSzUkfJulGlSBMY-f3iS7sBUJc,101986
92
92
  ccxt/poloniexfutures.py,sha256=e3zuDY21yjI-7BASSWPQ-3r0c5EQY-W6QAcUCwhOSP8,77793
93
- ccxt/probit.py,sha256=CxH2YTWaOBISrzbpdSZQ0DbaXUoOeFwc2ieQjYF4its,76340
93
+ ccxt/probit.py,sha256=CJMg4ZVayyfzpddve-qsWD0VI9nOo4nNE6BiX6ieSqQ,76373
94
94
  ccxt/timex.py,sha256=svfcyb0uQazaLRoeercylN6nJbllYyExUZ55vHEeTC8,71281
95
95
  ccxt/tokocrypto.py,sha256=A1leJIVReqdSwUFQ5JGexbb7zatCfcE51D2tSIU7L8w,123007
96
96
  ccxt/tradeogre.py,sha256=jsJtJ9sAb-mmQO71kchwxbgkmFxMDSuzmuW0gtdFTnw,23900
97
97
  ccxt/upbit.py,sha256=rYJ2n8d52-6q0CuaflZs4KsM-ytgdPYNjOx76jao-7I,81605
98
- ccxt/wavesexchange.py,sha256=SCBZNlH4v8QojSVQn70PjhO-9vvUIRuu6a8f_62k_QU,113550
98
+ ccxt/wavesexchange.py,sha256=F9bdNCE4F0YziiG8f5HkQGhViw_gI_eFqjzgUYWU9cA,113583
99
99
  ccxt/wazirx.py,sha256=c63acRjogThVdpkvt3F1U93EPrJx3CfmoMpDFpAaZfY,51336
100
100
  ccxt/whitebit.py,sha256=0qVVSty0rkAcM_LfK55vNpaznIHlvrszVNdJ5bboSO4,114373
101
- ccxt/woo.py,sha256=BmDoETV5o9kyfzc3oLLWzJQN8EMSBDXSKuz_YOiVHjg,138532
101
+ ccxt/woo.py,sha256=By7-PyeePXfDAOrSDOO9Sw51GpXAVET1FFFEBgnILWM,138565
102
102
  ccxt/yobit.py,sha256=KGyZulJpFsbWRPMCK2VIqXy9ZopLH1v3IO_fmZVIsi4,53216
103
- ccxt/zaif.py,sha256=4aZ8iZmow4TEw_IZZCPX8VDPaU7PVRJ_lNpYhN-LSCA,27957
103
+ ccxt/zaif.py,sha256=Tqfwj2lYHKUt-acrhT37SwGoE8k5cTvnW8S6iNjlipc,27973
104
104
  ccxt/zonda.py,sha256=Sxq8MsluLNKk1_9PNkdAa2zy8jP_tklrEax4P5TwISQ,80557
105
105
  ccxt/abstract/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
106
106
  ccxt/abstract/ace.py,sha256=2-jmtQUedebJ-M88oI3WhmenPElcRlOQHe-gfHjL5BQ,1448
@@ -206,17 +206,17 @@ ccxt/abstract/woo.py,sha256=yH0aXeyohXdyS3jZrztapwRmzNWk7JGpbrrf7pX_LKU,10368
206
206
  ccxt/abstract/yobit.py,sha256=8ycfCO8ORFly9hc0Aa47sZyX4_ZKPXS9h9yJzI-uQ7Q,1339
207
207
  ccxt/abstract/zaif.py,sha256=m15WHdl3gYy0GOXNZ8NEH8eE7sVh8c0T_ITNuU8vXeU,3935
208
208
  ccxt/abstract/zonda.py,sha256=aSfewvRojzmuymX6QbOnDR8v9VFqWTULMHX9Y7kKD1M,5820
209
- ccxt/async_support/__init__.py,sha256=8AM_g5d9XtA2ZhXcgYfK8Cy5cdMMqcUCn5QBW2IdWl4,15492
209
+ ccxt/async_support/__init__.py,sha256=4q-OrADm90JR3prA3kpYzsqUSn_HB_I8csdwd_pxQjw,15492
210
210
  ccxt/async_support/ace.py,sha256=FNZKajNtvFhDEmBYzgv46pGMwvHbPQcqhsWRpAk9iwU,41874
211
- ccxt/async_support/alpaca.py,sha256=A1g6mT4lc8Ab5f5Hi7U_10XltruXHlE8268s45dDd6I,47394
212
- ccxt/async_support/ascendex.py,sha256=GJJxZnAu_OSTv3l15DbAaIsIz5QdyWAgD0-yfsTjAf4,152186
211
+ ccxt/async_support/alpaca.py,sha256=rjD8PdQr1B5e9hvaoTQBKVtWwHLs04e6_-gooXl4eEE,47427
212
+ ccxt/async_support/ascendex.py,sha256=pprQOgeyclQtFMPtXmTMyXj_WU5PIn9rOfBZi8fxmLs,152219
213
213
  ccxt/async_support/bequant.py,sha256=1hTwHovo1bW1XTIc8ZKjvJ-Xg6LfmpGdzT7TepykaVM,1188
214
214
  ccxt/async_support/bigone.py,sha256=VRcmcf65P0Uw-EpEf78u_KQdE9J6MVOKdd311z-thRA,92622
215
- ccxt/async_support/binance.py,sha256=0SdQ7KXFEBF8ThRmj6tiKhTfi-xLTjYibOgijHE9vpA,618380
215
+ ccxt/async_support/binance.py,sha256=lFhG_094X4l6JlMPbP5xtGDggTPUTZOOzsJLSXHjj-w,618413
216
216
  ccxt/async_support/binancecoinm.py,sha256=IY3RLZptQA2nmZaUYRGfTa5ZY4VMWBpFYfwHc8zTHw0,1683
217
217
  ccxt/async_support/binanceus.py,sha256=c-K3Tk7LaRJjmYdCx8vBOqsx01uXrtvt0PC2ekBiD0g,9177
218
218
  ccxt/async_support/binanceusdm.py,sha256=-1r4A4tmV2pCiLGO80hzq7MIIj4MTzOD7buZGv6JauA,2518
219
- ccxt/async_support/bingx.py,sha256=e4T7Y2teRXofJ_sG6lOThWv3c6l-lvCD1NmmMFq94wg,185755
219
+ ccxt/async_support/bingx.py,sha256=6OPuJr-TCZSSvZv1sepK9HcPm1PqHXtPv6waNw9ZfQY,185788
220
220
  ccxt/async_support/bit2c.py,sha256=vCfbtsUTI0j9wU51FnvzPpFwmzC3ozN4h1I4IXVgMGI,37113
221
221
  ccxt/async_support/bitbank.py,sha256=48plnjcFdy6Ovd66hm32fa0qjedmkkjfnSwDB99NwbI,42099
222
222
  ccxt/async_support/bitbay.py,sha256=jcaEXi2IhYTva8ezO_SfJhwxEZk7HST4J3NaxD16BQA,492
@@ -228,7 +228,7 @@ ccxt/async_support/bitflyer.py,sha256=jehWPOEapP8emHK_WJUey8Lt4VFQwK4-Hrmchkh-Vb
228
228
  ccxt/async_support/bitget.py,sha256=tXFyBvbFn83kdd12sl1c-V9DT_BjRtNHZb0G1fZfBmY,423992
229
229
  ccxt/async_support/bithumb.py,sha256=Ii7K6dga0USJr8mvmQub0-QSCsOu6VNA1luFP8ZfT-Y,45758
230
230
  ccxt/async_support/bitmart.py,sha256=-gwweF21PPSyDmMq_uKdfMacykuHtckMmEp660wTmus,199976
231
- ccxt/async_support/bitmex.py,sha256=S0c6bEDvOuITq_e-Uw5To52l6Ojgun8duZAs53w_PlA,126976
231
+ ccxt/async_support/bitmex.py,sha256=5U0O1-L-wFTfJUv2QtWA73vMyst1KRgPxC3YL6WxRoY,127009
232
232
  ccxt/async_support/bitopro.py,sha256=MiNZ5VDEQVlps2Zht8tzlfwpij-1cH8FejdOczYKFKs,68920
233
233
  ccxt/async_support/bitpanda.py,sha256=2k3URBWrpnh2xHa7JiYenI7_4MW5UeOPGzetlmRkR4U,485
234
234
  ccxt/async_support/bitrue.py,sha256=UIJNERi2HI54RHc2C81LlLF5okapM4IO7NkZMWwMS80,136836
@@ -243,41 +243,41 @@ ccxt/async_support/btcalpha.py,sha256=tfGT1xE4_tgWhyBx5UMiwhll-xf5FWx7NZZ6v7dOt1
243
243
  ccxt/async_support/btcbox.py,sha256=DUVQQhJSlH9QCg3RToVL4cSUtFsRomArZIav1YdLxzo,23680
244
244
  ccxt/async_support/btcmarkets.py,sha256=aHWHZNsllU8dBEUPGLe78K3B0X_Q1f0PGYS7TUSSwUM,51828
245
245
  ccxt/async_support/btcturk.py,sha256=tkhs24jrrjhiwPvzmAXSGZVnmrlvQxqfIi3PCP-iwN0,36869
246
- ccxt/async_support/bybit.py,sha256=xU0mmiBxsquw54z7PuWgRsamolT-t20LRw2Mg-Qgtkc,412414
246
+ ccxt/async_support/bybit.py,sha256=slXYI_zo1G_mxFgmr0-Fhi8IPJjTVjQii0VL_z0JjoE,412447
247
247
  ccxt/async_support/cex.py,sha256=28Bixn0KAtlz-I171izhzgxR59sOx0tMV6d32XUkOnY,70274
248
248
  ccxt/async_support/coinbase.py,sha256=TQiVDuE9ga8gwmmmFG1bpollPCoUcE3UWiNtmlbW-tM,213093
249
- ccxt/async_support/coinbaseinternational.py,sha256=NnsZZexHNFeSFoVbJe76PCud0MZHoCWe5ZVx9SxcWhw,87761
249
+ ccxt/async_support/coinbaseinternational.py,sha256=fuU-h5UpO_nVs1j8KA7oGsQlP0kQefuPycZrc8ph6OQ,87794
250
250
  ccxt/async_support/coinbasepro.py,sha256=450ObJYcli-6Fkpqx8iTT-Z6TB4Uek0bIXmSWLWVsFA,79171
251
251
  ccxt/async_support/coincheck.py,sha256=B_qzNQzd3j-me0km8lEg7bnfp--A16fpa_W902ut5Lo,35864
252
252
  ccxt/async_support/coinex.py,sha256=zESaEm_SiaiaqPuzoMDTZV3cKVcBrb9mooXM61djAxA,270769
253
253
  ccxt/async_support/coinlist.py,sha256=pz2Kj7wr8yl_VojRHApidVYCfr7Kz_KkjtKSxLg-fAY,103575
254
254
  ccxt/async_support/coinmate.py,sha256=XQJDqDPD2JFBDZqKzWC9AfBKV3MY3msBuYkMgUaT5M0,46206
255
- ccxt/async_support/coinmetro.py,sha256=VPi7zqunFxgFzcedh5cOApHea1ztooxk2Mug5889q_4,80981
255
+ ccxt/async_support/coinmetro.py,sha256=2kRVo8kIz_DlI-8qppHlDNAxYnBPfpOY0xmMN7lIgtM,81014
256
256
  ccxt/async_support/coinone.py,sha256=_ypMnoeBgvfhl3N9i4x7ZeUR--PAKwm1xOt8Z_8UweI,47132
257
257
  ccxt/async_support/coinsph.py,sha256=NuRYfAg8qYoYuCwtdnBCPDgX5sdQtpUx_RFRudPM4Vo,91060
258
258
  ccxt/async_support/coinspot.py,sha256=eYMpIjpGdJhV1MeLBQXxJS56ArYnL-sqcUjgkb9wmjQ,23760
259
- ccxt/async_support/cryptocom.py,sha256=6UdQ4VJAYvfdTyL1xiQjbQGpH3Bs8U6MAyh1ims_w3Y,130290
260
- ccxt/async_support/currencycom.py,sha256=6mRnCI8zMKEUqiB-eyKE7i1fRsxPKIvxWRF6xMbMTf0,87181
259
+ ccxt/async_support/cryptocom.py,sha256=-NAb6KoPUHhXs1cRPCRoVlpQkrM6M07p9UbJrkOMlVs,130323
260
+ ccxt/async_support/currencycom.py,sha256=YcU_Mocl6veCHNWBOoqtzopvwxcHRb1utJaA08D7leI,87214
261
261
  ccxt/async_support/delta.py,sha256=FBfleA6tyZ5--6MSeqEHTf_tdWiteIkM2z2cH-Xz5ac,151059
262
- ccxt/async_support/deribit.py,sha256=BG5mh0jsVbtRV_nYN8K1h38alM97hEB5Kho7apTHxiE,161229
262
+ ccxt/async_support/deribit.py,sha256=IGsQEbMCgtRhvHeL6wKSMcBWY1fH98UEpUeW3wk407E,161262
263
263
  ccxt/async_support/digifinex.py,sha256=bxpsEmqLHGfq-sztF_Y1wf1vzqsTGI7L3cCI6LSJ22Q,168934
264
264
  ccxt/async_support/exmo.py,sha256=ZJJpm1EeJmklIdrSd2nlg_9HewbIaCeHbT7t_VOsQcU,115075
265
265
  ccxt/async_support/fmfwio.py,sha256=lzfSnPrB2ARcC3EIqAuBM4vyg6LJ6n8RE71Zvt3ez1s,1250
266
- ccxt/async_support/gate.py,sha256=BxC6vwwVAbT2czMMwihql16QjT8xfgbTr7wirr_Zkw8,321420
266
+ ccxt/async_support/gate.py,sha256=Sz7v7YE2655qpAoRJDJRgT_G2amgA3zYs0Uf2rBsWjs,321453
267
267
  ccxt/async_support/gateio.py,sha256=6_t032F9p9x5KGTjtSuqGXITzFOx-XAQBYLpsuQjzxw,459
268
- ccxt/async_support/gemini.py,sha256=IJRx47vtwQtVjaieCH2CTWJpJqHcb1PKsq3cuMZGcIY,81132
269
- ccxt/async_support/hitbtc.py,sha256=RqQuOJNznoGm1UtZfSp0zB1k79F5hdOyzUcd5p3HAoM,154010
268
+ ccxt/async_support/gemini.py,sha256=1hoUC5_LClvKFTeUFcDXgIjuir_9KHgz26DEECZymVI,81165
269
+ ccxt/async_support/hitbtc.py,sha256=pBNZxUF4qehqmpIvjXGnNFbhZS3Y0wL3t4LJiMeuZ1s,154043
270
270
  ccxt/async_support/hitbtc3.py,sha256=dmSYoD2o4av_zzbZI8HNIoj8BWxA7QozsVpy8JaOXzU,469
271
- ccxt/async_support/hollaex.py,sha256=LwFfI7aYpywxJlQlJ_YNnqCbmBKRcZpLILPZYPQRkh0,76332
271
+ ccxt/async_support/hollaex.py,sha256=ptF9O2Ey5nzmqf38-XJmSKpqmZLWCralqLqgJwhRsSU,76365
272
272
  ccxt/async_support/htx.py,sha256=L6pNRAQQam7sV7dCEDfp1-DApVIwt2fqykM_LqIU_aA,422753
273
273
  ccxt/async_support/huobi.py,sha256=fup0j6wQ1khAtfbb1H4CSyJAOzhxuoHMmrM6sgTuhr8,452
274
274
  ccxt/async_support/huobijp.py,sha256=4tWEtGyxFxvM_ASYRhIfmLWKz7vqpE0vBRxi8qc5xnw,88462
275
- ccxt/async_support/hyperliquid.py,sha256=FlXRcykCbY4pqcKauFK2q5ZHo-Mq0DUY-kyyFsEu4m4,100190
276
- ccxt/async_support/idex.py,sha256=hnlKpCbu5mLTQ9aWa__MqUCXhaC3u22p7UP6A1nHcPE,73435
275
+ ccxt/async_support/hyperliquid.py,sha256=3fhFF2T4QIlKV8kDcPrYN2DLVszlHZ2YnB1M5o2TD4g,100359
276
+ ccxt/async_support/idex.py,sha256=mHsVf8_JjuPlrjaE5H_D7gHEYfB1KiLhZaSRc3Ro6wg,73468
277
277
  ccxt/async_support/independentreserve.py,sha256=kO3leMwjN8atk3S2IlR1MtfFQyuXXfKWwyxSezLmnHQ,32429
278
278
  ccxt/async_support/indodax.py,sha256=UsLZmVDRfh982SDmXZbrdNbSy5K2j5RNLSsGOlvTItY,52219
279
279
  ccxt/async_support/kraken.py,sha256=IduPpHoKUxXRdtEo2Qcvp35b-AHTg5jRt7TXo20oBRo,126045
280
- ccxt/async_support/krakenfutures.py,sha256=T_zFrH8QsHwzIDvHcwx1Le57E1DIchrolvMK62XxqnE,117245
280
+ ccxt/async_support/krakenfutures.py,sha256=BfkPZr4iKu5z48PRfvM3LI3D_d99PfFx1kJ8WopaeF0,117278
281
281
  ccxt/async_support/kucoin.py,sha256=UAPElUUoavBxiKOj6wMMPm-6mCrifS7bn2Yd875m1tc,218769
282
282
  ccxt/async_support/kucoinfutures.py,sha256=Peqak4JNEnZkcKSEP10wCuQHU9sb7HQm6BoqHvyR0bU,124924
283
283
  ccxt/async_support/kuna.py,sha256=h9rrxeXVmiLkqJhRq8eVzxjOlcFOpJos0wInSdXAW4k,96401
@@ -287,31 +287,31 @@ ccxt/async_support/luno.py,sha256=zCe5fQMRd7a3QMw8HhG0P7nFB75N0Xpbc9CW88K1Z44,46
287
287
  ccxt/async_support/lykke.py,sha256=-CjpYZzDY_iI1dTKUKukhJMjRb9t5u0cYbxnL7-sJpQ,51378
288
288
  ccxt/async_support/mercado.py,sha256=_NFenAD-YA5LCZI-r07iwXYHAL2U3RQXGmXiIdbA5W4,35575
289
289
  ccxt/async_support/mexc.py,sha256=F_vVK8nr3etdf_ip-0SjOa30pcuYuz-fQ8t4AtP_-ds,241947
290
- ccxt/async_support/ndax.py,sha256=JtBK0pbR5OvnWuLTHr2pNV8lsoXkZ8A161b5K366v00,109086
290
+ ccxt/async_support/ndax.py,sha256=k6qSVA0603yWrVi9GzqSjqjg544ZDdonmMQ_Qfs5yBE,109119
291
291
  ccxt/async_support/novadax.py,sha256=ttRfw2h1Nc-9RUgBHefTuAPLUNjp9hxfxZTxoJDViwQ,64667
292
292
  ccxt/async_support/oceanex.py,sha256=aYdYRl42FDFpaPaoLaiGYxvDM_7aq0dEjAhUa0NsJQQ,38180
293
293
  ccxt/async_support/okcoin.py,sha256=HQSAZdG_yFP9oHyJYJaZrWsRZ9IHB6qrIgDp4b0zetA,151634
294
- ccxt/async_support/okx.py,sha256=r_6_AfHUlyIGaxXvxXx8JBkVzqW9o-EL8zsPv4MsYdg,375288
294
+ ccxt/async_support/okx.py,sha256=iota_nLiZQUN668q_hy6T3qEFSwnNOlqNA9kSHAASUw,375321
295
295
  ccxt/async_support/onetrading.py,sha256=2O3d2_E-oUZABQEyR9igcke0AJ-to-_J9579iDyGKfo,88559
296
296
  ccxt/async_support/p2b.py,sha256=KrNc3sLbHQCxbgShyqWytuQVaQfKa42Q6_HcUYNUaKI,54455
297
297
  ccxt/async_support/paymium.py,sha256=3P1J9OcDOqQKG5fUs6Xte9Xu8NB5lWu-OD-AHHGZbkM,24391
298
- ccxt/async_support/phemex.py,sha256=i2Im9LKtOUjKguJcYXUwXVtH5D885rWS3-RFwTcr1LQ,219623
299
- ccxt/async_support/poloniex.py,sha256=Y4eDB-JYuQUtq_QNXKbZdcCyncvFwhIiNQgMIQohDMI,102501
298
+ ccxt/async_support/phemex.py,sha256=x32N16Uu-BGZ6Gz5H7ufUz0SNetkI7LbMm_gXcnJOS8,219656
299
+ ccxt/async_support/poloniex.py,sha256=mmO5Er1uvNemuRA1Wcw7MhzH3JZyDKPkSiC_MhsXzm4,102534
300
300
  ccxt/async_support/poloniexfutures.py,sha256=AG2t7T7tcayFNUsRU9LGoRbYA1whYSEC2PDpFZuPVdc,78179
301
- ccxt/async_support/probit.py,sha256=7uJBTd-R2GvAY9KEuG5CYFRk7M_hlocapcSo-MUmDh0,76732
301
+ ccxt/async_support/probit.py,sha256=e7uNoUqHaz8JeEmviM5II3Lf3wtFAKfBBCPzhXcVkbU,76765
302
302
  ccxt/async_support/timex.py,sha256=xE07hWM09Lq_QVfFNTOdWz6293_EcYT2csagALNzPtk,71643
303
303
  ccxt/async_support/tokocrypto.py,sha256=IHhnwE8w_EdDqCS7uhUqSBqOc4BpiFKpNGvzBYUbETc,123369
304
304
  ccxt/async_support/tradeogre.py,sha256=WJdVRPnjE_Q3LdhISdrKjmiNkV0f4-gazWusEZy4PjI,24094
305
305
  ccxt/async_support/upbit.py,sha256=aHWltVeWCuBHFepQpdTt5fLIDjgxDu0m-pra9_UZSJs,82087
306
- ccxt/async_support/wavesexchange.py,sha256=42GGcYgVOZrbBvB6f7ur_p8NZP6SAReGBVJF3Ifvroc,114100
306
+ ccxt/async_support/wavesexchange.py,sha256=veejqph4p59pG6RHTiBn41YMFMsiE7y9c4z_sfOEIbc,114133
307
307
  ccxt/async_support/wazirx.py,sha256=70T3kb8SbUXtUnYb_Yjfue3XOcIo7MKMkrG0-XipAMo,51638
308
308
  ccxt/async_support/whitebit.py,sha256=0-ofzO_8_K7GhsKHNO2d4Z1aEr8GJbx8Zwcg10MqtUc,114993
309
- ccxt/async_support/woo.py,sha256=wBfSIwQNLvhuXrXWkTm2nzD7IfXvEBbl3NdBU7QfjS4,139422
309
+ ccxt/async_support/woo.py,sha256=2g_L8oR6GDr2fyPClOTM5vyYpEKMjUFz_kPuVF1xBus,139455
310
310
  ccxt/async_support/yobit.py,sha256=6eqYOcSBmXhJgcKDRMj8oRH_7aoz2E21hxgzvA1TzrA,53500
311
- ccxt/async_support/zaif.py,sha256=chPFWbPvYNn0KPHY0fX_nXl60WuvueRO9GNnNMpuYeo,28139
311
+ ccxt/async_support/zaif.py,sha256=laP7nbqRvoVT8u829fgoI5Svm3AUSlII_5WjRvhVNvM,28155
312
312
  ccxt/async_support/zonda.py,sha256=nHlJJSlr_zBSiw4WrKOp2FbO33_UFMK5YyLuf2Pvjr0,80871
313
313
  ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
314
- ccxt/async_support/base/exchange.py,sha256=eWtRJP4dZQp7uBL0IoB5W2PP4-tZiQxqdriSHqz3jWg,107191
314
+ ccxt/async_support/base/exchange.py,sha256=VT4JVwrI3bBTDFVkBhaDLCC_MUdl9zYK3lgwthnnuCY,107442
315
315
  ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
316
316
  ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
317
317
  ccxt/async_support/base/ws/aiohttp_client.py,sha256=Ed1765emEde2Hj8Ys6f5EjS54ZI1wQ0qIhd04eB7yhU,5751
@@ -325,10 +325,10 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=Pxrq22nCODckJ6G1OXkYEmUunIu
325
325
  ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
326
326
  ccxt/base/decimal_to_precision.py,sha256=fgWRBzRTtsf3r2INyS4f7WHlzgjB5YM1ekiwqD21aac,6634
327
327
  ccxt/base/errors.py,sha256=FGdyULeNCNcl52gA_CNhe2dZmat9GJGkTdlIyDXAF_A,4213
328
- ccxt/base/exchange.py,sha256=jRrjam_qU9RUuD_CNsUZIN4J5qdKGQ8L4XXdIXQYxKk,275690
328
+ ccxt/base/exchange.py,sha256=R_jwU6bcDjJl0WlxmEencYBxq8kgqxSn_dwpycBFp3c,275941
329
329
  ccxt/base/precise.py,sha256=_xfu54sV0vWNnOfGTKRFykeuWP8mn4K1m9lk1tcllX4,8565
330
330
  ccxt/base/types.py,sha256=m9kkJ1elksA8JwVeoSZyL6BBH4qu3l8h5zhi3W22-1o,8495
331
- ccxt/pro/__init__.py,sha256=XqJBWVNnr1mojI_kKHkMDmIGivalVi4MHhCTV6kcZ08,6999
331
+ ccxt/pro/__init__.py,sha256=1h-K2wsvAiyjB0quVK85cQgyG0WFoYBtA53fNZUPF5Y,6999
332
332
  ccxt/pro/alpaca.py,sha256=7ePyWli0949ti5UheIn553xmnFpedrNc2W5CKauSZio,27167
333
333
  ccxt/pro/ascendex.py,sha256=fCM3EujSfJvtvffqI56UAstTtwjXFIocwukm15cF8rE,35432
334
334
  ccxt/pro/bequant.py,sha256=5zbsP8BHQTUZ8ZNL6uaACxDbUClgkOV4SYfXT_LfQVg,1351
@@ -527,7 +527,7 @@ ccxt/test/base/test_ticker.py,sha256=cMTIMb1oySNORUCmqI5ZzMswlEyCF6gJMah3vfvo8wQ
527
527
  ccxt/test/base/test_trade.py,sha256=PMtmB8V38dpaP-eb8h488xYMlR6D69yCOhsA1RuWrUA,2336
528
528
  ccxt/test/base/test_trading_fee.py,sha256=2aDCNJtqBkTC_AieO0l1HYGq5hz5qkWlkWb9Nv_fcwk,1066
529
529
  ccxt/test/base/test_transaction.py,sha256=BTbB4UHHXkrvYgwbrhh867nVRlevmIkIrz1W_odlQJI,1434
530
- ccxt-4.3.15.dist-info/METADATA,sha256=t5fRW45ZIX8JQ4Rprd-EE86T6JuofRvIqINE5mDCQ3w,111193
531
- ccxt-4.3.15.dist-info/WHEEL,sha256=P2T-6epvtXQ2cBOE_U1K4_noqlJFN3tj15djMgEu4NM,110
532
- ccxt-4.3.15.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
533
- ccxt-4.3.15.dist-info/RECORD,,
530
+ ccxt-4.3.16.dist-info/METADATA,sha256=jTXsNwLaoh5av5hqLC7k9AwMX1rB1YKAIo5WLqRsisQ,111193
531
+ ccxt-4.3.16.dist-info/WHEEL,sha256=P2T-6epvtXQ2cBOE_U1K4_noqlJFN3tj15djMgEu4NM,110
532
+ ccxt-4.3.16.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
533
+ ccxt-4.3.16.dist-info/RECORD,,
File without changes