ccxt 4.4.5__py2.py3-none-any.whl → 4.4.6__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ccxt/__init__.py +1 -1
- ccxt/abstract/bitmart.py +4 -0
- ccxt/async_support/__init__.py +1 -1
- ccxt/async_support/base/exchange.py +1 -1
- ccxt/async_support/bitflyer.py +2 -2
- ccxt/async_support/bitget.py +8 -1
- ccxt/async_support/bitmart.py +179 -127
- ccxt/async_support/bybit.py +11 -1
- ccxt/async_support/coinbase.py +6 -8
- ccxt/async_support/kraken.py +5 -1
- ccxt/async_support/mexc.py +29 -6
- ccxt/base/exchange.py +1 -1
- ccxt/bitflyer.py +2 -2
- ccxt/bitget.py +8 -1
- ccxt/bitmart.py +179 -127
- ccxt/bybit.py +11 -1
- ccxt/coinbase.py +6 -8
- ccxt/kraken.py +5 -1
- ccxt/mexc.py +29 -6
- ccxt/pro/__init__.py +1 -1
- ccxt/pro/htx.py +14 -0
- ccxt/pro/kraken.py +57 -0
- {ccxt-4.4.5.dist-info → ccxt-4.4.6.dist-info}/METADATA +4 -4
- {ccxt-4.4.5.dist-info → ccxt-4.4.6.dist-info}/RECORD +27 -27
- {ccxt-4.4.5.dist-info → ccxt-4.4.6.dist-info}/LICENSE.txt +0 -0
- {ccxt-4.4.5.dist-info → ccxt-4.4.6.dist-info}/WHEEL +0 -0
- {ccxt-4.4.5.dist-info → ccxt-4.4.6.dist-info}/top_level.txt +0 -0
ccxt/coinbase.py
CHANGED
@@ -751,28 +751,26 @@ class coinbase(Exchange, ImplicitAPI):
|
|
751
751
|
|
752
752
|
def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
753
753
|
"""
|
754
|
-
|
755
|
-
:see: https://docs.
|
754
|
+
Fetch all withdrawals made from an account. Won't return crypto withdrawals. Use fetchLedger for those.
|
755
|
+
:see: https://docs.cdp.coinbase.com/coinbase-app/docs/api-withdrawals#list-withdrawals
|
756
756
|
:param str code: unified currency code
|
757
757
|
:param int [since]: the earliest time in ms to fetch withdrawals for
|
758
758
|
:param int [limit]: the maximum number of withdrawals structures to retrieve
|
759
759
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
760
760
|
:returns dict[]: a list of `transaction structures <https://docs.ccxt.com/#/?id=transaction-structure>`
|
761
761
|
"""
|
762
|
-
# fiat only, for crypto transactions use fetchLedger
|
763
762
|
return self.fetch_transactions_with_method('v2PrivateGetAccountsAccountIdWithdrawals', code, since, limit, params)
|
764
763
|
|
765
764
|
def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
766
765
|
"""
|
767
|
-
|
768
|
-
:see: https://docs.
|
766
|
+
Fetch all fiat deposits made to an account. Won't return crypto deposits or staking rewards. Use fetchLedger for those.
|
767
|
+
:see: https://docs.cdp.coinbase.com/coinbase-app/docs/api-deposits#list-deposits
|
769
768
|
:param str code: unified currency code
|
770
769
|
:param int [since]: the earliest time in ms to fetch deposits for
|
771
770
|
:param int [limit]: the maximum number of deposits structures to retrieve
|
772
771
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
773
772
|
:returns dict[]: a list of `transaction structures <https://docs.ccxt.com/#/?id=transaction-structure>`
|
774
773
|
"""
|
775
|
-
# fiat only, for crypto transactions use fetchLedger
|
776
774
|
return self.fetch_transactions_with_method('v2PrivateGetAccountsAccountIdDeposits', code, since, limit, params)
|
777
775
|
|
778
776
|
def parse_transaction_status(self, status: Str):
|
@@ -2172,8 +2170,8 @@ class coinbase(Exchange, ImplicitAPI):
|
|
2172
2170
|
|
2173
2171
|
def fetch_ledger(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[LedgerEntry]:
|
2174
2172
|
"""
|
2175
|
-
|
2176
|
-
:see: https://docs.
|
2173
|
+
Fetch the history of changes, i.e. actions done by the user or operations that altered the balance. Will return staking rewards, and crypto deposits or withdrawals.
|
2174
|
+
:see: https://docs.cdp.coinbase.com/coinbase-app/docs/api-transactions#list-transactions
|
2177
2175
|
:param str [code]: unified currency code, default is None
|
2178
2176
|
:param int [since]: timestamp in ms of the earliest ledger entry, default is None
|
2179
2177
|
:param int [limit]: max number of ledger entries to return, default is None
|
ccxt/kraken.py
CHANGED
@@ -249,6 +249,8 @@ class kraken(Exchange, ImplicitAPI):
|
|
249
249
|
'XDG': 'DOGE',
|
250
250
|
},
|
251
251
|
'options': {
|
252
|
+
'timeDifference': 0, # the difference between system clock and Binance clock
|
253
|
+
'adjustForTimeDifference': False, # controls the adjustment logic upon instantiation
|
252
254
|
'marketsByAltname': {},
|
253
255
|
'delistedMarketsById': {},
|
254
256
|
# cannot withdraw/deposit these
|
@@ -477,6 +479,8 @@ class kraken(Exchange, ImplicitAPI):
|
|
477
479
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
478
480
|
:returns dict[]: an array of objects representing market data
|
479
481
|
"""
|
482
|
+
if self.options['adjustForTimeDifference']:
|
483
|
+
self.load_time_difference()
|
480
484
|
response = self.publicGetAssetPairs(params)
|
481
485
|
#
|
482
486
|
# {
|
@@ -2941,7 +2945,7 @@ class kraken(Exchange, ImplicitAPI):
|
|
2941
2945
|
return {'url': url, 'method': method, 'body': body, 'headers': headers}
|
2942
2946
|
|
2943
2947
|
def nonce(self):
|
2944
|
-
return self.milliseconds()
|
2948
|
+
return self.milliseconds() - self.options['timeDifference']
|
2945
2949
|
|
2946
2950
|
def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
2947
2951
|
if code == 520:
|
ccxt/mexc.py
CHANGED
@@ -44,6 +44,9 @@ class mexc(Exchange, ImplicitAPI):
|
|
44
44
|
'future': False,
|
45
45
|
'option': False,
|
46
46
|
'addMargin': True,
|
47
|
+
'borrowCrossMargin': False,
|
48
|
+
'borrowIsolatedMargin': False,
|
49
|
+
'borrowMargin': False,
|
47
50
|
'cancelAllOrders': True,
|
48
51
|
'cancelOrder': True,
|
49
52
|
'cancelOrders': None,
|
@@ -57,12 +60,21 @@ class mexc(Exchange, ImplicitAPI):
|
|
57
60
|
'createOrders': True,
|
58
61
|
'createPostOnlyOrder': True,
|
59
62
|
'createReduceOnlyOrder': True,
|
63
|
+
'createStopLimitOrder': True,
|
64
|
+
'createStopMarketOrder': True,
|
65
|
+
'createStopOrder': True,
|
66
|
+
'createTriggerOrder': True,
|
60
67
|
'deposit': None,
|
61
68
|
'editOrder': None,
|
62
69
|
'fetchAccounts': True,
|
63
70
|
'fetchBalance': True,
|
64
71
|
'fetchBidsAsks': True,
|
65
|
-
'
|
72
|
+
'fetchBorrowInterest': False,
|
73
|
+
'fetchBorrowRate': False,
|
74
|
+
'fetchBorrowRateHistories': False,
|
75
|
+
'fetchBorrowRateHistory': False,
|
76
|
+
'fetchBorrowRates': False,
|
77
|
+
'fetchBorrowRatesPerSymbol': False,
|
66
78
|
'fetchCanceledOrders': True,
|
67
79
|
'fetchClosedOrder': None,
|
68
80
|
'fetchClosedOrders': True,
|
@@ -83,6 +95,7 @@ class mexc(Exchange, ImplicitAPI):
|
|
83
95
|
'fetchIndexOHLCV': True,
|
84
96
|
'fetchIsolatedBorrowRate': False,
|
85
97
|
'fetchIsolatedBorrowRates': False,
|
98
|
+
'fetchIsolatedPositions': False,
|
86
99
|
'fetchL2OrderBook': True,
|
87
100
|
'fetchLedger': None,
|
88
101
|
'fetchLedgerEntry': None,
|
@@ -91,11 +104,13 @@ class mexc(Exchange, ImplicitAPI):
|
|
91
104
|
'fetchLeverageTiers': True,
|
92
105
|
'fetchMarginAdjustmentHistory': False,
|
93
106
|
'fetchMarginMode': False,
|
94
|
-
'fetchMarketLeverageTiers':
|
107
|
+
'fetchMarketLeverageTiers': 'emulated',
|
95
108
|
'fetchMarkets': True,
|
96
109
|
'fetchMarkOHLCV': True,
|
97
110
|
'fetchMyTrades': True,
|
98
111
|
'fetchOHLCV': True,
|
112
|
+
'fetchOpenInterest': False,
|
113
|
+
'fetchOpenInterestHistory': False,
|
99
114
|
'fetchOpenOrder': None,
|
100
115
|
'fetchOpenOrders': True,
|
101
116
|
'fetchOrder': True,
|
@@ -413,6 +428,8 @@ class mexc(Exchange, ImplicitAPI):
|
|
413
428
|
},
|
414
429
|
},
|
415
430
|
'options': {
|
431
|
+
'adjustForTimeDifference': False,
|
432
|
+
'timeDifference': 0,
|
416
433
|
'createMarketBuyOrderRequiresPrice': True,
|
417
434
|
'unavailableContracts': {
|
418
435
|
'BTC/USDT:USDT': True,
|
@@ -467,6 +484,7 @@ class mexc(Exchange, ImplicitAPI):
|
|
467
484
|
'AVAXC': 'AVAX_CCHAIN',
|
468
485
|
'ERC20': 'ETH',
|
469
486
|
'ACA': 'ACALA',
|
487
|
+
'BEP20': 'BSC',
|
470
488
|
# 'ADA': 'Cardano(ADA)',
|
471
489
|
# 'AE': 'AE',
|
472
490
|
# 'ALGO': 'Algorand(ALGO)',
|
@@ -1007,6 +1025,8 @@ class mexc(Exchange, ImplicitAPI):
|
|
1007
1025
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
1008
1026
|
:returns dict[]: an array of objects representing market data
|
1009
1027
|
"""
|
1028
|
+
if self.options['adjustForTimeDifference']:
|
1029
|
+
self.load_time_difference()
|
1010
1030
|
spotMarketPromise = self.fetch_spot_markets(params)
|
1011
1031
|
swapMarketPromise = self.fetch_swap_markets(params)
|
1012
1032
|
spotMarket, swapMarket = [spotMarketPromise, swapMarketPromise]
|
@@ -4247,7 +4267,7 @@ class mexc(Exchange, ImplicitAPI):
|
|
4247
4267
|
# 'coin': currency['id'] + network example: USDT-TRX,
|
4248
4268
|
# 'status': 'status',
|
4249
4269
|
# 'startTime': since, # default 90 days
|
4250
|
-
# 'endTime': self.
|
4270
|
+
# 'endTime': self.nonce(),
|
4251
4271
|
# 'limit': limit, # default 1000, maximum 1000
|
4252
4272
|
}
|
4253
4273
|
currency = None
|
@@ -4300,7 +4320,7 @@ class mexc(Exchange, ImplicitAPI):
|
|
4300
4320
|
# 'coin': currency['id'],
|
4301
4321
|
# 'status': 'status',
|
4302
4322
|
# 'startTime': since, # default 90 days
|
4303
|
-
# 'endTime': self.
|
4323
|
+
# 'endTime': self.nonce(),
|
4304
4324
|
# 'limit': limit, # default 1000, maximum 1000
|
4305
4325
|
}
|
4306
4326
|
currency = None
|
@@ -5265,6 +5285,9 @@ class mexc(Exchange, ImplicitAPI):
|
|
5265
5285
|
positions = self.parse_positions(data, symbols, params)
|
5266
5286
|
return self.filter_by_since_limit(positions, since, limit)
|
5267
5287
|
|
5288
|
+
def nonce(self):
|
5289
|
+
return self.milliseconds() - self.safe_integer(self.options, 'timeDifference', 0)
|
5290
|
+
|
5268
5291
|
def sign(self, path, api='public', method='GET', params={}, headers=None, body=None):
|
5269
5292
|
section = self.safe_string(api, 0)
|
5270
5293
|
access = self.safe_string(api, 1)
|
@@ -5277,7 +5300,7 @@ class mexc(Exchange, ImplicitAPI):
|
|
5277
5300
|
url = self.urls['api'][section][access] + '/api/' + self.version + '/' + path
|
5278
5301
|
paramsEncoded = ''
|
5279
5302
|
if access == 'private':
|
5280
|
-
params['timestamp'] = self.
|
5303
|
+
params['timestamp'] = self.nonce()
|
5281
5304
|
params['recvWindow'] = self.safe_integer(self.options, 'recvWindow', 5000)
|
5282
5305
|
if params:
|
5283
5306
|
paramsEncoded = self.urlencode(params)
|
@@ -5300,7 +5323,7 @@ class mexc(Exchange, ImplicitAPI):
|
|
5300
5323
|
url += '?' + self.urlencode(params)
|
5301
5324
|
else:
|
5302
5325
|
self.check_required_credentials()
|
5303
|
-
timestamp = str(self.
|
5326
|
+
timestamp = str(self.nonce())
|
5304
5327
|
auth = ''
|
5305
5328
|
headers = {
|
5306
5329
|
'ApiKey': self.apiKey,
|
ccxt/pro/__init__.py
CHANGED
ccxt/pro/htx.py
CHANGED
@@ -143,6 +143,8 @@ class htx(ccxt.async_support.htx):
|
|
143
143
|
async def watch_ticker(self, symbol: str, params={}) -> Ticker:
|
144
144
|
"""
|
145
145
|
watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
146
|
+
:see: https://www.htx.com/en-us/opend/newApiPages/?id=7ec53561-7773-11ed-9966-0242ac110003
|
147
|
+
:see: https://www.htx.com/en-us/opend/newApiPages/?id=28c33ab2-77ae-11ed-9966-0242ac110003
|
146
148
|
:param str symbol: unified symbol of the market to fetch the ticker for
|
147
149
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
148
150
|
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
@@ -208,6 +210,9 @@ class htx(ccxt.async_support.htx):
|
|
208
210
|
async def watch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
209
211
|
"""
|
210
212
|
get the list of most recent trades for a particular symbol
|
213
|
+
:see: https://www.htx.com/en-us/opend/newApiPages/?id=7ec53b69-7773-11ed-9966-0242ac110003
|
214
|
+
:see: https://www.htx.com/en-us/opend/newApiPages/?id=28c33c21-77ae-11ed-9966-0242ac110003
|
215
|
+
:see: https://www.htx.com/en-us/opend/newApiPages/?id=28c33cfe-77ae-11ed-9966-0242ac110003
|
211
216
|
:param str symbol: unified symbol of the market to fetch trades for
|
212
217
|
:param int [since]: timestamp in ms of the earliest trade to fetch
|
213
218
|
:param int [limit]: the maximum amount of trades to fetch
|
@@ -266,6 +271,9 @@ class htx(ccxt.async_support.htx):
|
|
266
271
|
async def watch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
|
267
272
|
"""
|
268
273
|
watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
|
274
|
+
:see: https://www.htx.com/en-us/opend/newApiPages/?id=7ec53241-7773-11ed-9966-0242ac110003
|
275
|
+
:see: https://www.htx.com/en-us/opend/newApiPages/?id=28c3346a-77ae-11ed-9966-0242ac110003
|
276
|
+
:see: https://www.htx.com/en-us/opend/newApiPages/?id=28c33563-77ae-11ed-9966-0242ac110003
|
269
277
|
:param str symbol: unified symbol of the market to fetch OHLCV data for
|
270
278
|
:param str timeframe: the length of time each candle represents
|
271
279
|
:param int [since]: timestamp in ms of the earliest candle to fetch
|
@@ -642,6 +650,7 @@ class htx(ccxt.async_support.htx):
|
|
642
650
|
async def watch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
643
651
|
"""
|
644
652
|
watches information on multiple trades made by the user
|
653
|
+
:see: https://www.htx.com/en-us/opend/newApiPages/?id=7ec53dd5-7773-11ed-9966-0242ac110003
|
645
654
|
:param str symbol: unified market symbol of the market trades were made in
|
646
655
|
:param int [since]: the earliest time in ms to fetch trades for
|
647
656
|
:param int [limit]: the maximum number of trade structures to retrieve
|
@@ -728,6 +737,7 @@ class htx(ccxt.async_support.htx):
|
|
728
737
|
async def watch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
729
738
|
"""
|
730
739
|
watches information on multiple orders made by the user
|
740
|
+
:see: https://www.htx.com/en-us/opend/newApiPages/?id=7ec53c8f-7773-11ed-9966-0242ac110003
|
731
741
|
:param str symbol: unified market symbol of the market orders were made in
|
732
742
|
:param int [since]: the earliest time in ms to fetch orders for
|
733
743
|
:param int [limit]: the maximum number of order structures to retrieve
|
@@ -1269,6 +1279,10 @@ class htx(ccxt.async_support.htx):
|
|
1269
1279
|
async def watch_balance(self, params={}) -> Balances:
|
1270
1280
|
"""
|
1271
1281
|
watch balance and get the amount of funds available for trading or funds locked in orders
|
1282
|
+
:see: https://www.htx.com/en-us/opend/newApiPages/?id=7ec52e28-7773-11ed-9966-0242ac110003
|
1283
|
+
:see: https://www.htx.com/en-us/opend/newApiPages/?id=10000084-77b7-11ed-9966-0242ac110003
|
1284
|
+
:see: https://www.htx.com/en-us/opend/newApiPages/?id=8cb7dcca-77b5-11ed-9966-0242ac110003
|
1285
|
+
:see: https://www.htx.com/en-us/opend/newApiPages/?id=28c34995-77ae-11ed-9966-0242ac110003
|
1272
1286
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
1273
1287
|
:returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
|
1274
1288
|
"""
|
ccxt/pro/kraken.py
CHANGED
@@ -38,6 +38,7 @@ class kraken(ccxt.async_support.kraken):
|
|
38
38
|
'watchOrders': True,
|
39
39
|
'watchTicker': True,
|
40
40
|
'watchTickers': True,
|
41
|
+
'watchBidsAsks': True,
|
41
42
|
'watchTrades': True,
|
42
43
|
'watchTradesForSymbols': True,
|
43
44
|
'createOrderWs': True,
|
@@ -492,6 +493,61 @@ class kraken(ccxt.async_support.kraken):
|
|
492
493
|
return result
|
493
494
|
return self.filter_by_array(self.tickers, 'symbol', symbols)
|
494
495
|
|
496
|
+
async def watch_bids_asks(self, symbols: Strings = None, params={}) -> Tickers:
|
497
|
+
"""
|
498
|
+
:see: https://docs.kraken.com/api/docs/websocket-v1/spread
|
499
|
+
watches best bid & ask for symbols
|
500
|
+
:param str[] symbols: unified symbol of the market to fetch the ticker for
|
501
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
502
|
+
:returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
|
503
|
+
"""
|
504
|
+
await self.load_markets()
|
505
|
+
symbols = self.market_symbols(symbols, None, False)
|
506
|
+
ticker = await self.watch_multi_helper('bidask', 'spread', symbols, None, params)
|
507
|
+
if self.newUpdates:
|
508
|
+
result: dict = {}
|
509
|
+
result[ticker['symbol']] = ticker
|
510
|
+
return result
|
511
|
+
return self.filter_by_array(self.bidsasks, 'symbol', symbols)
|
512
|
+
|
513
|
+
def handle_bid_ask(self, client: Client, message, subscription):
|
514
|
+
#
|
515
|
+
# [
|
516
|
+
# 7208974, # channelID
|
517
|
+
# [
|
518
|
+
# "63758.60000", # bid
|
519
|
+
# "63759.10000", # ask
|
520
|
+
# "1726814731.089778", # timestamp
|
521
|
+
# "0.00057917", # bid_volume
|
522
|
+
# "0.15681688" # ask_volume
|
523
|
+
# ],
|
524
|
+
# "spread",
|
525
|
+
# "XBT/USDT"
|
526
|
+
# ]
|
527
|
+
#
|
528
|
+
parsedTicker = self.parse_ws_bid_ask(message)
|
529
|
+
symbol = parsedTicker['symbol']
|
530
|
+
self.bidsasks[symbol] = parsedTicker
|
531
|
+
messageHash = self.get_message_hash('bidask', None, symbol)
|
532
|
+
client.resolve(parsedTicker, messageHash)
|
533
|
+
|
534
|
+
def parse_ws_bid_ask(self, ticker, market=None):
|
535
|
+
data = self.safe_list(ticker, 1, [])
|
536
|
+
marketId = self.safe_string(ticker, 3)
|
537
|
+
market = self.safe_value(self.options['marketsByWsName'], marketId)
|
538
|
+
symbol = self.safe_string(market, 'symbol')
|
539
|
+
timestamp = self.parse_to_int(self.safe_integer(data, 2)) * 1000
|
540
|
+
return self.safe_ticker({
|
541
|
+
'symbol': symbol,
|
542
|
+
'timestamp': timestamp,
|
543
|
+
'datetime': self.iso8601(timestamp),
|
544
|
+
'ask': self.safe_string(data, 1),
|
545
|
+
'askVolume': self.safe_string(data, 4),
|
546
|
+
'bid': self.safe_string(data, 0),
|
547
|
+
'bidVolume': self.safe_string(data, 3),
|
548
|
+
'info': ticker,
|
549
|
+
}, market)
|
550
|
+
|
495
551
|
async def watch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
|
496
552
|
"""
|
497
553
|
get the list of most recent trades for a particular symbol
|
@@ -1400,6 +1456,7 @@ class kraken(ccxt.async_support.kraken):
|
|
1400
1456
|
'book': self.handle_order_book,
|
1401
1457
|
'ohlc': self.handle_ohlcv,
|
1402
1458
|
'ticker': self.handle_ticker,
|
1459
|
+
'spread': self.handle_bid_ask,
|
1403
1460
|
'trade': self.handle_trades,
|
1404
1461
|
# private
|
1405
1462
|
'openOrders': self.handle_orders,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ccxt
|
3
|
-
Version: 4.4.
|
3
|
+
Version: 4.4.6
|
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
|
@@ -272,13 +272,13 @@ console.log(version, Object.keys(exchanges));
|
|
272
272
|
|
273
273
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
274
274
|
|
275
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.
|
276
|
-
* unpkg: https://unpkg.com/ccxt@4.4.
|
275
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.6/dist/ccxt.browser.min.js
|
276
|
+
* unpkg: https://unpkg.com/ccxt@4.4.6/dist/ccxt.browser.min.js
|
277
277
|
|
278
278
|
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.
|
279
279
|
|
280
280
|
```HTML
|
281
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.
|
281
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.6/dist/ccxt.browser.min.js"></script>
|
282
282
|
```
|
283
283
|
|
284
284
|
Creates a global `ccxt` object:
|
@@ -1,4 +1,4 @@
|
|
1
|
-
ccxt/__init__.py,sha256=
|
1
|
+
ccxt/__init__.py,sha256=Oe1Z-6Ymtztkp5bdALNOJ1It_JoWqluENwT57b8ztmc,16485
|
2
2
|
ccxt/ace.py,sha256=3KFlbRm6N9hXsKUsgZbQCFPZT5WGLm4HOjR19Q3uPts,42419
|
3
3
|
ccxt/alpaca.py,sha256=nVQJ8vG4JrjEvMlu_nPoyR2lBq41j9Z2smPq95nDhng,47504
|
4
4
|
ccxt/ascendex.py,sha256=qYzddORwUgXBOuvuRi3AtaH2srPYr21MOT2THdrXyLE,151540
|
@@ -16,10 +16,10 @@ ccxt/bitbns.py,sha256=BxvljEPDCGPnaFGaWIIPF_xs079B2OnnbGWNfYlraHE,48269
|
|
16
16
|
ccxt/bitcoincom.py,sha256=PyWIl4nC4jp5Uba2lI1At0N_hhNyWD0DoZC_MSyL_s4,502
|
17
17
|
ccxt/bitfinex.py,sha256=w3t0YAwtOfCwLy5_w2wTq90qkTgUUyn0sqdO22zD-9U,73527
|
18
18
|
ccxt/bitfinex2.py,sha256=FJl_MGt3bSB-MAsAZJkCFfsLs2EGaMub0wZfnfBfgN0,161026
|
19
|
-
ccxt/bitflyer.py,sha256=
|
20
|
-
ccxt/bitget.py,sha256=
|
19
|
+
ccxt/bitflyer.py,sha256=nh1EDzO66S-Ps9xBy-U4CErt6Q06E77wbWF_aTRw6RI,41663
|
20
|
+
ccxt/bitget.py,sha256=rxh6suQ39z9QFVbjze0R1ikMlAhsNcn6tQ3sTNo807U,423974
|
21
21
|
ccxt/bithumb.py,sha256=8oTnFWi8Ai9fnm5FPXvNmaUAVJEOqYi-18VC23cWmXY,47935
|
22
|
-
ccxt/bitmart.py,sha256=
|
22
|
+
ccxt/bitmart.py,sha256=npxN8FavIGB_tJnIWpTQct7-zuxmN6L2xXhMUESmg9s,215852
|
23
23
|
ccxt/bitmex.py,sha256=nin86XryLDdB4b_tfedvQBikP6Hm606qyCG12GMquzM,127173
|
24
24
|
ccxt/bitopro.py,sha256=XV878befM45AOnlSRpMYTnaBol342JAYWbFshvJ9fvs,69358
|
25
25
|
ccxt/bitpanda.py,sha256=aiwPkx9lKbVzt4ggoYdq_mIbMGtg5ZtGl2yRHO5xyz8,471
|
@@ -35,9 +35,9 @@ ccxt/btcalpha.py,sha256=plU5SSsJn0ZMLW7I8sXb_L0Woc3-kamGMSlqPGujUzE,36751
|
|
35
35
|
ccxt/btcbox.py,sha256=lvY7cgoe4tglaQiTJZ4vILmzvoEjAWxgswRuB2iYzmE,27780
|
36
36
|
ccxt/btcmarkets.py,sha256=WDDbtbUQ9I0odVZp8nJdIjc4-zv4li49EDSt8EqQbRU,52733
|
37
37
|
ccxt/btcturk.py,sha256=jSA4UnD1GiJu24gXNkfb94f-zXifP5By_Ptery_cMnY,37024
|
38
|
-
ccxt/bybit.py,sha256=
|
38
|
+
ccxt/bybit.py,sha256=vN-mZzXijetwsp4SNxn4POJ6sv39oM74Yuqiv1DcK20,424009
|
39
39
|
ccxt/cex.py,sha256=WkzjeUi22kVFNU_f2PB7SwGiddOulKS6DDzmxdVDkXs,70120
|
40
|
-
ccxt/coinbase.py,sha256=
|
40
|
+
ccxt/coinbase.py,sha256=pHPkUkGRC9UzpGAl3-QEFUEHT2tts-NoSvbc7s3EMP8,218667
|
41
41
|
ccxt/coinbaseadvanced.py,sha256=d5g6nRx-NCcCwZDdtp8FsI2D-pRjSvnAP9ISSKY_nCQ,538
|
42
42
|
ccxt/coinbaseexchange.py,sha256=hSqkZw0y3EELtpsbJaMQXzc2nCbevVjHw6LDPcGH7_Y,79031
|
43
43
|
ccxt/coinbaseinternational.py,sha256=JHciYqg_ZcVXWAUBj_zlcaUKfSjOL6CQmoAtO8ZbtSE,97484
|
@@ -70,7 +70,7 @@ ccxt/hyperliquid.py,sha256=3rj8I7SLZYNwjvBlVaIGy1_lcmkaeTPZf22mNoFmxFw,122833
|
|
70
70
|
ccxt/idex.py,sha256=P2jNsxiwIlMgrfPKbtmjLJQrzFcWp_TjgJaLq793oco,73255
|
71
71
|
ccxt/independentreserve.py,sha256=k2T7rA1zcvlHC8QpmkKYO7ik44SayiElaSpW0EsTevA,37847
|
72
72
|
ccxt/indodax.py,sha256=o5YLVpQzm1LFWPAsvUOnvJxeBEWtaB_jQCvCOmXEw1Y,54758
|
73
|
-
ccxt/kraken.py,sha256=
|
73
|
+
ccxt/kraken.py,sha256=V0hJdd8tMQXY34WVFrLde64sUguFGl7nljPIH7-uItQ,133935
|
74
74
|
ccxt/krakenfutures.py,sha256=_-bbgzshifKnbyOB1pSs_bRfRepkRAdiDlsLDRiAw9w,119597
|
75
75
|
ccxt/kucoin.py,sha256=NK7oSNcJ3aXf-7w4ikyTGC-_VvfTzFTBOjYhKRGQaHw,229802
|
76
76
|
ccxt/kucoinfutures.py,sha256=KNh4biqkvaVzgQ2DGUTnNf5853iwF628jKWk3rdOcB4,125860
|
@@ -80,7 +80,7 @@ ccxt/lbank.py,sha256=Glx9CN_jdQMiUngJLYioxzwDfgFTdusdOfK53_Bg6A8,116045
|
|
80
80
|
ccxt/luno.py,sha256=P3cZ_CnVyjMjDFn5e7jaev-pqs_rgmWQTsiJThRtffE,46353
|
81
81
|
ccxt/lykke.py,sha256=gmjb8bQsPztMtoZsHxWGe_T2381HLb1ar1S667UZzIE,51411
|
82
82
|
ccxt/mercado.py,sha256=LWCh89IzXu-yhPGqhkdPW6wqOqfO8nmbSQhAyYiSH8U,35710
|
83
|
-
ccxt/mexc.py,sha256=
|
83
|
+
ccxt/mexc.py,sha256=M6O02E6DnLPmv38bk4DiigQ-BCIxBkdngNAiJO_CmFI,245383
|
84
84
|
ccxt/ndax.py,sha256=m9MhE8i8JmaSf7Lc-I_CcvUpQ5VNTRcfYZLrFEwk3UI,109097
|
85
85
|
ccxt/novadax.py,sha256=_xFkuZ72vHhpJb1N9h_MQHRD05GDWlqUeLQQcOp43BM,64436
|
86
86
|
ccxt/oceanex.py,sha256=DrsNIW-eXvaSHCB2l1valmiU9xMztxm1VNBJodMkWIY,38021
|
@@ -129,7 +129,7 @@ ccxt/abstract/bitfinex2.py,sha256=82sdkbjDb6D2JePGAa2yYwApDwdeF9Tvlo-hWB2ZUBs,19
|
|
129
129
|
ccxt/abstract/bitflyer.py,sha256=3ngG1GJJCNMzYMWoNXCEEgLxmTl7eRf7_JU4M0P2rqo,3576
|
130
130
|
ccxt/abstract/bitget.py,sha256=ELBdc4MCJ1eOLDQKFCXhGlogRO_RgYU2YDS87Flv-5k,90490
|
131
131
|
ccxt/abstract/bithumb.py,sha256=GR7QJ6CwTBne59SaGRVj9Rdz_zecG-8imRWX7oe6MoQ,3443
|
132
|
-
ccxt/abstract/bitmart.py,sha256=
|
132
|
+
ccxt/abstract/bitmart.py,sha256=uGrEpJPawj5Kqyktdh01jRtd5Ou_lCRgLbh7X6k4pho,15676
|
133
133
|
ccxt/abstract/bitmex.py,sha256=v15OP-vSO_eotD6KVf1BgKrbPxCPl2eXXYIuzWF1dl4,10774
|
134
134
|
ccxt/abstract/bitopro.py,sha256=KCWuN9bc4W2fWIbWL_OboHc5DtbCjXXLnd23gYl9r3s,3295
|
135
135
|
ccxt/abstract/bitpanda.py,sha256=TtJq4d44lrutV8wcK0lX4v0EfQ72ly6fxR-zB7-FSuI,3859
|
@@ -218,7 +218,7 @@ ccxt/abstract/xt.py,sha256=JkWvsic3L2O968BCr9H5Wd5NIbRE9aTT2A-9WbAtl0c,27146
|
|
218
218
|
ccxt/abstract/yobit.py,sha256=8ycfCO8ORFly9hc0Aa47sZyX4_ZKPXS9h9yJzI-uQ7Q,1339
|
219
219
|
ccxt/abstract/zaif.py,sha256=m15WHdl3gYy0GOXNZ8NEH8eE7sVh8c0T_ITNuU8vXeU,3935
|
220
220
|
ccxt/abstract/zonda.py,sha256=X-hCW0SdX3YKZWixDyW-O2211M58Rno8kKJ6quY7rw4,7183
|
221
|
-
ccxt/async_support/__init__.py,sha256=
|
221
|
+
ccxt/async_support/__init__.py,sha256=ZZkZg0neTkWqAzp16sgN4GgRdhjHz085xm11P_KJuK0,16288
|
222
222
|
ccxt/async_support/ace.py,sha256=ucCkKaWRkILAIK9g4iEi1Q_-zmn0V89-rX8Al4WdK8s,42643
|
223
223
|
ccxt/async_support/alpaca.py,sha256=HxonsP_MzbE7Z9r6hZ1rgmf_jPcP4H7H3z1YQgCv4qc,47716
|
224
224
|
ccxt/async_support/ascendex.py,sha256=Yj4_0UHGd-cYY8s3vqu_zEwa6BLmqPYy6ztKapkuEaw,152353
|
@@ -236,10 +236,10 @@ ccxt/async_support/bitbns.py,sha256=-z6MBwHpn0FXwfKffbOXSdZD2ZYEepMz1VU2ii84xN0,
|
|
236
236
|
ccxt/async_support/bitcoincom.py,sha256=RiqwhK3RfxQ_PXTa860fphDCvwA8dalL-_rXlK85-8A,516
|
237
237
|
ccxt/async_support/bitfinex.py,sha256=pzyfQzUSxFYd6Ted0hNLgL545S8rFCrsoJc9Odk3zoo,73993
|
238
238
|
ccxt/async_support/bitfinex2.py,sha256=NWo6uDEbN7uYUILeMaVSPVXhBoLnza9wxXjTXrlc4RM,161780
|
239
|
-
ccxt/async_support/bitflyer.py,sha256=
|
240
|
-
ccxt/async_support/bitget.py,sha256=
|
239
|
+
ccxt/async_support/bitflyer.py,sha256=DTyHe4QBOED0xUEYoDfpGFL0sULp_3CxTXCWfDPbGbE,41971
|
240
|
+
ccxt/async_support/bitget.py,sha256=zX93hBSBtXmEEe_wbzx3t5PfHvSajnTEJIKGH9ihE3E,425586
|
241
241
|
ccxt/async_support/bithumb.py,sha256=Q0Cx_cRKZRfdpBAhQyINm63Qw3M6BRYQRiF0UqYzfis,48214
|
242
|
-
ccxt/async_support/bitmart.py,sha256=
|
242
|
+
ccxt/async_support/bitmart.py,sha256=lN-PdGyElLC9U2n0QTu82GPOu5JQBi1ZWpHRGqat5ew,216814
|
243
243
|
ccxt/async_support/bitmex.py,sha256=ic-p8b1grOmWLlwYbOYsLxisveWxDJWXYZei45wD6Ik,127751
|
244
244
|
ccxt/async_support/bitopro.py,sha256=uWrH_HdRkf0UCs-N_JE1hCN6eWYWwXpc8VXMb0niM78,69762
|
245
245
|
ccxt/async_support/bitpanda.py,sha256=2k3URBWrpnh2xHa7JiYenI7_4MW5UeOPGzetlmRkR4U,485
|
@@ -255,9 +255,9 @@ ccxt/async_support/btcalpha.py,sha256=8OefA3GsJ27eAL44yQQcRNOruHXAwTemjTPkpLKwjE
|
|
255
255
|
ccxt/async_support/btcbox.py,sha256=rBXxuvdQaku5QYseQ4XSvMrCkohDefYmf-rGeS9W0IU,28004
|
256
256
|
ccxt/async_support/btcmarkets.py,sha256=fTf_MDIM7NMwpbv6X5lYPLNg8tFKcviNiUB7N3yO6FI,53083
|
257
257
|
ccxt/async_support/btcturk.py,sha256=Uq9rXMoDkXIy0nw1rzmw2e8eeRepcNtXKNYuw-02tkM,37242
|
258
|
-
ccxt/async_support/bybit.py,sha256=
|
258
|
+
ccxt/async_support/bybit.py,sha256=2C1UpQhJ6fi8DEAv43kYEALMccpO_tDLP7NMQne4kFE,425920
|
259
259
|
ccxt/async_support/cex.py,sha256=DPQ4-rrO4Ut3zHax7wOnk47rfF5zVh4AgheFQ05pWDs,70470
|
260
|
-
ccxt/async_support/coinbase.py,sha256=
|
260
|
+
ccxt/async_support/coinbase.py,sha256=SK8RaT5LFn-y9EVKaa8vKacMA5IWxuJzQ6anBKHPpIQ,219821
|
261
261
|
ccxt/async_support/coinbaseadvanced.py,sha256=Kupwnuxiu_qTjwCNV2asacoDUNFQvcaHNAznUJPhdQs,552
|
262
262
|
ccxt/async_support/coinbaseexchange.py,sha256=u4s7rt6wavGgwzvfGtKkVeiBphq0hCG8VODQCb9Phi0,79537
|
263
263
|
ccxt/async_support/coinbaseinternational.py,sha256=o7Fhezgb75wSyxzyH0hHYzRaNnQvkZtpylXdYYgRedo,98098
|
@@ -290,7 +290,7 @@ ccxt/async_support/hyperliquid.py,sha256=U_l3fAmAZzE9UBUIkODXlmaUVTlRh9ft3IDYuxN
|
|
290
290
|
ccxt/async_support/idex.py,sha256=UcAvdMc2CP_6E8lET4rmQiIP-RaUfZHSo6pQeA17v-g,73731
|
291
291
|
ccxt/async_support/independentreserve.py,sha256=-W-SMPkJwY9FMN5I6l5eL8cPwC0_UuqmfU5yMmyJoiw,38145
|
292
292
|
ccxt/async_support/indodax.py,sha256=-dcr5VdpSkcLgy2KUlumm0NhGs4_mNstysIlunhF2-4,55066
|
293
|
-
ccxt/async_support/kraken.py,sha256=
|
293
|
+
ccxt/async_support/kraken.py,sha256=yM19n9gMYaWdyOTb6a-BKO1KXqOEE0GD_XwYcGE9Oi0,134591
|
294
294
|
ccxt/async_support/krakenfutures.py,sha256=stPhBne9pFVlgFkw4mwqtaaI6NTZCAcmOIFVlQSbl8I,120085
|
295
295
|
ccxt/async_support/kucoin.py,sha256=Vj0pf1ig5BDM_L02WF-71LhfyIf_7hMzHZtRaI3qn_I,230945
|
296
296
|
ccxt/async_support/kucoinfutures.py,sha256=a2oRhfH61LsSnhSlhwSJM7yRUUsegkmQenOa_nPwHuA,126516
|
@@ -300,7 +300,7 @@ ccxt/async_support/lbank.py,sha256=MeqPjECSmsplCtatu7Ns6sHRwzAGP_6S5MwB2BomnXk,1
|
|
300
300
|
ccxt/async_support/luno.py,sha256=WRQ5uH3Wr1HHZa9ZtcWCYdrmz-Y8proS5XOGZpBtiZo,46691
|
301
301
|
ccxt/async_support/lykke.py,sha256=JW9HaTjFCQJzk1tbczjMGKie0BkKdZF2Kmm2Hg69qQE,51725
|
302
302
|
ccxt/async_support/mercado.py,sha256=mb7ULqvEr9PQ7jBOpQxiufgYzwTeAfr0G2NZmrUeUgs,35952
|
303
|
-
ccxt/async_support/mexc.py,sha256=
|
303
|
+
ccxt/async_support/mexc.py,sha256=fpjUDfDrkqFqnIf-fl9sgDbiO4PrAG4YEySoKZHiE4M,246593
|
304
304
|
ccxt/async_support/ndax.py,sha256=IX7cFNjCELJIImof_jVsNzihXjCOmMyqRnlFHnzOq_w,109621
|
305
305
|
ccxt/async_support/novadax.py,sha256=YNKUM1CGFK7lpBwbxSSL1IAEJCRVsNxeITkwtw6VWCM,64804
|
306
306
|
ccxt/async_support/oceanex.py,sha256=85IHjCWsBZZXntKHPeuUpFYP9FV0Ik93gJsTlrGzhVA,38341
|
@@ -330,7 +330,7 @@ ccxt/async_support/yobit.py,sha256=GQhvYrsGHQrVdTrNHQxx9isEGqUABexlllzao9HL3f8,5
|
|
330
330
|
ccxt/async_support/zaif.py,sha256=-ZTr8M2JaIRCL90VrbCDXBMAsZwbiwsFChSQ2rWODuQ,29044
|
331
331
|
ccxt/async_support/zonda.py,sha256=njWK4t42n7BowCvc3j5WKwCxEDc2Y8vi0d-yp296-q0,81883
|
332
332
|
ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
|
333
|
-
ccxt/async_support/base/exchange.py,sha256=
|
333
|
+
ccxt/async_support/base/exchange.py,sha256=Ar9pC-n48a1Zw2xVdeoGKbCSiK0KI2tsf9lsb2B0xLM,111254
|
334
334
|
ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
|
335
335
|
ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
|
336
336
|
ccxt/async_support/base/ws/aiohttp_client.py,sha256=5IEiT0elWI9a7Vr-KV0jgmlbpLJWBzIlrLaCkTKGaqY,5752
|
@@ -344,10 +344,10 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=GhnGUt78pJ-AYL_Dq9produGjmB
|
|
344
344
|
ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
|
345
345
|
ccxt/base/decimal_to_precision.py,sha256=fgWRBzRTtsf3r2INyS4f7WHlzgjB5YM1ekiwqD21aac,6634
|
346
346
|
ccxt/base/errors.py,sha256=Pad-6ugvGUwhoYuKUliX-N7FTrcnKCQGFjsaq2tMn0I,4610
|
347
|
-
ccxt/base/exchange.py,sha256=
|
347
|
+
ccxt/base/exchange.py,sha256=tT6gkxmjkNLbyJwG7AeYQEvzZroG7iLxh3b7p_QKeIA,298397
|
348
348
|
ccxt/base/precise.py,sha256=koce64Yrp6vFbGijJtUt-QQ6XhJgeGTCksZ871FPp_A,8886
|
349
349
|
ccxt/base/types.py,sha256=Xw9wcYNDRmtUghkU2VIT496S868mRoUjxyuCM7TCAK4,9616
|
350
|
-
ccxt/pro/__init__.py,sha256=
|
350
|
+
ccxt/pro/__init__.py,sha256=JC3zj8WJp1p1EBDfwdA0vSvXyC0ovetYQc1mPuHexdg,7709
|
351
351
|
ccxt/pro/alpaca.py,sha256=xh1yg1Ok-Zh_Mfx-MBjNrfJDs6MUU0exFfEj3GuQPC4,27631
|
352
352
|
ccxt/pro/ascendex.py,sha256=QueLgISoIxgGSOta2W7En4pwAsEXbTP5q5ef4UjpTQQ,37524
|
353
353
|
ccxt/pro/bequant.py,sha256=33OEUWBi4D9-2w8CmkwN3aF1qS-AlLqX3pxrWwNbXPY,1552
|
@@ -388,13 +388,13 @@ ccxt/pro/gemini.py,sha256=8B8dbYPbKbZb3lzhlt8-x0oybQxOHr8Q4R_f5edLwbU,36899
|
|
388
388
|
ccxt/pro/hashkey.py,sha256=F-NAOAeNSEjHyuZnvGiIYHQow5RAKcwgyb23cGwOiJs,34065
|
389
389
|
ccxt/pro/hitbtc.py,sha256=i-6bu6fNu5O19lXxgpbdP8C3DgUzpepfrBDmcOZrqOg,56937
|
390
390
|
ccxt/pro/hollaex.py,sha256=la302Z6BMjcqZQhTaj4PQXSfhgFH6m7o3u7Ts5JkHbY,22045
|
391
|
-
ccxt/pro/htx.py,sha256=
|
391
|
+
ccxt/pro/htx.py,sha256=bFAhcmdCiuYhaZJqqzJ3fIH0eM6YL8BwlLqYnA2wVi4,97715
|
392
392
|
ccxt/pro/huobi.py,sha256=rKZVgYqEr-MmZzTqAk4FoJt8qWFjCi_FY0ci_mWZrL0,385
|
393
393
|
ccxt/pro/huobijp.py,sha256=urnktXqCIJTccup0oQJPJsM32XR09dDP6qGP1kvBtfg,23318
|
394
394
|
ccxt/pro/hyperliquid.py,sha256=IB-fVwHfbqoGev1OqEkDT6Y6cMSFi--_k6EJ_E3bJxU,42300
|
395
395
|
ccxt/pro/idex.py,sha256=WAY58yMHFUPoqZUGFvzxqcKizvMuFXqdZ6BD0WgstQA,28361
|
396
396
|
ccxt/pro/independentreserve.py,sha256=JWMjJ0FUs4LhybAZ4rjHMQIWeOu5Njaj8aVimA7kf30,11356
|
397
|
-
ccxt/pro/kraken.py,sha256=
|
397
|
+
ccxt/pro/kraken.py,sha256=alloCzXC0EvYoAWLf0osOAcDOHAYA1uRM2f5k-wap9k,66576
|
398
398
|
ccxt/pro/krakenfutures.py,sha256=Y9vqrxNbr7OJ0BIMZqrVtMedUzk7XtOZuF_OGQ2tUJc,64033
|
399
399
|
ccxt/pro/kucoin.py,sha256=pxU42TftiKQaggpViEZ-rWfdI7GgqV43rHIxMgwluhE,61038
|
400
400
|
ccxt/pro/kucoinfutures.py,sha256=DU5vLB0Oufffcn1Rv-aYqpV9Mx7gGlRdi7YC9hNO8sw,56277
|
@@ -650,8 +650,8 @@ ccxt/test/tests_async.py,sha256=Hfdxrjw3nP7lGyjYs35ZgTBM7pF6UIJrkZWz-ycceRw,8457
|
|
650
650
|
ccxt/test/tests_helpers.py,sha256=xhOILoZ_x3RSfQjtKt6AQlkp9DkOtpTQe8GAUUZoM6s,10069
|
651
651
|
ccxt/test/tests_init.py,sha256=eVwwUHujX9t4rjgo4TqEeg7DDhR1Hb_e2SJN8NVGyl0,998
|
652
652
|
ccxt/test/tests_sync.py,sha256=tQNiZZi3ulprLY513aSadwieBCuNyzyRLE8nSTZIUvw,83641
|
653
|
-
ccxt-4.4.
|
654
|
-
ccxt-4.4.
|
655
|
-
ccxt-4.4.
|
656
|
-
ccxt-4.4.
|
657
|
-
ccxt-4.4.
|
653
|
+
ccxt-4.4.6.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
|
654
|
+
ccxt-4.4.6.dist-info/METADATA,sha256=R9zyfp8FnNMPTiIj9QCc6L_yWLkC6rzU5CGBV6ZbJxM,118611
|
655
|
+
ccxt-4.4.6.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
|
656
|
+
ccxt-4.4.6.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
|
657
|
+
ccxt-4.4.6.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|