ccxt 3.1.34__py2.py3-none-any.whl → 3.1.35__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/binance.py +2 -0
- ccxt/abstract/binancecoinm.py +2 -0
- ccxt/abstract/binanceus.py +2 -0
- ccxt/abstract/binanceusdm.py +2 -0
- ccxt/abstract/bitbank.py +6 -0
- ccxt/async_support/__init__.py +1 -1
- ccxt/async_support/base/exchange.py +1 -1
- ccxt/async_support/binance.py +23 -25
- ccxt/async_support/bitbank.py +6 -0
- ccxt/base/exchange.py +1 -1
- ccxt/binance.py +23 -25
- ccxt/bitbank.py +6 -0
- ccxt/pro/__init__.py +1 -1
- {ccxt-3.1.34.dist-info → ccxt-3.1.35.dist-info}/METADATA +4 -4
- {ccxt-3.1.34.dist-info → ccxt-3.1.35.dist-info}/RECORD +18 -18
- {ccxt-3.1.34.dist-info → ccxt-3.1.35.dist-info}/WHEEL +0 -0
- {ccxt-3.1.34.dist-info → ccxt-3.1.35.dist-info}/top_level.txt +0 -0
ccxt/__init__.py
CHANGED
ccxt/abstract/binance.py
CHANGED
@@ -264,6 +264,8 @@ class ImplicitAPI:
|
|
264
264
|
sapi_post_loan_vip_repay = sapiPostLoanVipRepay = Entry('loan/vip/repay', 'sapi', 'POST', {'cost': 40})
|
265
265
|
sapi_post_convert_getquote = sapiPostConvertGetQuote = Entry('convert/getQuote', 'sapi', 'POST', {'cost': 20.001})
|
266
266
|
sapi_post_convert_acceptquote = sapiPostConvertAcceptQuote = Entry('convert/acceptQuote', 'sapi', 'POST', {'cost': 3.3335})
|
267
|
+
sapi_post_portfolio_auto_collection = sapiPostPortfolioAutoCollection = Entry('portfolio/auto-collection', 'sapi', 'POST', {'cost': 0.6667})
|
268
|
+
sapi_post_portfolio_bnb_transfer = sapiPostPortfolioBnbTransfer = Entry('portfolio/bnb-transfer', 'sapi', 'POST', {'cost': 0.6667})
|
267
269
|
sapi_put_userdatastream = sapiPutUserDataStream = Entry('userDataStream', 'sapi', 'PUT', {'cost': 0.1})
|
268
270
|
sapi_put_userdatastream_isolated = sapiPutUserDataStreamIsolated = Entry('userDataStream/isolated', 'sapi', 'PUT', {'cost': 0.1})
|
269
271
|
sapi_delete_margin_openorders = sapiDeleteMarginOpenOrders = Entry('margin/openOrders', 'sapi', 'DELETE', {'cost': 0.1})
|
ccxt/abstract/binancecoinm.py
CHANGED
@@ -264,6 +264,8 @@ class ImplicitAPI:
|
|
264
264
|
sapi_post_loan_vip_repay = sapiPostLoanVipRepay = Entry('loan/vip/repay', 'sapi', 'POST', {'cost': 40})
|
265
265
|
sapi_post_convert_getquote = sapiPostConvertGetQuote = Entry('convert/getQuote', 'sapi', 'POST', {'cost': 20.001})
|
266
266
|
sapi_post_convert_acceptquote = sapiPostConvertAcceptQuote = Entry('convert/acceptQuote', 'sapi', 'POST', {'cost': 3.3335})
|
267
|
+
sapi_post_portfolio_auto_collection = sapiPostPortfolioAutoCollection = Entry('portfolio/auto-collection', 'sapi', 'POST', {'cost': 0.6667})
|
268
|
+
sapi_post_portfolio_bnb_transfer = sapiPostPortfolioBnbTransfer = Entry('portfolio/bnb-transfer', 'sapi', 'POST', {'cost': 0.6667})
|
267
269
|
sapi_put_userdatastream = sapiPutUserDataStream = Entry('userDataStream', 'sapi', 'PUT', {'cost': 0.1})
|
268
270
|
sapi_put_userdatastream_isolated = sapiPutUserDataStreamIsolated = Entry('userDataStream/isolated', 'sapi', 'PUT', {'cost': 0.1})
|
269
271
|
sapi_delete_margin_openorders = sapiDeleteMarginOpenOrders = Entry('margin/openOrders', 'sapi', 'DELETE', {'cost': 0.1})
|
ccxt/abstract/binanceus.py
CHANGED
@@ -264,6 +264,8 @@ class ImplicitAPI:
|
|
264
264
|
sapi_post_loan_vip_repay = sapiPostLoanVipRepay = Entry('loan/vip/repay', 'sapi', 'POST', {'cost': 40})
|
265
265
|
sapi_post_convert_getquote = sapiPostConvertGetQuote = Entry('convert/getQuote', 'sapi', 'POST', {'cost': 20.001})
|
266
266
|
sapi_post_convert_acceptquote = sapiPostConvertAcceptQuote = Entry('convert/acceptQuote', 'sapi', 'POST', {'cost': 3.3335})
|
267
|
+
sapi_post_portfolio_auto_collection = sapiPostPortfolioAutoCollection = Entry('portfolio/auto-collection', 'sapi', 'POST', {'cost': 0.6667})
|
268
|
+
sapi_post_portfolio_bnb_transfer = sapiPostPortfolioBnbTransfer = Entry('portfolio/bnb-transfer', 'sapi', 'POST', {'cost': 0.6667})
|
267
269
|
sapi_put_userdatastream = sapiPutUserDataStream = Entry('userDataStream', 'sapi', 'PUT', {'cost': 0.1})
|
268
270
|
sapi_put_userdatastream_isolated = sapiPutUserDataStreamIsolated = Entry('userDataStream/isolated', 'sapi', 'PUT', {'cost': 0.1})
|
269
271
|
sapi_delete_margin_openorders = sapiDeleteMarginOpenOrders = Entry('margin/openOrders', 'sapi', 'DELETE', {'cost': 0.1})
|
ccxt/abstract/binanceusdm.py
CHANGED
@@ -264,6 +264,8 @@ class ImplicitAPI:
|
|
264
264
|
sapi_post_loan_vip_repay = sapiPostLoanVipRepay = Entry('loan/vip/repay', 'sapi', 'POST', {'cost': 40})
|
265
265
|
sapi_post_convert_getquote = sapiPostConvertGetQuote = Entry('convert/getQuote', 'sapi', 'POST', {'cost': 20.001})
|
266
266
|
sapi_post_convert_acceptquote = sapiPostConvertAcceptQuote = Entry('convert/acceptQuote', 'sapi', 'POST', {'cost': 3.3335})
|
267
|
+
sapi_post_portfolio_auto_collection = sapiPostPortfolioAutoCollection = Entry('portfolio/auto-collection', 'sapi', 'POST', {'cost': 0.6667})
|
268
|
+
sapi_post_portfolio_bnb_transfer = sapiPostPortfolioBnbTransfer = Entry('portfolio/bnb-transfer', 'sapi', 'POST', {'cost': 0.6667})
|
267
269
|
sapi_put_userdatastream = sapiPutUserDataStream = Entry('userDataStream', 'sapi', 'PUT', {'cost': 0.1})
|
268
270
|
sapi_put_userdatastream_isolated = sapiPutUserDataStreamIsolated = Entry('userDataStream/isolated', 'sapi', 'PUT', {'cost': 0.1})
|
269
271
|
sapi_delete_margin_openorders = sapiDeleteMarginOpenOrders = Entry('margin/openOrders', 'sapi', 'DELETE', {'cost': 0.1})
|
ccxt/abstract/bitbank.py
CHANGED
@@ -3,6 +3,8 @@ from ccxt.base.types import Entry
|
|
3
3
|
|
4
4
|
class ImplicitAPI:
|
5
5
|
public_get_pair_ticker = publicGetPairTicker = Entry('{pair}/ticker', 'public', 'GET', {})
|
6
|
+
public_get_tickers = publicGetTickers = Entry('tickers', 'public', 'GET', {})
|
7
|
+
public_get_tickers_jpy = publicGetTickersJpy = Entry('tickers_jpy', 'public', 'GET', {})
|
6
8
|
public_get_pair_depth = publicGetPairDepth = Entry('{pair}/depth', 'public', 'GET', {})
|
7
9
|
public_get_pair_transactions = publicGetPairTransactions = Entry('{pair}/transactions', 'public', 'GET', {})
|
8
10
|
public_get_pair_transactions_yyyymmdd = publicGetPairTransactionsYyyymmdd = Entry('{pair}/transactions/{yyyymmdd}', 'public', 'GET', {})
|
@@ -11,7 +13,11 @@ class ImplicitAPI:
|
|
11
13
|
private_get_user_spot_order = privateGetUserSpotOrder = Entry('user/spot/order', 'private', 'GET', {})
|
12
14
|
private_get_user_spot_active_orders = privateGetUserSpotActiveOrders = Entry('user/spot/active_orders', 'private', 'GET', {})
|
13
15
|
private_get_user_spot_trade_history = privateGetUserSpotTradeHistory = Entry('user/spot/trade_history', 'private', 'GET', {})
|
16
|
+
private_get_user_deposit_history = privateGetUserDepositHistory = Entry('user/deposit_history', 'private', 'GET', {})
|
14
17
|
private_get_user_withdrawal_account = privateGetUserWithdrawalAccount = Entry('user/withdrawal_account', 'private', 'GET', {})
|
18
|
+
private_get_user_withdrawal_history = privateGetUserWithdrawalHistory = Entry('user/withdrawal_history', 'private', 'GET', {})
|
19
|
+
private_get_spot_status = privateGetSpotStatus = Entry('spot/status', 'private', 'GET', {})
|
20
|
+
private_get_spot_pairs = privateGetSpotPairs = Entry('spot/pairs', 'private', 'GET', {})
|
15
21
|
private_post_user_spot_order = privatePostUserSpotOrder = Entry('user/spot/order', 'private', 'POST', {})
|
16
22
|
private_post_user_spot_cancel_order = privatePostUserSpotCancelOrder = Entry('user/spot/cancel_order', 'private', 'POST', {})
|
17
23
|
private_post_user_spot_cancel_orders = privatePostUserSpotCancelOrders = Entry('user/spot/cancel_orders', 'private', 'POST', {})
|
ccxt/async_support/__init__.py
CHANGED
ccxt/async_support/binance.py
CHANGED
@@ -506,6 +506,8 @@ class binance(Exchange, ImplicitAPI):
|
|
506
506
|
'loan/vip/repay': 40, # Weight(UID): 6000 => cost = 0.006667 * 6000 = 40
|
507
507
|
'convert/getQuote': 20.001,
|
508
508
|
'convert/acceptQuote': 3.3335,
|
509
|
+
'portfolio/auto-collection': 0.6667, # Weight(UID): 100 => cost = 0.006667 * 100 = 0.6667
|
510
|
+
'portfolio/bnb-transfer': 0.6667, # Weight(UID): 100 => cost = 0.006667 * 100 = 0.6667
|
509
511
|
},
|
510
512
|
'put': {
|
511
513
|
'userDataStream': 0.1,
|
@@ -2930,10 +2932,14 @@ class binance(Exchange, ImplicitAPI):
|
|
2930
2932
|
:returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
|
2931
2933
|
"""
|
2932
2934
|
await self.load_markets()
|
2935
|
+
symbols = self.market_symbols(symbols)
|
2933
2936
|
market = self.get_market_from_symbols(symbols)
|
2934
|
-
|
2937
|
+
type = None
|
2938
|
+
subType = None
|
2939
|
+
subType, params = self.handle_sub_type_and_params('fetchLastPrices', market, params)
|
2940
|
+
type, params = self.handle_market_type_and_params('fetchLastPrices', market, params)
|
2935
2941
|
method = None
|
2936
|
-
if
|
2942
|
+
if self.is_linear(type, subType):
|
2937
2943
|
method = 'fapiPublicGetTickerPrice'
|
2938
2944
|
#
|
2939
2945
|
# [
|
@@ -2945,7 +2951,7 @@ class binance(Exchange, ImplicitAPI):
|
|
2945
2951
|
# ...
|
2946
2952
|
# ]
|
2947
2953
|
#
|
2948
|
-
elif
|
2954
|
+
elif self.is_inverse(type, subType):
|
2949
2955
|
method = 'dapiPublicGetTickerPrice'
|
2950
2956
|
#
|
2951
2957
|
# [
|
@@ -2957,7 +2963,7 @@ class binance(Exchange, ImplicitAPI):
|
|
2957
2963
|
# }
|
2958
2964
|
# ]
|
2959
2965
|
#
|
2960
|
-
elif
|
2966
|
+
elif type == 'spot':
|
2961
2967
|
method = 'publicGetTickerPrice'
|
2962
2968
|
#
|
2963
2969
|
# [
|
@@ -2969,8 +2975,8 @@ class binance(Exchange, ImplicitAPI):
|
|
2969
2975
|
# ]
|
2970
2976
|
#
|
2971
2977
|
else:
|
2972
|
-
raise NotSupported(self.id + ' fetchLastPrices() does not support ' +
|
2973
|
-
response = await getattr(self, method)(
|
2978
|
+
raise NotSupported(self.id + ' fetchLastPrices() does not support ' + type + ' markets yet')
|
2979
|
+
response = await getattr(self, method)(params)
|
2974
2980
|
return self.parse_last_prices(response, symbols)
|
2975
2981
|
|
2976
2982
|
def parse_last_price(self, info, market=None):
|
@@ -3000,10 +3006,10 @@ class binance(Exchange, ImplicitAPI):
|
|
3000
3006
|
# "time": 1591257246176
|
3001
3007
|
# }
|
3002
3008
|
#
|
3003
|
-
marketId = self.safe_string(info, 'symbol')
|
3004
|
-
defaultType = self.safe_string(self.options, 'defaultType', 'spot')
|
3005
|
-
market = self.safe_market(marketId, market, None, defaultType)
|
3006
3009
|
timestamp = self.safe_integer(info, 'time')
|
3010
|
+
type = 'spot' if (timestamp is None) else 'swap'
|
3011
|
+
marketId = self.safe_string(info, 'symbol')
|
3012
|
+
market = self.safe_market(marketId, market, None, type)
|
3007
3013
|
price = self.safe_number(info, 'price')
|
3008
3014
|
return {
|
3009
3015
|
'symbol': market['symbol'],
|
@@ -3945,25 +3951,16 @@ class binance(Exchange, ImplicitAPI):
|
|
3945
3951
|
marketType = 'contract' if ('closePosition' in order) else 'spot'
|
3946
3952
|
symbol = self.safe_symbol(marketId, market, None, marketType)
|
3947
3953
|
filled = self.safe_string(order, 'executedQty', '0')
|
3948
|
-
timestamp =
|
3954
|
+
timestamp = self.safe_integer_n(order, ['time', 'createTime', 'workingTime', 'transactTime', 'updateTime']) # order of the keys matters here
|
3949
3955
|
lastTradeTimestamp = None
|
3950
|
-
if '
|
3951
|
-
|
3952
|
-
elif 'workingTime' in order:
|
3953
|
-
lastTradeTimestamp = self.safe_integer(order, 'transactTime')
|
3954
|
-
timestamp = self.safe_integer(order, 'workingTime')
|
3955
|
-
elif 'transactTime' in order:
|
3956
|
-
lastTradeTimestamp = self.safe_integer(order, 'transactTime')
|
3957
|
-
timestamp = self.safe_integer(order, 'transactTime')
|
3958
|
-
elif 'createTime' in order:
|
3959
|
-
lastTradeTimestamp = self.safe_integer(order, 'updateTime')
|
3960
|
-
timestamp = self.safe_integer(order, 'createTime')
|
3961
|
-
elif 'updateTime' in order:
|
3956
|
+
if ('transactTime' in order) or ('updateTime' in order):
|
3957
|
+
timestampValue = self.safe_integer_2(order, 'updateTime', 'transactTime')
|
3962
3958
|
if status == 'open':
|
3963
3959
|
if Precise.string_gt(filled, '0'):
|
3964
|
-
lastTradeTimestamp =
|
3965
|
-
|
3966
|
-
|
3960
|
+
lastTradeTimestamp = timestampValue
|
3961
|
+
elif status == 'closed':
|
3962
|
+
lastTradeTimestamp = timestampValue
|
3963
|
+
lastUpdateTimestamp = self.safe_integer_2(order, 'transactTime', 'updateTime')
|
3967
3964
|
average = self.safe_string(order, 'avgPrice')
|
3968
3965
|
price = self.safe_string(order, 'price')
|
3969
3966
|
amount = self.safe_string_2(order, 'origQty', 'quantity')
|
@@ -3993,6 +3990,7 @@ class binance(Exchange, ImplicitAPI):
|
|
3993
3990
|
'timestamp': timestamp,
|
3994
3991
|
'datetime': self.iso8601(timestamp),
|
3995
3992
|
'lastTradeTimestamp': lastTradeTimestamp,
|
3993
|
+
'lastUpdateTimestamp': lastUpdateTimestamp,
|
3996
3994
|
'symbol': symbol,
|
3997
3995
|
'type': type,
|
3998
3996
|
'timeInForce': timeInForce,
|
ccxt/async_support/bitbank.py
CHANGED
@@ -106,6 +106,8 @@ class bitbank(Exchange, ImplicitAPI):
|
|
106
106
|
'public': {
|
107
107
|
'get': [
|
108
108
|
'{pair}/ticker',
|
109
|
+
'tickers',
|
110
|
+
'tickers_jpy',
|
109
111
|
'{pair}/depth',
|
110
112
|
'{pair}/transactions',
|
111
113
|
'{pair}/transactions/{yyyymmdd}',
|
@@ -118,7 +120,11 @@ class bitbank(Exchange, ImplicitAPI):
|
|
118
120
|
'user/spot/order',
|
119
121
|
'user/spot/active_orders',
|
120
122
|
'user/spot/trade_history',
|
123
|
+
'user/deposit_history',
|
121
124
|
'user/withdrawal_account',
|
125
|
+
'user/withdrawal_history',
|
126
|
+
'spot/status',
|
127
|
+
'spot/pairs',
|
122
128
|
],
|
123
129
|
'post': [
|
124
130
|
'user/spot/order',
|
ccxt/base/exchange.py
CHANGED
ccxt/binance.py
CHANGED
@@ -505,6 +505,8 @@ class binance(Exchange, ImplicitAPI):
|
|
505
505
|
'loan/vip/repay': 40, # Weight(UID): 6000 => cost = 0.006667 * 6000 = 40
|
506
506
|
'convert/getQuote': 20.001,
|
507
507
|
'convert/acceptQuote': 3.3335,
|
508
|
+
'portfolio/auto-collection': 0.6667, # Weight(UID): 100 => cost = 0.006667 * 100 = 0.6667
|
509
|
+
'portfolio/bnb-transfer': 0.6667, # Weight(UID): 100 => cost = 0.006667 * 100 = 0.6667
|
508
510
|
},
|
509
511
|
'put': {
|
510
512
|
'userDataStream': 0.1,
|
@@ -2929,10 +2931,14 @@ class binance(Exchange, ImplicitAPI):
|
|
2929
2931
|
:returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
|
2930
2932
|
"""
|
2931
2933
|
self.load_markets()
|
2934
|
+
symbols = self.market_symbols(symbols)
|
2932
2935
|
market = self.get_market_from_symbols(symbols)
|
2933
|
-
|
2936
|
+
type = None
|
2937
|
+
subType = None
|
2938
|
+
subType, params = self.handle_sub_type_and_params('fetchLastPrices', market, params)
|
2939
|
+
type, params = self.handle_market_type_and_params('fetchLastPrices', market, params)
|
2934
2940
|
method = None
|
2935
|
-
if
|
2941
|
+
if self.is_linear(type, subType):
|
2936
2942
|
method = 'fapiPublicGetTickerPrice'
|
2937
2943
|
#
|
2938
2944
|
# [
|
@@ -2944,7 +2950,7 @@ class binance(Exchange, ImplicitAPI):
|
|
2944
2950
|
# ...
|
2945
2951
|
# ]
|
2946
2952
|
#
|
2947
|
-
elif
|
2953
|
+
elif self.is_inverse(type, subType):
|
2948
2954
|
method = 'dapiPublicGetTickerPrice'
|
2949
2955
|
#
|
2950
2956
|
# [
|
@@ -2956,7 +2962,7 @@ class binance(Exchange, ImplicitAPI):
|
|
2956
2962
|
# }
|
2957
2963
|
# ]
|
2958
2964
|
#
|
2959
|
-
elif
|
2965
|
+
elif type == 'spot':
|
2960
2966
|
method = 'publicGetTickerPrice'
|
2961
2967
|
#
|
2962
2968
|
# [
|
@@ -2968,8 +2974,8 @@ class binance(Exchange, ImplicitAPI):
|
|
2968
2974
|
# ]
|
2969
2975
|
#
|
2970
2976
|
else:
|
2971
|
-
raise NotSupported(self.id + ' fetchLastPrices() does not support ' +
|
2972
|
-
response = getattr(self, method)(
|
2977
|
+
raise NotSupported(self.id + ' fetchLastPrices() does not support ' + type + ' markets yet')
|
2978
|
+
response = getattr(self, method)(params)
|
2973
2979
|
return self.parse_last_prices(response, symbols)
|
2974
2980
|
|
2975
2981
|
def parse_last_price(self, info, market=None):
|
@@ -2999,10 +3005,10 @@ class binance(Exchange, ImplicitAPI):
|
|
2999
3005
|
# "time": 1591257246176
|
3000
3006
|
# }
|
3001
3007
|
#
|
3002
|
-
marketId = self.safe_string(info, 'symbol')
|
3003
|
-
defaultType = self.safe_string(self.options, 'defaultType', 'spot')
|
3004
|
-
market = self.safe_market(marketId, market, None, defaultType)
|
3005
3008
|
timestamp = self.safe_integer(info, 'time')
|
3009
|
+
type = 'spot' if (timestamp is None) else 'swap'
|
3010
|
+
marketId = self.safe_string(info, 'symbol')
|
3011
|
+
market = self.safe_market(marketId, market, None, type)
|
3006
3012
|
price = self.safe_number(info, 'price')
|
3007
3013
|
return {
|
3008
3014
|
'symbol': market['symbol'],
|
@@ -3944,25 +3950,16 @@ class binance(Exchange, ImplicitAPI):
|
|
3944
3950
|
marketType = 'contract' if ('closePosition' in order) else 'spot'
|
3945
3951
|
symbol = self.safe_symbol(marketId, market, None, marketType)
|
3946
3952
|
filled = self.safe_string(order, 'executedQty', '0')
|
3947
|
-
timestamp =
|
3953
|
+
timestamp = self.safe_integer_n(order, ['time', 'createTime', 'workingTime', 'transactTime', 'updateTime']) # order of the keys matters here
|
3948
3954
|
lastTradeTimestamp = None
|
3949
|
-
if '
|
3950
|
-
|
3951
|
-
elif 'workingTime' in order:
|
3952
|
-
lastTradeTimestamp = self.safe_integer(order, 'transactTime')
|
3953
|
-
timestamp = self.safe_integer(order, 'workingTime')
|
3954
|
-
elif 'transactTime' in order:
|
3955
|
-
lastTradeTimestamp = self.safe_integer(order, 'transactTime')
|
3956
|
-
timestamp = self.safe_integer(order, 'transactTime')
|
3957
|
-
elif 'createTime' in order:
|
3958
|
-
lastTradeTimestamp = self.safe_integer(order, 'updateTime')
|
3959
|
-
timestamp = self.safe_integer(order, 'createTime')
|
3960
|
-
elif 'updateTime' in order:
|
3955
|
+
if ('transactTime' in order) or ('updateTime' in order):
|
3956
|
+
timestampValue = self.safe_integer_2(order, 'updateTime', 'transactTime')
|
3961
3957
|
if status == 'open':
|
3962
3958
|
if Precise.string_gt(filled, '0'):
|
3963
|
-
lastTradeTimestamp =
|
3964
|
-
|
3965
|
-
|
3959
|
+
lastTradeTimestamp = timestampValue
|
3960
|
+
elif status == 'closed':
|
3961
|
+
lastTradeTimestamp = timestampValue
|
3962
|
+
lastUpdateTimestamp = self.safe_integer_2(order, 'transactTime', 'updateTime')
|
3966
3963
|
average = self.safe_string(order, 'avgPrice')
|
3967
3964
|
price = self.safe_string(order, 'price')
|
3968
3965
|
amount = self.safe_string_2(order, 'origQty', 'quantity')
|
@@ -3992,6 +3989,7 @@ class binance(Exchange, ImplicitAPI):
|
|
3992
3989
|
'timestamp': timestamp,
|
3993
3990
|
'datetime': self.iso8601(timestamp),
|
3994
3991
|
'lastTradeTimestamp': lastTradeTimestamp,
|
3992
|
+
'lastUpdateTimestamp': lastUpdateTimestamp,
|
3995
3993
|
'symbol': symbol,
|
3996
3994
|
'type': type,
|
3997
3995
|
'timeInForce': timeInForce,
|
ccxt/bitbank.py
CHANGED
@@ -106,6 +106,8 @@ class bitbank(Exchange, ImplicitAPI):
|
|
106
106
|
'public': {
|
107
107
|
'get': [
|
108
108
|
'{pair}/ticker',
|
109
|
+
'tickers',
|
110
|
+
'tickers_jpy',
|
109
111
|
'{pair}/depth',
|
110
112
|
'{pair}/transactions',
|
111
113
|
'{pair}/transactions/{yyyymmdd}',
|
@@ -118,7 +120,11 @@ class bitbank(Exchange, ImplicitAPI):
|
|
118
120
|
'user/spot/order',
|
119
121
|
'user/spot/active_orders',
|
120
122
|
'user/spot/trade_history',
|
123
|
+
'user/deposit_history',
|
121
124
|
'user/withdrawal_account',
|
125
|
+
'user/withdrawal_history',
|
126
|
+
'spot/status',
|
127
|
+
'spot/pairs',
|
122
128
|
],
|
123
129
|
'post': [
|
124
130
|
'user/spot/order',
|
ccxt/pro/__init__.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ccxt
|
3
|
-
Version: 3.1.
|
3
|
+
Version: 3.1.35
|
4
4
|
Summary: A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 130+ exchanges
|
5
5
|
Home-page: https://ccxt.com
|
6
6
|
Author: Igor Kroitor
|
@@ -264,13 +264,13 @@ console.log(version, Object.keys(exchanges));
|
|
264
264
|
|
265
265
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
266
266
|
|
267
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@3.1.
|
268
|
-
* unpkg: https://unpkg.com/ccxt@3.1.
|
267
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@3.1.35/dist/ccxt.browser.js
|
268
|
+
* unpkg: https://unpkg.com/ccxt@3.1.35/dist/ccxt.browser.js
|
269
269
|
|
270
270
|
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.
|
271
271
|
|
272
272
|
```HTML
|
273
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@3.1.
|
273
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@3.1.35/dist/ccxt.browser.js"></script>
|
274
274
|
```
|
275
275
|
|
276
276
|
Creates a global `ccxt` object:
|
@@ -1,15 +1,15 @@
|
|
1
|
-
ccxt/__init__.py,sha256=
|
1
|
+
ccxt/__init__.py,sha256=QT8Oj9QbF1GT9MMT5qIONcWV5RmcpnYSzuJj7iFSAFg,15531
|
2
2
|
ccxt/ace.py,sha256=X4xNSn-7c-K-KFZBUZXwdijv2gsSo1AjiuDV2Ay_qI8,41378
|
3
3
|
ccxt/alpaca.py,sha256=67-UgBXEXmAGMIYlxsufpFOLDSQi-V6-ZOefTAzSNJs,33210
|
4
4
|
ccxt/ascendex.py,sha256=Tfu6IHoc1hZGAwvEV8U5dhjTUyGOPXyp3hf-Ry6LFuU,129319
|
5
5
|
ccxt/bequant.py,sha256=1wDyg1jmS1H9WkODiqztoLVhQog7R6n7MUZsOhIRwRU,1136
|
6
6
|
ccxt/bigone.py,sha256=aTBf53_VVwUlqX3GreIwA3r37fdnrZyP9NbGFiCI7DU,62389
|
7
|
-
ccxt/binance.py,sha256=
|
7
|
+
ccxt/binance.py,sha256=7v7qGg4MU1KOstKS75VUzqLL36EZgWMZ2IwODN9-Ats,385958
|
8
8
|
ccxt/binancecoinm.py,sha256=pncdw6Xw2X1Po-vEvAB4nL37scoS_axGAVxetPy1YQs,1645
|
9
9
|
ccxt/binanceus.py,sha256=RoC8nReBHXUJzRNyqMe4vhta6gLGuh1fyFkI8FOMKBE,2151
|
10
10
|
ccxt/binanceusdm.py,sha256=KPQGlCalQ0eGlPCs2tSanOxaP8O0zFRQjGntA16Yprw,2480
|
11
11
|
ccxt/bit2c.py,sha256=2YVCDonSKrWPVM8jZteZ7EcFE7BmYy8cQ50Eo6OY37s,35531
|
12
|
-
ccxt/bitbank.py,sha256=
|
12
|
+
ccxt/bitbank.py,sha256=fniFSvUOyZCW25hIq5f55utcI4Ua0yU_2MEkrJFuBhg,39307
|
13
13
|
ccxt/bitbay.py,sha256=B1-8OOhH0k-_mQ7YM7CNuSzP0-PyrtWF-Bc00iEU-CY,448
|
14
14
|
ccxt/bitbns.py,sha256=NZiy0baRUIFs87YWblH9e_O2vcxqLXDBDa2D__Y0jkA,46022
|
15
15
|
ccxt/bitcoincom.py,sha256=YFjeHBlk3W6Gu_yzGwg8smSUkyG6E4l4sSAMvSQMrcY,467
|
@@ -118,12 +118,12 @@ ccxt/abstract/alpaca.py,sha256=GKGGXKJ9WzW9V3SmOX_Jjaea_QTa04Eg5nYhQgFErGI,1861
|
|
118
118
|
ccxt/abstract/ascendex.py,sha256=b85f3K0maWubEmAQIm6T5ierLHZG6c0f-uuvJ-JgLxM,11071
|
119
119
|
ccxt/abstract/bequant.py,sha256=0T5QJsSdYh5qcydcL76kC78pip1XrMDvaKkpxkcBsfc,8376
|
120
120
|
ccxt/abstract/bigone.py,sha256=wrsNs-x0Tv-8e3HcjMpGxQVdciL0cmHDWIJzNGVsd04,2347
|
121
|
-
ccxt/abstract/binance.py,sha256=
|
122
|
-
ccxt/abstract/binancecoinm.py,sha256=
|
123
|
-
ccxt/abstract/binanceus.py,sha256=
|
124
|
-
ccxt/abstract/binanceusdm.py,sha256=
|
121
|
+
ccxt/abstract/binance.py,sha256=4qcSltNhECBZ5o4qhmKLa_QO5hiu-yvm53kMES_Kor8,69569
|
122
|
+
ccxt/abstract/binancecoinm.py,sha256=4qcSltNhECBZ5o4qhmKLa_QO5hiu-yvm53kMES_Kor8,69569
|
123
|
+
ccxt/abstract/binanceus.py,sha256=4qcSltNhECBZ5o4qhmKLa_QO5hiu-yvm53kMES_Kor8,69569
|
124
|
+
ccxt/abstract/binanceusdm.py,sha256=4qcSltNhECBZ5o4qhmKLa_QO5hiu-yvm53kMES_Kor8,69569
|
125
125
|
ccxt/abstract/bit2c.py,sha256=np6i756kSB5dO3Nj6POLKxkWkpYcsGg-4LS8BwPrizI,2830
|
126
|
-
ccxt/abstract/bitbank.py,sha256=
|
126
|
+
ccxt/abstract/bitbank.py,sha256=k5D8PoPW2N79K_24NL9yY0qkwaCgzi_VoYUlqnj2bs8,2606
|
127
127
|
ccxt/abstract/bitbay.py,sha256=VoxuPkSq8vAvKnDvOqnByhwsIf09m7yIrs8HejFrDk4,5482
|
128
128
|
ccxt/abstract/bitbns.py,sha256=3T3cHS7SgzGipd6F8vzPnmM0x3XNfQXEPjoInD-C1Sw,4082
|
129
129
|
ccxt/abstract/bitcoincom.py,sha256=0T5QJsSdYh5qcydcL76kC78pip1XrMDvaKkpxkcBsfc,8376
|
@@ -220,18 +220,18 @@ ccxt/abstract/xt.py,sha256=xHHv2viFGK0_iPZ4gu6Wb0aOrpcKhr9zoY-BIPWh5bs,27028
|
|
220
220
|
ccxt/abstract/yobit.py,sha256=8ycfCO8ORFly9hc0Aa47sZyX4_ZKPXS9h9yJzI-uQ7Q,1339
|
221
221
|
ccxt/abstract/zaif.py,sha256=m15WHdl3gYy0GOXNZ8NEH8eE7sVh8c0T_ITNuU8vXeU,3935
|
222
222
|
ccxt/abstract/zonda.py,sha256=VoxuPkSq8vAvKnDvOqnByhwsIf09m7yIrs8HejFrDk4,5482
|
223
|
-
ccxt/async_support/__init__.py,sha256=
|
223
|
+
ccxt/async_support/__init__.py,sha256=xh6V2gftF0E81vWaY9hy3CMQoh-jQQjZERCyCSX7oYY,15324
|
224
224
|
ccxt/async_support/ace.py,sha256=cpzMJrG4paMTXdrfdHuJtSXND1NKhfKLNxaYeicMalc,41602
|
225
225
|
ccxt/async_support/alpaca.py,sha256=0Q7bp7mUhU6lKkCNWdjgt1NR3Rz1QpfC9rAVzTutSwk,33356
|
226
226
|
ccxt/async_support/ascendex.py,sha256=V0G5f9Gg79EjJIVpsuNuQGomoZmx9_WAKGsUjqSJs8k,129933
|
227
227
|
ccxt/async_support/bequant.py,sha256=BbfFIcAuK3qC0huDHr44hskFTHt1SG1Pp5XSgYnaiuA,1150
|
228
228
|
ccxt/async_support/bigone.py,sha256=-MaIFu3QdKcyNwb8sZxIbikt6M7JE_Phgxquz7ihLg4,62775
|
229
|
-
ccxt/async_support/binance.py,sha256=
|
229
|
+
ccxt/async_support/binance.py,sha256=CeviOzKq3WwCvHGTszf9G69PuxRaVgGeUagz8yqi8gw,387204
|
230
230
|
ccxt/async_support/binancecoinm.py,sha256=IY3RLZptQA2nmZaUYRGfTa5ZY4VMWBpFYfwHc8zTHw0,1683
|
231
231
|
ccxt/async_support/binanceus.py,sha256=Jtyl0jtSOpdjAAAYcSUzH6YRVxe88RJ6f4_IUge5gWg,2165
|
232
232
|
ccxt/async_support/binanceusdm.py,sha256=-1r4A4tmV2pCiLGO80hzq7MIIj4MTzOD7buZGv6JauA,2518
|
233
233
|
ccxt/async_support/bit2c.py,sha256=VNeZ9rjXtIsJYYhhJ4L7HWbxaMOBahr89yFqMfunJ8c,35737
|
234
|
-
ccxt/async_support/bitbank.py,sha256=
|
234
|
+
ccxt/async_support/bitbank.py,sha256=Osp5v6Y6-CMJoIfXi4QZdWHg0HaOgMwb6U_FPU4uLTo,39567
|
235
235
|
ccxt/async_support/bitbay.py,sha256=ZwGnGl9LHEsxYU1iOyJB6eT9JfYID_yNxGsB3G4gKeQ,462
|
236
236
|
ccxt/async_support/bitbns.py,sha256=5dJJdbSnLYOPqK-NHHWAWjLoQ8ddLY6k8xEKTzpP6hc,46276
|
237
237
|
ccxt/async_support/bitcoincom.py,sha256=-9ESIcLCRhZxfOLkNXB8mIsb7NYTnNPmF5aYkkKIy5Q,481
|
@@ -335,7 +335,7 @@ ccxt/async_support/zaif.py,sha256=eCR5rPQU9BpP2b-X0hPtOtN2FXiKZ4URHyyZ53Di6T4,29
|
|
335
335
|
ccxt/async_support/zb.py,sha256=W8HHyssjCLTugSRs80TnAwGJl85vp7nyNPOn9RLpXFk,184533
|
336
336
|
ccxt/async_support/zonda.py,sha256=8fLlL4exIr24N0vaf07psLeqNEqhLS2cZj-_VVXsnyM,74375
|
337
337
|
ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
|
338
|
-
ccxt/async_support/base/exchange.py,sha256=
|
338
|
+
ccxt/async_support/base/exchange.py,sha256=3VsIzG5vcl2ddTTNxwwkFgMkIYQhL1VtFFaV8aVwD28,131065
|
339
339
|
ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
|
340
340
|
ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
|
341
341
|
ccxt/async_support/base/ws/aiohttp_client.py,sha256=xmlZV30Vb9Kq7JCm3D5FuEmuj1zp5H4F4hrz8-Y-Ir4,4999
|
@@ -349,10 +349,10 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=GH-475Ni0mLOx7mUDnz4jjzaGkh
|
|
349
349
|
ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
|
350
350
|
ccxt/base/decimal_to_precision.py,sha256=fgWRBzRTtsf3r2INyS4f7WHlzgjB5YM1ekiwqD21aac,6634
|
351
351
|
ccxt/base/errors.py,sha256=-LVeTNyXvu3QEgb-p-KzMpcBgzHlvFTwDzmZK7Gfc14,3401
|
352
|
-
ccxt/base/exchange.py,sha256=
|
352
|
+
ccxt/base/exchange.py,sha256=sffNGME5Y5ofh207YU3Z2D9qRVczsjizA4aLJjyU7cE,170567
|
353
353
|
ccxt/base/precise.py,sha256=_xfu54sV0vWNnOfGTKRFykeuWP8mn4K1m9lk1tcllX4,8565
|
354
354
|
ccxt/base/types.py,sha256=8FseQkf_LL-nXdb5LyT6RpDaU8pr3HAI9Jb9Wj_oDN0,1366
|
355
|
-
ccxt/pro/__init__.py,sha256=
|
355
|
+
ccxt/pro/__init__.py,sha256=WQxUEZ07iK1n3R6-Iaq4vfgRX-EvbB3YfYj_dcMcmqo,6463
|
356
356
|
ccxt/pro/alpaca.py,sha256=CmaU0MJq0HiNaYvBHeDJfTa-letDiEQonRON7Q_3W_k,26686
|
357
357
|
ccxt/pro/ascendex.py,sha256=k6rpuiPhj3ipeWRG5vwR22SS4iAzQPe1q1WxJaaucLk,34565
|
358
358
|
ccxt/pro/bequant.py,sha256=qz8JjnpkAQY_CFiFSKGqrjjgZ2167_TBKjSJOb9NeDw,1081
|
@@ -462,7 +462,7 @@ ccxt/test/base/test_ticker.py,sha256=h9AV_O6s-Ax3vB3sFoN0Mz22rMOi65i9BDv0SNejH98
|
|
462
462
|
ccxt/test/base/test_trade.py,sha256=bL9o3S_TGW8Nnlxu-BYkRG8NyRzKAWrU66uO5jJCM3A,2259
|
463
463
|
ccxt/test/base/test_trading_fee.py,sha256=yRCpLHLg_ca9JQXdZB3_pIMHgHLGEfeQF95E6d1e2Bc,1125
|
464
464
|
ccxt/test/base/test_transaction.py,sha256=BTbB4UHHXkrvYgwbrhh867nVRlevmIkIrz1W_odlQJI,1434
|
465
|
-
ccxt-3.1.
|
466
|
-
ccxt-3.1.
|
467
|
-
ccxt-3.1.
|
468
|
-
ccxt-3.1.
|
465
|
+
ccxt-3.1.35.dist-info/METADATA,sha256=k4EuGn83BjgX03mFhTl0x7WHZyzbw0NmGh49LsWr4DU,110521
|
466
|
+
ccxt-3.1.35.dist-info/WHEEL,sha256=a-zpFRIJzOq5QfuhBzbhiA1eHTzNCJn8OdRvhdNX0Rk,110
|
467
|
+
ccxt-3.1.35.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
|
468
|
+
ccxt-3.1.35.dist-info/RECORD,,
|
File without changes
|
File without changes
|