kucoin-api 0.0.78__py3-none-any.whl → 0.0.80__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.
- kucoin/ccxt/__init__.py +1 -1
- kucoin/ccxt/async_support/__init__.py +1 -1
- kucoin/ccxt/async_support/base/exchange.py +9 -4
- kucoin/ccxt/async_support/base/ws/future.py +5 -3
- kucoin/ccxt/async_support/kucoin.py +3 -2
- kucoin/ccxt/base/decimal_to_precision.py +16 -10
- kucoin/ccxt/base/errors.py +6 -0
- kucoin/ccxt/base/exchange.py +60 -17
- kucoin/ccxt/kucoin.py +3 -2
- kucoin/ccxt/pro/__init__.py +1 -1
- {kucoin_api-0.0.78.dist-info → kucoin_api-0.0.80.dist-info}/METADATA +1 -1
- {kucoin_api-0.0.78.dist-info → kucoin_api-0.0.80.dist-info}/RECORD +13 -13
- {kucoin_api-0.0.78.dist-info → kucoin_api-0.0.80.dist-info}/WHEEL +0 -0
kucoin/ccxt/__init__.py
CHANGED
@@ -26,7 +26,7 @@ sys.modules['ccxt'] = ccxt_module
|
|
26
26
|
|
27
27
|
# ----------------------------------------------------------------------------
|
28
28
|
|
29
|
-
__version__ = '4.4.
|
29
|
+
__version__ = '4.4.96'
|
30
30
|
|
31
31
|
# ----------------------------------------------------------------------------
|
32
32
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# -----------------------------------------------------------------------------
|
4
4
|
|
5
|
-
__version__ = '4.4.
|
5
|
+
__version__ = '4.4.96'
|
6
6
|
|
7
7
|
# -----------------------------------------------------------------------------
|
8
8
|
|
@@ -231,6 +231,8 @@ class Exchange(BaseExchange):
|
|
231
231
|
self.last_json_response = json_response
|
232
232
|
if self.verbose:
|
233
233
|
self.log("\nfetch Response:", self.id, method, url, http_status_code, "ResponseHeaders:", headers, "ResponseBody:", http_response)
|
234
|
+
if json_response and not isinstance(json_response, list) and self.returnResponseHeaders:
|
235
|
+
json_response['responseHeaders'] = headers
|
234
236
|
self.logger.debug("%s %s, Response: %s %s %s", method, url, http_status_code, headers, http_response)
|
235
237
|
|
236
238
|
except socket.gaierror as e:
|
@@ -668,6 +670,9 @@ class Exchange(BaseExchange):
|
|
668
670
|
async def un_watch_order_book_for_symbols(self, symbols: List[str], params={}):
|
669
671
|
raise NotSupported(self.id + ' unWatchOrderBookForSymbols() is not supported yet')
|
670
672
|
|
673
|
+
async def un_watch_positions(self, symbols: Strings = None, params={}):
|
674
|
+
raise NotSupported(self.id + ' unWatchPositions() is not supported yet')
|
675
|
+
|
671
676
|
async def fetch_deposit_addresses(self, codes: Strings = None, params={}):
|
672
677
|
raise NotSupported(self.id + ' fetchDepositAddresses() is not supported yet')
|
673
678
|
|
@@ -1596,10 +1601,10 @@ class Exchange(BaseExchange):
|
|
1596
1601
|
"""
|
1597
1602
|
raise NotSupported(self.id + ' fetchDepositsWithdrawals() is not supported yet')
|
1598
1603
|
|
1599
|
-
async def fetch_deposits(self,
|
1604
|
+
async def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
1600
1605
|
raise NotSupported(self.id + ' fetchDeposits() is not supported yet')
|
1601
1606
|
|
1602
|
-
async def fetch_withdrawals(self,
|
1607
|
+
async def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
1603
1608
|
raise NotSupported(self.id + ' fetchWithdrawals() is not supported yet')
|
1604
1609
|
|
1605
1610
|
async def fetch_deposits_ws(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
@@ -1892,7 +1897,7 @@ class Exchange(BaseExchange):
|
|
1892
1897
|
calls = 0
|
1893
1898
|
result = []
|
1894
1899
|
errors = 0
|
1895
|
-
until = self.
|
1900
|
+
until = self.safe_integer_n(params, ['until', 'untill', 'till']) # do not omit it from params here
|
1896
1901
|
maxEntriesPerRequest, params = self.handle_max_entries_per_request_and_params(method, maxEntriesPerRequest, params)
|
1897
1902
|
if (paginationDirection == 'forward'):
|
1898
1903
|
if since is None:
|
@@ -1,6 +1,8 @@
|
|
1
1
|
import asyncio
|
2
2
|
|
3
|
-
|
3
|
+
# Test by running:
|
4
|
+
# - python python/ccxt/pro/test/base/test_close.py
|
5
|
+
# - python python/ccxt/pro/test/base/test_future.py
|
4
6
|
class Future(asyncio.Future):
|
5
7
|
|
6
8
|
def resolve(self, result=None):
|
@@ -30,14 +32,14 @@ class Future(asyncio.Future):
|
|
30
32
|
if err:
|
31
33
|
exceptions.append(err)
|
32
34
|
# if any exceptions return with first exception
|
35
|
+
if future.cancelled():
|
36
|
+
return
|
33
37
|
if len(exceptions) > 0:
|
34
38
|
future.set_exception(exceptions[0])
|
35
39
|
# else return first result
|
36
40
|
elif cancelled:
|
37
41
|
future.cancel()
|
38
42
|
else:
|
39
|
-
if future.cancelled():
|
40
|
-
return
|
41
43
|
first_result = list(complete)[0].result()
|
42
44
|
future.set_result(first_result)
|
43
45
|
task.add_done_callback(callback)
|
@@ -812,7 +812,7 @@ class kucoin(Exchange, ImplicitAPI):
|
|
812
812
|
'TLOS': 'tlos', # tlosevm is different
|
813
813
|
'CFX': 'cfx',
|
814
814
|
'ACA': 'aca',
|
815
|
-
'
|
815
|
+
'OPTIMISM': 'optimism',
|
816
816
|
'ONT': 'ont',
|
817
817
|
'GLMR': 'glmr',
|
818
818
|
'CSPR': 'cspr',
|
@@ -932,6 +932,7 @@ class kucoin(Exchange, ImplicitAPI):
|
|
932
932
|
'CS': 'cs',
|
933
933
|
'ORAI': 'orai',
|
934
934
|
'BASE': 'base',
|
935
|
+
'TARA': 'tara',
|
935
936
|
# below will be uncommented after consensus
|
936
937
|
# 'BITCOINDIAMON': 'bcd',
|
937
938
|
# 'BITCOINGOLD': 'btg',
|
@@ -2647,7 +2648,7 @@ class kucoin(Exchange, ImplicitAPI):
|
|
2647
2648
|
response = await self.privateDeleteHfOrders(self.extend(request, query))
|
2648
2649
|
else:
|
2649
2650
|
response = await self.privateDeleteOrders(self.extend(request, query))
|
2650
|
-
return response
|
2651
|
+
return [self.safe_order({'info': response})]
|
2651
2652
|
|
2652
2653
|
async def fetch_orders_by_status(self, status, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
2653
2654
|
"""
|
@@ -33,18 +33,24 @@ NO_PADDING = 5
|
|
33
33
|
PAD_WITH_ZERO = 6
|
34
34
|
|
35
35
|
|
36
|
-
def decimal_to_precision(n, rounding_mode=ROUND,
|
37
|
-
assert
|
36
|
+
def decimal_to_precision(n, rounding_mode=ROUND, numPrecisionDigits=None, counting_mode=DECIMAL_PLACES, padding_mode=NO_PADDING):
|
37
|
+
assert numPrecisionDigits is not None, 'numPrecisionDigits should not be None'
|
38
|
+
|
39
|
+
if isinstance(numPrecisionDigits, str):
|
40
|
+
numPrecisionDigits = float(numPrecisionDigits)
|
41
|
+
assert isinstance(numPrecisionDigits, float) or isinstance(numPrecisionDigits, decimal.Decimal) or isinstance(numPrecisionDigits, numbers.Integral), 'numPrecisionDigits has an invalid number'
|
42
|
+
|
38
43
|
if counting_mode == TICK_SIZE:
|
39
|
-
assert
|
44
|
+
assert numPrecisionDigits > 0, 'negative or zero numPrecisionDigits can not be used with TICK_SIZE precisionMode'
|
40
45
|
else:
|
41
|
-
assert
|
46
|
+
assert isinstance(numPrecisionDigits, numbers.Integral)
|
47
|
+
|
42
48
|
assert rounding_mode in [TRUNCATE, ROUND]
|
43
49
|
assert counting_mode in [DECIMAL_PLACES, SIGNIFICANT_DIGITS, TICK_SIZE]
|
44
50
|
assert padding_mode in [NO_PADDING, PAD_WITH_ZERO]
|
51
|
+
# end of checks
|
45
52
|
|
46
|
-
|
47
|
-
precision = float(precision)
|
53
|
+
precision = numPrecisionDigits # "precision" variable name was in signature, but to make function signature similar to php/js, I had to change the argument name to "numPrecisionDigits". however, the below codes use "precision" variable name, so we have to assign that name here (you can change the usage of 'precision' variable name below everywhere, but i've refrained to do that to avoid many changes)
|
48
54
|
|
49
55
|
context = decimal.getcontext()
|
50
56
|
|
@@ -78,12 +84,12 @@ def decimal_to_precision(n, rounding_mode=ROUND, precision=None, counting_mode=D
|
|
78
84
|
if missing != 0:
|
79
85
|
if rounding_mode == ROUND:
|
80
86
|
if dec > 0:
|
81
|
-
if missing >=
|
87
|
+
if missing >= precision_dec / 2:
|
82
88
|
dec = dec - missing + precision_dec
|
83
89
|
else:
|
84
90
|
dec = dec - missing
|
85
91
|
else:
|
86
|
-
if missing >=
|
92
|
+
if missing >= precision_dec / 2:
|
87
93
|
dec = dec + missing - precision_dec
|
88
94
|
else:
|
89
95
|
dec = dec + missing
|
@@ -117,7 +123,7 @@ def decimal_to_precision(n, rounding_mode=ROUND, precision=None, counting_mode=D
|
|
117
123
|
precise = '{:f}'.format(min((below, above), key=lambda x: abs(x - dec)))
|
118
124
|
else:
|
119
125
|
precise = '{:f}'.format(dec.quantize(sigfig))
|
120
|
-
if precise
|
126
|
+
if precise.startswith('-0') and all(c in '0.' for c in precise[1:]):
|
121
127
|
precise = precise[1:]
|
122
128
|
|
123
129
|
elif rounding_mode == TRUNCATE:
|
@@ -138,7 +144,7 @@ def decimal_to_precision(n, rounding_mode=ROUND, precision=None, counting_mode=D
|
|
138
144
|
precise = string
|
139
145
|
else:
|
140
146
|
precise = string[:end].ljust(dot, '0')
|
141
|
-
if precise
|
147
|
+
if precise.startswith('-0') and all(c in '0.' for c in precise[1:]):
|
142
148
|
precise = precise[1:]
|
143
149
|
precise = precise.rstrip('.')
|
144
150
|
|
kucoin/ccxt/base/errors.py
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
# ----------------------------------------------------------------------------
|
2
|
+
|
3
|
+
# PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
4
|
+
# https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
5
|
+
# EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
6
|
+
|
1
7
|
error_hierarchy = {
|
2
8
|
'BaseError': {
|
3
9
|
'ExchangeError': {
|
kucoin/ccxt/base/exchange.py
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '4.4.
|
7
|
+
__version__ = '4.4.96'
|
8
8
|
|
9
9
|
# -----------------------------------------------------------------------------
|
10
10
|
|
@@ -229,6 +229,7 @@ class Exchange(object):
|
|
229
229
|
'chrome100': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36',
|
230
230
|
}
|
231
231
|
headers = None
|
232
|
+
returnResponseHeaders = False
|
232
233
|
origin = '*' # CORS origin
|
233
234
|
MAX_VALUE = float('inf')
|
234
235
|
#
|
@@ -579,6 +580,8 @@ class Exchange(object):
|
|
579
580
|
if self.verbose:
|
580
581
|
self.log("\nfetch Response:", self.id, method, url, http_status_code, "ResponseHeaders:", headers, "ResponseBody:", http_response)
|
581
582
|
self.logger.debug("%s %s, Response: %s %s %s", method, url, http_status_code, headers, http_response)
|
583
|
+
if json_response and not isinstance(json_response, list) and self.returnResponseHeaders:
|
584
|
+
json_response['responseHeaders'] = headers
|
582
585
|
response.raise_for_status()
|
583
586
|
|
584
587
|
except Timeout as e:
|
@@ -2130,6 +2133,17 @@ class Exchange(object):
|
|
2130
2133
|
'watchLiquidations': None,
|
2131
2134
|
'watchLiquidationsForSymbols': None,
|
2132
2135
|
'watchMyLiquidations': None,
|
2136
|
+
'unWatchOrders': None,
|
2137
|
+
'unWatchTrades': None,
|
2138
|
+
'unWatchTradesForSymbols': None,
|
2139
|
+
'unWatchOHLCVForSymbols': None,
|
2140
|
+
'unWatchOrderBookForSymbols': None,
|
2141
|
+
'unWatchPositions': None,
|
2142
|
+
'unWatchOrderBook': None,
|
2143
|
+
'unWatchTickers': None,
|
2144
|
+
'unWatchMyTrades': None,
|
2145
|
+
'unWatchTicker': None,
|
2146
|
+
'unWatchOHLCV': None,
|
2133
2147
|
'watchMyLiquidationsForSymbols': None,
|
2134
2148
|
'withdraw': None,
|
2135
2149
|
'ws': None,
|
@@ -2616,6 +2630,9 @@ class Exchange(object):
|
|
2616
2630
|
def un_watch_order_book_for_symbols(self, symbols: List[str], params={}):
|
2617
2631
|
raise NotSupported(self.id + ' unWatchOrderBookForSymbols() is not supported yet')
|
2618
2632
|
|
2633
|
+
def un_watch_positions(self, symbols: Strings = None, params={}):
|
2634
|
+
raise NotSupported(self.id + ' unWatchPositions() is not supported yet')
|
2635
|
+
|
2619
2636
|
def fetch_deposit_addresses(self, codes: Strings = None, params={}):
|
2620
2637
|
raise NotSupported(self.id + ' fetchDepositAddresses() is not supported yet')
|
2621
2638
|
|
@@ -3584,18 +3601,7 @@ class Exchange(object):
|
|
3584
3601
|
symbol = market['symbol'] if (market is not None) else None
|
3585
3602
|
return self.filter_by_symbol_since_limit(results, symbol, since, limit)
|
3586
3603
|
|
3587
|
-
def
|
3588
|
-
"""
|
3589
|
-
calculates the presumptive fee that would be charged for an order
|
3590
|
-
:param str symbol: unified market symbol
|
3591
|
-
:param str type: 'market' or 'limit'
|
3592
|
-
:param str side: 'buy' or 'sell'
|
3593
|
-
:param float amount: how much you want to trade, in units of the base currency on most exchanges, or number of contracts
|
3594
|
-
:param float price: the price for the order to be filled at, in units of the quote currency
|
3595
|
-
:param str takerOrMaker: 'taker' or 'maker'
|
3596
|
-
:param dict params:
|
3597
|
-
:returns dict: contains the rate, the percentage multiplied to the order amount to obtain the fee amount, and cost, the total value of the fee in units of the quote currency, for the order
|
3598
|
-
"""
|
3604
|
+
def calculate_fee_with_rate(self, symbol: str, type: str, side: str, amount: float, price: float, takerOrMaker='taker', feeRate: Num = None, params={}):
|
3599
3605
|
if type == 'market' and takerOrMaker == 'maker':
|
3600
3606
|
raise ArgumentsRequired(self.id + ' calculateFee() - you have provided incompatible arguments - "market" type order can not be "maker". Change either the "type" or the "takerOrMaker" argument to calculate the fee.')
|
3601
3607
|
market = self.markets[symbol]
|
@@ -3624,7 +3630,7 @@ class Exchange(object):
|
|
3624
3630
|
# even if `takerOrMaker` argument was set to 'maker', for 'market' orders we should forcefully override it to 'taker'
|
3625
3631
|
if type == 'market':
|
3626
3632
|
takerOrMaker = 'taker'
|
3627
|
-
rate = self.safe_string(market, takerOrMaker)
|
3633
|
+
rate = self.number_to_string(feeRate) if (feeRate is not None) else self.safe_string(market, takerOrMaker)
|
3628
3634
|
cost = Precise.string_mul(cost, rate)
|
3629
3635
|
return {
|
3630
3636
|
'type': takerOrMaker,
|
@@ -3633,6 +3639,20 @@ class Exchange(object):
|
|
3633
3639
|
'cost': self.parse_number(cost),
|
3634
3640
|
}
|
3635
3641
|
|
3642
|
+
def calculate_fee(self, symbol: str, type: str, side: str, amount: float, price: float, takerOrMaker='taker', params={}):
|
3643
|
+
"""
|
3644
|
+
calculates the presumptive fee that would be charged for an order
|
3645
|
+
:param str symbol: unified market symbol
|
3646
|
+
:param str type: 'market' or 'limit'
|
3647
|
+
:param str side: 'buy' or 'sell'
|
3648
|
+
:param float amount: how much you want to trade, in units of the base currency on most exchanges, or number of contracts
|
3649
|
+
:param float price: the price for the order to be filled at, in units of the quote currency
|
3650
|
+
:param str takerOrMaker: 'taker' or 'maker'
|
3651
|
+
:param dict params:
|
3652
|
+
:returns dict: contains the rate, the percentage multiplied to the order amount to obtain the fee amount, and cost, the total value of the fee in units of the quote currency, for the order
|
3653
|
+
"""
|
3654
|
+
return self.calculate_fee_with_rate(symbol, type, side, amount, price, takerOrMaker, None, params)
|
3655
|
+
|
3636
3656
|
def safe_liquidation(self, liquidation: dict, market: Market = None):
|
3637
3657
|
contracts = self.safe_string(liquidation, 'contracts')
|
3638
3658
|
contractSize = self.safe_string(market, 'contractSize')
|
@@ -3672,6 +3692,21 @@ class Exchange(object):
|
|
3672
3692
|
trade['cost'] = self.parse_number(cost)
|
3673
3693
|
return trade
|
3674
3694
|
|
3695
|
+
def create_ccxt_trade_id(self, timestamp=None, side=None, amount=None, price=None, takerOrMaker=None):
|
3696
|
+
# self approach is being used by multiple exchanges(mexc, woo, coinsbit, dydx, ...)
|
3697
|
+
id = None
|
3698
|
+
if timestamp is not None:
|
3699
|
+
id = self.number_to_string(timestamp)
|
3700
|
+
if side is not None:
|
3701
|
+
id += '-' + side
|
3702
|
+
if amount is not None:
|
3703
|
+
id += '-' + self.number_to_string(amount)
|
3704
|
+
if price is not None:
|
3705
|
+
id += '-' + self.number_to_string(price)
|
3706
|
+
if takerOrMaker is not None:
|
3707
|
+
id += '-' + takerOrMaker
|
3708
|
+
return id
|
3709
|
+
|
3675
3710
|
def parsed_fee_and_fees(self, container: Any):
|
3676
3711
|
fee = self.safe_dict(container, 'fee')
|
3677
3712
|
fees = self.safe_list(container, 'fees')
|
@@ -5495,10 +5530,10 @@ class Exchange(object):
|
|
5495
5530
|
"""
|
5496
5531
|
raise NotSupported(self.id + ' fetchDepositsWithdrawals() is not supported yet')
|
5497
5532
|
|
5498
|
-
def fetch_deposits(self,
|
5533
|
+
def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
5499
5534
|
raise NotSupported(self.id + ' fetchDeposits() is not supported yet')
|
5500
5535
|
|
5501
|
-
def fetch_withdrawals(self,
|
5536
|
+
def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
5502
5537
|
raise NotSupported(self.id + ' fetchWithdrawals() is not supported yet')
|
5503
5538
|
|
5504
5539
|
def fetch_deposits_ws(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
@@ -6426,7 +6461,7 @@ class Exchange(object):
|
|
6426
6461
|
calls = 0
|
6427
6462
|
result = []
|
6428
6463
|
errors = 0
|
6429
|
-
until = self.
|
6464
|
+
until = self.safe_integer_n(params, ['until', 'untill', 'till']) # do not omit it from params here
|
6430
6465
|
maxEntriesPerRequest, params = self.handle_max_entries_per_request_and_params(method, maxEntriesPerRequest, params)
|
6431
6466
|
if (paginationDirection == 'forward'):
|
6432
6467
|
if since is None:
|
@@ -6988,6 +7023,14 @@ class Exchange(object):
|
|
6988
7023
|
self.myTrades = None
|
6989
7024
|
elif topic == 'orders' and (self.orders is not None):
|
6990
7025
|
self.orders = None
|
7026
|
+
elif topic == 'positions' and (self.positions is not None):
|
7027
|
+
self.positions = None
|
7028
|
+
clients = list(self.clients.values())
|
7029
|
+
for i in range(0, len(clients)):
|
7030
|
+
client = clients[i]
|
7031
|
+
futures = self.safe_dict(client, 'futures')
|
7032
|
+
if (futures is not None) and ('fetchPositionsSnapshot' in futures):
|
7033
|
+
del futures['fetchPositionsSnapshot']
|
6991
7034
|
elif topic == 'ticker' and (self.tickers is not None):
|
6992
7035
|
tickerSymbols = list(self.tickers.keys())
|
6993
7036
|
for i in range(0, len(tickerSymbols)):
|
kucoin/ccxt/kucoin.py
CHANGED
@@ -811,7 +811,7 @@ class kucoin(Exchange, ImplicitAPI):
|
|
811
811
|
'TLOS': 'tlos', # tlosevm is different
|
812
812
|
'CFX': 'cfx',
|
813
813
|
'ACA': 'aca',
|
814
|
-
'
|
814
|
+
'OPTIMISM': 'optimism',
|
815
815
|
'ONT': 'ont',
|
816
816
|
'GLMR': 'glmr',
|
817
817
|
'CSPR': 'cspr',
|
@@ -931,6 +931,7 @@ class kucoin(Exchange, ImplicitAPI):
|
|
931
931
|
'CS': 'cs',
|
932
932
|
'ORAI': 'orai',
|
933
933
|
'BASE': 'base',
|
934
|
+
'TARA': 'tara',
|
934
935
|
# below will be uncommented after consensus
|
935
936
|
# 'BITCOINDIAMON': 'bcd',
|
936
937
|
# 'BITCOINGOLD': 'btg',
|
@@ -2646,7 +2647,7 @@ class kucoin(Exchange, ImplicitAPI):
|
|
2646
2647
|
response = self.privateDeleteHfOrders(self.extend(request, query))
|
2647
2648
|
else:
|
2648
2649
|
response = self.privateDeleteOrders(self.extend(request, query))
|
2649
|
-
return response
|
2650
|
+
return [self.safe_order({'info': response})]
|
2650
2651
|
|
2651
2652
|
def fetch_orders_by_status(self, status, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
2652
2653
|
"""
|
kucoin/ccxt/pro/__init__.py
CHANGED
@@ -1,26 +1,26 @@
|
|
1
1
|
kucoin/__init__.py,sha256=J1NNMLktlkCZKV82j8CFTVES3O3TCVk3so0ROi4E52o,246
|
2
|
-
kucoin/ccxt/__init__.py,sha256=
|
3
|
-
kucoin/ccxt/kucoin.py,sha256=
|
2
|
+
kucoin/ccxt/__init__.py,sha256=GWGEm4bjn7EwuDiNfqhvOCar1kh4IOKsVgvnGP-cXfE,6048
|
3
|
+
kucoin/ccxt/kucoin.py,sha256=5JXt4spzkgIaSpIyVZ0jNXrY2R8xxHUpau76jCaOswA,232479
|
4
4
|
kucoin/ccxt/abstract/kucoin.py,sha256=kVrVEXiigc36arfbSS8lDUMnG7uFdKgUKHIhVb0Am_8,28626
|
5
|
-
kucoin/ccxt/async_support/__init__.py,sha256=
|
6
|
-
kucoin/ccxt/async_support/kucoin.py,sha256=
|
5
|
+
kucoin/ccxt/async_support/__init__.py,sha256=LxqgyF_ElKfy-NUZZbjIjGxsvEc2haq0fb9UJlBBzMI,4781
|
6
|
+
kucoin/ccxt/async_support/kucoin.py,sha256=R6FQ5LGhNiruAO831oj0UjTTmRYhL96MHivzQ8891pY,233629
|
7
7
|
kucoin/ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
|
8
|
-
kucoin/ccxt/async_support/base/exchange.py,sha256=
|
8
|
+
kucoin/ccxt/async_support/base/exchange.py,sha256=5YrTOaoiX9ws39WT_JWs_g3anZAMiPSc1eXiD56Sh0Q,119773
|
9
9
|
kucoin/ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
|
10
10
|
kucoin/ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
|
11
11
|
kucoin/ccxt/async_support/base/ws/cache.py,sha256=xf2VOtfUwloxSlIQ39M1RGZHWQzyS9IGhB5NX6cDcAc,8370
|
12
12
|
kucoin/ccxt/async_support/base/ws/client.py,sha256=ekIN5HNgeQgMG3tLZMsE889Aoxs960DLwQnwkTGhdi8,13624
|
13
13
|
kucoin/ccxt/async_support/base/ws/functions.py,sha256=qwvEnjtINWL5ZU-dbbeIunjyBxzFqbGWHfVhxqAcKug,1499
|
14
|
-
kucoin/ccxt/async_support/base/ws/future.py,sha256=
|
14
|
+
kucoin/ccxt/async_support/base/ws/future.py,sha256=hjdQ42zkfju5nar0GpTLJ4zXQBtgBU8DzYM5uPFcjsE,1450
|
15
15
|
kucoin/ccxt/async_support/base/ws/order_book.py,sha256=uBUaIHhzMRykpmo4BCsdJ-t_HozS6VxhEs8x-Kbj-NI,2894
|
16
16
|
kucoin/ccxt/async_support/base/ws/order_book_side.py,sha256=GhnGUt78pJ-AYL_Dq9produGjmBJLCI5FHIRdMz1O-g,6551
|
17
17
|
kucoin/ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
|
18
|
-
kucoin/ccxt/base/decimal_to_precision.py,sha256=
|
19
|
-
kucoin/ccxt/base/errors.py,sha256=
|
20
|
-
kucoin/ccxt/base/exchange.py,sha256=
|
18
|
+
kucoin/ccxt/base/decimal_to_precision.py,sha256=XQNziSPUz4UqhIvNx0aDx6-3wSSgZBTsMX57rM7WGPM,7330
|
19
|
+
kucoin/ccxt/base/errors.py,sha256=MvCrL_sAM3de616T6RE0PSxiF2xV6Qqz5b1y1ghidbk,4888
|
20
|
+
kucoin/ccxt/base/exchange.py,sha256=3LI4McirkCUEz1090jMfedqTtOae-Gqcl94_oeNf23c,333932
|
21
21
|
kucoin/ccxt/base/precise.py,sha256=koce64Yrp6vFbGijJtUt-QQ6XhJgeGTCksZ871FPp_A,8886
|
22
22
|
kucoin/ccxt/base/types.py,sha256=vMQfFDVntED4YHrRJt0Q98YaM7OtGhK-DkbkqXFTYHc,11485
|
23
|
-
kucoin/ccxt/pro/__init__.py,sha256=
|
23
|
+
kucoin/ccxt/pro/__init__.py,sha256=sw1CfqnHy9D7GwnQT7iENG76AG2vqKo5q61JkZbLybY,4095
|
24
24
|
kucoin/ccxt/pro/kucoin.py,sha256=598XsFeIFOOAOlY2fuEenBT-pPFjoOKiqPP8lP7dzD4,60794
|
25
25
|
kucoin/ccxt/static_dependencies/README.md,sha256=3TCvhhn09_Cqf9BDDpao1V7EfKHDpQ6k9oWRsLFixpU,18
|
26
26
|
kucoin/ccxt/static_dependencies/__init__.py,sha256=tzFje8cloqmiIE6kola3EaYC0SnD1izWnri69hzHsSw,168
|
@@ -281,6 +281,6 @@ kucoin/ccxt/static_dependencies/toolz/curried/exceptions.py,sha256=gKFOHDIayAWnX
|
|
281
281
|
kucoin/ccxt/static_dependencies/toolz/curried/operator.py,sha256=ML92mknkAwzBl2NCm-4werSUmJEtSHNY9NSzhseNM9s,525
|
282
282
|
kucoin/ccxt/static_dependencies/typing_inspect/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
283
283
|
kucoin/ccxt/static_dependencies/typing_inspect/typing_inspect.py,sha256=5gIWomLPfuDpgd3gX1GlnX0MuXM3VorR4j2W2qXORiQ,28269
|
284
|
-
kucoin_api-0.0.
|
285
|
-
kucoin_api-0.0.
|
286
|
-
kucoin_api-0.0.
|
284
|
+
kucoin_api-0.0.80.dist-info/METADATA,sha256=i5jJ10obRW_UDe76UAf2P50Hna4RjGQ8F25_Bu2WAZY,18571
|
285
|
+
kucoin_api-0.0.80.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
286
|
+
kucoin_api-0.0.80.dist-info/RECORD,,
|
File without changes
|