ccxt 4.2.20__py2.py3-none-any.whl → 4.2.22__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.
Potentially problematic release.
This version of ccxt might be problematic. Click here for more details.
- ccxt/__init__.py +1 -1
- ccxt/abstract/binance.py +3 -0
- ccxt/abstract/binancecoinm.py +3 -0
- ccxt/abstract/binanceus.py +16 -12
- ccxt/abstract/binanceusdm.py +3 -0
- ccxt/abstract/gate.py +1 -0
- ccxt/abstract/gateio.py +1 -0
- ccxt/abstract/novadax.py +22 -18
- ccxt/abstract/phemex.py +1 -0
- ccxt/async_support/__init__.py +1 -1
- ccxt/async_support/base/exchange.py +16 -4
- ccxt/async_support/bigone.py +1 -0
- ccxt/async_support/binance.py +14 -3
- ccxt/async_support/bitget.py +11 -1
- ccxt/async_support/bitrue.py +1 -0
- ccxt/async_support/bitvavo.py +250 -152
- ccxt/async_support/blockchaincom.py +3 -1
- ccxt/async_support/bybit.py +49 -10
- ccxt/async_support/coinbasepro.py +1 -0
- ccxt/async_support/coinex.py +34 -12
- ccxt/async_support/deribit.py +145 -0
- ccxt/async_support/gate.py +30 -1
- ccxt/async_support/novadax.py +27 -23
- ccxt/async_support/okcoin.py +3 -0
- ccxt/async_support/phemex.py +7 -3
- ccxt/async_support/poloniex.py +1 -0
- ccxt/async_support/woo.py +1 -1
- ccxt/base/exchange.py +17 -5
- ccxt/bigone.py +1 -0
- ccxt/binance.py +14 -3
- ccxt/bitget.py +11 -1
- ccxt/bitrue.py +1 -0
- ccxt/bitvavo.py +250 -152
- ccxt/blockchaincom.py +3 -1
- ccxt/bybit.py +49 -10
- ccxt/coinbasepro.py +1 -0
- ccxt/coinex.py +34 -12
- ccxt/deribit.py +145 -0
- ccxt/gate.py +30 -1
- ccxt/novadax.py +27 -23
- ccxt/okcoin.py +3 -0
- ccxt/phemex.py +7 -3
- ccxt/poloniex.py +1 -0
- ccxt/pro/__init__.py +1 -1
- ccxt/pro/bequant.py +7 -1
- ccxt/pro/binance.py +7 -4
- ccxt/pro/binancecoinm.py +7 -1
- ccxt/pro/binanceus.py +7 -1
- ccxt/pro/bitcoincom.py +7 -1
- ccxt/pro/bitget.py +1 -1
- ccxt/pro/bitopro.py +7 -3
- ccxt/pro/bitrue.py +5 -1
- ccxt/pro/bitvavo.py +623 -19
- ccxt/pro/lbank.py +1 -1
- ccxt/pro/okx.py +10 -2
- ccxt/test/test_async.py +14 -1
- ccxt/test/test_sync.py +14 -1
- ccxt/woo.py +1 -1
- {ccxt-4.2.20.dist-info → ccxt-4.2.22.dist-info}/METADATA +4 -4
- {ccxt-4.2.20.dist-info → ccxt-4.2.22.dist-info}/RECORD +62 -62
- {ccxt-4.2.20.dist-info → ccxt-4.2.22.dist-info}/WHEEL +0 -0
- {ccxt-4.2.20.dist-info → ccxt-4.2.22.dist-info}/top_level.txt +0 -0
ccxt/__init__.py
CHANGED
ccxt/abstract/binance.py
CHANGED
@@ -94,6 +94,7 @@ class ImplicitAPI:
|
|
94
94
|
sapi_get_convert_exchangeinfo = sapiGetConvertExchangeInfo = Entry('convert/exchangeInfo', 'sapi', 'GET', {'cost': 50})
|
95
95
|
sapi_get_convert_assetinfo = sapiGetConvertAssetInfo = Entry('convert/assetInfo', 'sapi', 'GET', {'cost': 10})
|
96
96
|
sapi_get_convert_orderstatus = sapiGetConvertOrderStatus = Entry('convert/orderStatus', 'sapi', 'GET', {'cost': 0.6667})
|
97
|
+
sapi_get_convert_limit_queryopenorders = sapiGetConvertLimitQueryOpenOrders = Entry('convert/limit/queryOpenOrders', 'sapi', 'GET', {'cost': 20.001})
|
97
98
|
sapi_get_account_status = sapiGetAccountStatus = Entry('account/status', 'sapi', 'GET', {'cost': 0.1})
|
98
99
|
sapi_get_account_apitradingstatus = sapiGetAccountApiTradingStatus = Entry('account/apiTradingStatus', 'sapi', 'GET', {'cost': 0.1})
|
99
100
|
sapi_get_account_apirestrictions_iprestriction = sapiGetAccountApiRestrictionsIpRestriction = Entry('account/apiRestrictions/ipRestriction', 'sapi', 'GET', {'cost': 0.1})
|
@@ -339,6 +340,8 @@ class ImplicitAPI:
|
|
339
340
|
sapi_post_loan_vip_repay = sapiPostLoanVipRepay = Entry('loan/vip/repay', 'sapi', 'POST', {'cost': 40.002})
|
340
341
|
sapi_post_convert_getquote = sapiPostConvertGetQuote = Entry('convert/getQuote', 'sapi', 'POST', {'cost': 1.3334})
|
341
342
|
sapi_post_convert_acceptquote = sapiPostConvertAcceptQuote = Entry('convert/acceptQuote', 'sapi', 'POST', {'cost': 3.3335})
|
343
|
+
sapi_post_convert_limit_placeorder = sapiPostConvertLimitPlaceOrder = Entry('convert/limit/placeOrder', 'sapi', 'POST', {'cost': 3.3335})
|
344
|
+
sapi_post_convert_limit_cancelorder = sapiPostConvertLimitCancelOrder = Entry('convert/limit/cancelOrder', 'sapi', 'POST', {'cost': 1.3334})
|
342
345
|
sapi_post_portfolio_auto_collection = sapiPostPortfolioAutoCollection = Entry('portfolio/auto-collection', 'sapi', 'POST', {'cost': 150})
|
343
346
|
sapi_post_portfolio_asset_collection = sapiPostPortfolioAssetCollection = Entry('portfolio/asset-collection', 'sapi', 'POST', {'cost': 6})
|
344
347
|
sapi_post_portfolio_bnb_transfer = sapiPostPortfolioBnbTransfer = Entry('portfolio/bnb-transfer', 'sapi', 'POST', {'cost': 150})
|
ccxt/abstract/binancecoinm.py
CHANGED
@@ -94,6 +94,7 @@ class ImplicitAPI:
|
|
94
94
|
sapi_get_convert_exchangeinfo = sapiGetConvertExchangeInfo = Entry('convert/exchangeInfo', 'sapi', 'GET', {'cost': 50})
|
95
95
|
sapi_get_convert_assetinfo = sapiGetConvertAssetInfo = Entry('convert/assetInfo', 'sapi', 'GET', {'cost': 10})
|
96
96
|
sapi_get_convert_orderstatus = sapiGetConvertOrderStatus = Entry('convert/orderStatus', 'sapi', 'GET', {'cost': 0.6667})
|
97
|
+
sapi_get_convert_limit_queryopenorders = sapiGetConvertLimitQueryOpenOrders = Entry('convert/limit/queryOpenOrders', 'sapi', 'GET', {'cost': 20.001})
|
97
98
|
sapi_get_account_status = sapiGetAccountStatus = Entry('account/status', 'sapi', 'GET', {'cost': 0.1})
|
98
99
|
sapi_get_account_apitradingstatus = sapiGetAccountApiTradingStatus = Entry('account/apiTradingStatus', 'sapi', 'GET', {'cost': 0.1})
|
99
100
|
sapi_get_account_apirestrictions_iprestriction = sapiGetAccountApiRestrictionsIpRestriction = Entry('account/apiRestrictions/ipRestriction', 'sapi', 'GET', {'cost': 0.1})
|
@@ -339,6 +340,8 @@ class ImplicitAPI:
|
|
339
340
|
sapi_post_loan_vip_repay = sapiPostLoanVipRepay = Entry('loan/vip/repay', 'sapi', 'POST', {'cost': 40.002})
|
340
341
|
sapi_post_convert_getquote = sapiPostConvertGetQuote = Entry('convert/getQuote', 'sapi', 'POST', {'cost': 1.3334})
|
341
342
|
sapi_post_convert_acceptquote = sapiPostConvertAcceptQuote = Entry('convert/acceptQuote', 'sapi', 'POST', {'cost': 3.3335})
|
343
|
+
sapi_post_convert_limit_placeorder = sapiPostConvertLimitPlaceOrder = Entry('convert/limit/placeOrder', 'sapi', 'POST', {'cost': 3.3335})
|
344
|
+
sapi_post_convert_limit_cancelorder = sapiPostConvertLimitCancelOrder = Entry('convert/limit/cancelOrder', 'sapi', 'POST', {'cost': 1.3334})
|
342
345
|
sapi_post_portfolio_auto_collection = sapiPostPortfolioAutoCollection = Entry('portfolio/auto-collection', 'sapi', 'POST', {'cost': 150})
|
343
346
|
sapi_post_portfolio_asset_collection = sapiPostPortfolioAssetCollection = Entry('portfolio/asset-collection', 'sapi', 'POST', {'cost': 6})
|
344
347
|
sapi_post_portfolio_bnb_transfer = sapiPostPortfolioBnbTransfer = Entry('portfolio/bnb-transfer', 'sapi', 'POST', {'cost': 150})
|
ccxt/abstract/binanceus.py
CHANGED
@@ -94,6 +94,7 @@ class ImplicitAPI:
|
|
94
94
|
sapi_get_convert_exchangeinfo = sapiGetConvertExchangeInfo = Entry('convert/exchangeInfo', 'sapi', 'GET', {'cost': 50})
|
95
95
|
sapi_get_convert_assetinfo = sapiGetConvertAssetInfo = Entry('convert/assetInfo', 'sapi', 'GET', {'cost': 10})
|
96
96
|
sapi_get_convert_orderstatus = sapiGetConvertOrderStatus = Entry('convert/orderStatus', 'sapi', 'GET', {'cost': 0.6667})
|
97
|
+
sapi_get_convert_limit_queryopenorders = sapiGetConvertLimitQueryOpenOrders = Entry('convert/limit/queryOpenOrders', 'sapi', 'GET', {'cost': 20.001})
|
97
98
|
sapi_get_account_status = sapiGetAccountStatus = Entry('account/status', 'sapi', 'GET', {'cost': 0.1})
|
98
99
|
sapi_get_account_apitradingstatus = sapiGetAccountApiTradingStatus = Entry('account/apiTradingStatus', 'sapi', 'GET', {'cost': 0.1})
|
99
100
|
sapi_get_account_apirestrictions_iprestriction = sapiGetAccountApiRestrictionsIpRestriction = Entry('account/apiRestrictions/ipRestriction', 'sapi', 'GET', {'cost': 0.1})
|
@@ -339,6 +340,8 @@ class ImplicitAPI:
|
|
339
340
|
sapi_post_loan_vip_repay = sapiPostLoanVipRepay = Entry('loan/vip/repay', 'sapi', 'POST', {'cost': 40.002})
|
340
341
|
sapi_post_convert_getquote = sapiPostConvertGetQuote = Entry('convert/getQuote', 'sapi', 'POST', {'cost': 1.3334})
|
341
342
|
sapi_post_convert_acceptquote = sapiPostConvertAcceptQuote = Entry('convert/acceptQuote', 'sapi', 'POST', {'cost': 3.3335})
|
343
|
+
sapi_post_convert_limit_placeorder = sapiPostConvertLimitPlaceOrder = Entry('convert/limit/placeOrder', 'sapi', 'POST', {'cost': 3.3335})
|
344
|
+
sapi_post_convert_limit_cancelorder = sapiPostConvertLimitCancelOrder = Entry('convert/limit/cancelOrder', 'sapi', 'POST', {'cost': 1.3334})
|
342
345
|
sapi_post_portfolio_auto_collection = sapiPostPortfolioAutoCollection = Entry('portfolio/auto-collection', 'sapi', 'POST', {'cost': 150})
|
343
346
|
sapi_post_portfolio_asset_collection = sapiPostPortfolioAssetCollection = Entry('portfolio/asset-collection', 'sapi', 'POST', {'cost': 6})
|
344
347
|
sapi_post_portfolio_bnb_transfer = sapiPostPortfolioBnbTransfer = Entry('portfolio/bnb-transfer', 'sapi', 'POST', {'cost': 150})
|
@@ -562,21 +565,21 @@ class ImplicitAPI:
|
|
562
565
|
eapiprivate_delete_allopenorders = eapiPrivateDeleteAllOpenOrders = Entry('allOpenOrders', 'eapiPrivate', 'DELETE', {'cost': 1})
|
563
566
|
eapiprivate_delete_allopenordersbyunderlying = eapiPrivateDeleteAllOpenOrdersByUnderlying = Entry('allOpenOrdersByUnderlying', 'eapiPrivate', 'DELETE', {'cost': 1})
|
564
567
|
eapiprivate_delete_listenkey = eapiPrivateDeleteListenKey = Entry('listenKey', 'eapiPrivate', 'DELETE', {'cost': 1})
|
565
|
-
public_get_ping = publicGetPing = Entry('ping', 'public', 'GET', {'cost':
|
566
|
-
public_get_time = publicGetTime = Entry('time', 'public', 'GET', {'cost':
|
568
|
+
public_get_ping = publicGetPing = Entry('ping', 'public', 'GET', {'cost': 1})
|
569
|
+
public_get_time = publicGetTime = Entry('time', 'public', 'GET', {'cost': 1})
|
567
570
|
public_get_depth = publicGetDepth = Entry('depth', 'public', 'GET', {'cost': 1, 'byLimit': [[100, 1], [500, 5], [1000, 10], [5000, 50]]})
|
568
|
-
public_get_trades = publicGetTrades = Entry('trades', 'public', 'GET', {'cost':
|
569
|
-
public_get_aggtrades = publicGetAggTrades = Entry('aggTrades', 'public', 'GET', {'cost':
|
570
|
-
public_get_historicaltrades = publicGetHistoricalTrades = Entry('historicalTrades', 'public', 'GET', {'cost':
|
571
|
-
public_get_klines = publicGetKlines = Entry('klines', 'public', 'GET', {'cost':
|
571
|
+
public_get_trades = publicGetTrades = Entry('trades', 'public', 'GET', {'cost': 1})
|
572
|
+
public_get_aggtrades = publicGetAggTrades = Entry('aggTrades', 'public', 'GET', {'cost': 1})
|
573
|
+
public_get_historicaltrades = publicGetHistoricalTrades = Entry('historicalTrades', 'public', 'GET', {'cost': 5})
|
574
|
+
public_get_klines = publicGetKlines = Entry('klines', 'public', 'GET', {'cost': 1})
|
572
575
|
public_get_uiklines = publicGetUiKlines = Entry('uiKlines', 'public', 'GET', {'cost': 0.4})
|
573
|
-
public_get_ticker_24hr = publicGetTicker24hr = Entry('ticker/24hr', 'public', 'GET', {'cost':
|
574
|
-
public_get_ticker = publicGetTicker = Entry('ticker', 'public', 'GET', {'cost':
|
576
|
+
public_get_ticker_24hr = publicGetTicker24hr = Entry('ticker/24hr', 'public', 'GET', {'cost': 1, 'noSymbol': 40})
|
577
|
+
public_get_ticker = publicGetTicker = Entry('ticker', 'public', 'GET', {'cost': 2, 'noSymbol': 100})
|
575
578
|
public_get_ticker_tradingday = publicGetTickerTradingDay = Entry('ticker/tradingDay', 'public', 'GET', {'cost': 0.8})
|
576
|
-
public_get_ticker_price = publicGetTickerPrice = Entry('ticker/price', 'public', 'GET', {'cost':
|
577
|
-
public_get_ticker_bookticker = publicGetTickerBookTicker = Entry('ticker/bookTicker', 'public', 'GET', {'cost':
|
578
|
-
public_get_exchangeinfo = publicGetExchangeInfo = Entry('exchangeInfo', 'public', 'GET', {'cost':
|
579
|
-
public_get_avgprice = publicGetAvgPrice = Entry('avgPrice', 'public', 'GET', {'cost':
|
579
|
+
public_get_ticker_price = publicGetTickerPrice = Entry('ticker/price', 'public', 'GET', {'cost': 1, 'noSymbol': 2})
|
580
|
+
public_get_ticker_bookticker = publicGetTickerBookTicker = Entry('ticker/bookTicker', 'public', 'GET', {'cost': 1, 'noSymbol': 2})
|
581
|
+
public_get_exchangeinfo = publicGetExchangeInfo = Entry('exchangeInfo', 'public', 'GET', {'cost': 10})
|
582
|
+
public_get_avgprice = publicGetAvgPrice = Entry('avgPrice', 'public', 'GET', {'cost': 1})
|
580
583
|
public_put_userdatastream = publicPutUserDataStream = Entry('userDataStream', 'public', 'PUT', {'cost': 0.4})
|
581
584
|
public_post_userdatastream = publicPostUserDataStream = Entry('userDataStream', 'public', 'POST', {'cost': 0.4})
|
582
585
|
public_delete_userdatastream = publicDeleteUserDataStream = Entry('userDataStream', 'public', 'DELETE', {'cost': 0.4})
|
@@ -592,6 +595,7 @@ class ImplicitAPI:
|
|
592
595
|
private_get_mypreventedmatches = privateGetMyPreventedMatches = Entry('myPreventedMatches', 'private', 'GET', {'cost': 4})
|
593
596
|
private_get_myallocations = privateGetMyAllocations = Entry('myAllocations', 'private', 'GET', {'cost': 4})
|
594
597
|
private_get_account_commission = privateGetAccountCommission = Entry('account/commission', 'private', 'GET', {'cost': 4})
|
598
|
+
private_get_status = privateGetStatus = Entry('status', 'private', 'GET', {'cost': 1})
|
595
599
|
private_post_order_oco = privatePostOrderOco = Entry('order/oco', 'private', 'POST', {'cost': 0.2})
|
596
600
|
private_post_sor_order = privatePostSorOrder = Entry('sor/order', 'private', 'POST', {'cost': 0.2})
|
597
601
|
private_post_sor_order_test = privatePostSorOrderTest = Entry('sor/order/test', 'private', 'POST', {'cost': 0.2})
|
ccxt/abstract/binanceusdm.py
CHANGED
@@ -94,6 +94,7 @@ class ImplicitAPI:
|
|
94
94
|
sapi_get_convert_exchangeinfo = sapiGetConvertExchangeInfo = Entry('convert/exchangeInfo', 'sapi', 'GET', {'cost': 50})
|
95
95
|
sapi_get_convert_assetinfo = sapiGetConvertAssetInfo = Entry('convert/assetInfo', 'sapi', 'GET', {'cost': 10})
|
96
96
|
sapi_get_convert_orderstatus = sapiGetConvertOrderStatus = Entry('convert/orderStatus', 'sapi', 'GET', {'cost': 0.6667})
|
97
|
+
sapi_get_convert_limit_queryopenorders = sapiGetConvertLimitQueryOpenOrders = Entry('convert/limit/queryOpenOrders', 'sapi', 'GET', {'cost': 20.001})
|
97
98
|
sapi_get_account_status = sapiGetAccountStatus = Entry('account/status', 'sapi', 'GET', {'cost': 0.1})
|
98
99
|
sapi_get_account_apitradingstatus = sapiGetAccountApiTradingStatus = Entry('account/apiTradingStatus', 'sapi', 'GET', {'cost': 0.1})
|
99
100
|
sapi_get_account_apirestrictions_iprestriction = sapiGetAccountApiRestrictionsIpRestriction = Entry('account/apiRestrictions/ipRestriction', 'sapi', 'GET', {'cost': 0.1})
|
@@ -339,6 +340,8 @@ class ImplicitAPI:
|
|
339
340
|
sapi_post_loan_vip_repay = sapiPostLoanVipRepay = Entry('loan/vip/repay', 'sapi', 'POST', {'cost': 40.002})
|
340
341
|
sapi_post_convert_getquote = sapiPostConvertGetQuote = Entry('convert/getQuote', 'sapi', 'POST', {'cost': 1.3334})
|
341
342
|
sapi_post_convert_acceptquote = sapiPostConvertAcceptQuote = Entry('convert/acceptQuote', 'sapi', 'POST', {'cost': 3.3335})
|
343
|
+
sapi_post_convert_limit_placeorder = sapiPostConvertLimitPlaceOrder = Entry('convert/limit/placeOrder', 'sapi', 'POST', {'cost': 3.3335})
|
344
|
+
sapi_post_convert_limit_cancelorder = sapiPostConvertLimitCancelOrder = Entry('convert/limit/cancelOrder', 'sapi', 'POST', {'cost': 1.3334})
|
342
345
|
sapi_post_portfolio_auto_collection = sapiPostPortfolioAutoCollection = Entry('portfolio/auto-collection', 'sapi', 'POST', {'cost': 150})
|
343
346
|
sapi_post_portfolio_asset_collection = sapiPostPortfolioAssetCollection = Entry('portfolio/asset-collection', 'sapi', 'POST', {'cost': 6})
|
344
347
|
sapi_post_portfolio_bnb_transfer = sapiPostPortfolioBnbTransfer = Entry('portfolio/bnb-transfer', 'sapi', 'POST', {'cost': 150})
|
ccxt/abstract/gate.py
CHANGED
@@ -243,6 +243,7 @@ class ImplicitAPI:
|
|
243
243
|
private_loan_get_multi_collateral_currency_quota = privateLoanGetMultiCollateralCurrencyQuota = Entry('multi_collateral/currency_quota', ['private', 'loan'], 'GET', {'cost': 1.3333333333333333})
|
244
244
|
private_loan_get_multi_collateral_currencies = privateLoanGetMultiCollateralCurrencies = Entry('multi_collateral/currencies', ['private', 'loan'], 'GET', {'cost': 1.3333333333333333})
|
245
245
|
private_loan_get_multi_collateral_ltv = privateLoanGetMultiCollateralLtv = Entry('multi_collateral/ltv', ['private', 'loan'], 'GET', {'cost': 1.3333333333333333})
|
246
|
+
private_loan_get_multi_collateral_fixed_rate = privateLoanGetMultiCollateralFixedRate = Entry('multi_collateral/fixed_rate', ['private', 'loan'], 'GET', {'cost': 1.3333333333333333})
|
246
247
|
private_loan_post_collateral_orders = privateLoanPostCollateralOrders = Entry('collateral/orders', ['private', 'loan'], 'POST', {'cost': 1.3333333333333333})
|
247
248
|
private_loan_post_collateral_repay = privateLoanPostCollateralRepay = Entry('collateral/repay', ['private', 'loan'], 'POST', {'cost': 1.3333333333333333})
|
248
249
|
private_loan_post_collateral_collaterals = privateLoanPostCollateralCollaterals = Entry('collateral/collaterals', ['private', 'loan'], 'POST', {'cost': 1.3333333333333333})
|
ccxt/abstract/gateio.py
CHANGED
@@ -243,6 +243,7 @@ class ImplicitAPI:
|
|
243
243
|
private_loan_get_multi_collateral_currency_quota = privateLoanGetMultiCollateralCurrencyQuota = Entry('multi_collateral/currency_quota', ['private', 'loan'], 'GET', {'cost': 1.3333333333333333})
|
244
244
|
private_loan_get_multi_collateral_currencies = privateLoanGetMultiCollateralCurrencies = Entry('multi_collateral/currencies', ['private', 'loan'], 'GET', {'cost': 1.3333333333333333})
|
245
245
|
private_loan_get_multi_collateral_ltv = privateLoanGetMultiCollateralLtv = Entry('multi_collateral/ltv', ['private', 'loan'], 'GET', {'cost': 1.3333333333333333})
|
246
|
+
private_loan_get_multi_collateral_fixed_rate = privateLoanGetMultiCollateralFixedRate = Entry('multi_collateral/fixed_rate', ['private', 'loan'], 'GET', {'cost': 1.3333333333333333})
|
246
247
|
private_loan_post_collateral_orders = privateLoanPostCollateralOrders = Entry('collateral/orders', ['private', 'loan'], 'POST', {'cost': 1.3333333333333333})
|
247
248
|
private_loan_post_collateral_repay = privateLoanPostCollateralRepay = Entry('collateral/repay', ['private', 'loan'], 'POST', {'cost': 1.3333333333333333})
|
248
249
|
private_loan_post_collateral_collaterals = privateLoanPostCollateralCollaterals = Entry('collateral/collaterals', ['private', 'loan'], 'POST', {'cost': 1.3333333333333333})
|
ccxt/abstract/novadax.py
CHANGED
@@ -2,24 +2,28 @@ from ccxt.base.types import Entry
|
|
2
2
|
|
3
3
|
|
4
4
|
class ImplicitAPI:
|
5
|
-
public_get_common_symbol = publicGetCommonSymbol = Entry('common/symbol', 'public', 'GET', {'cost': 1
|
6
|
-
public_get_common_symbols = publicGetCommonSymbols = Entry('common/symbols', 'public', 'GET', {'cost': 1
|
7
|
-
public_get_common_timestamp = publicGetCommonTimestamp = Entry('common/timestamp', 'public', 'GET', {'cost': 1
|
8
|
-
public_get_market_tickers = publicGetMarketTickers = Entry('market/tickers', 'public', 'GET', {'cost':
|
9
|
-
public_get_market_ticker = publicGetMarketTicker = Entry('market/ticker', 'public', 'GET', {'cost': 1
|
10
|
-
public_get_market_depth = publicGetMarketDepth = Entry('market/depth', 'public', 'GET', {'cost': 1
|
11
|
-
public_get_market_trades = publicGetMarketTrades = Entry('market/trades', 'public', 'GET', {'cost':
|
12
|
-
public_get_market_kline_history = publicGetMarketKlineHistory = Entry('market/kline/history', 'public', 'GET', {'cost':
|
13
|
-
private_get_orders_get = privateGetOrdersGet = Entry('orders/get', 'private', 'GET', {'cost':
|
14
|
-
private_get_orders_list = privateGetOrdersList = Entry('orders/list', 'private', 'GET', {'cost':
|
5
|
+
public_get_common_symbol = publicGetCommonSymbol = Entry('common/symbol', 'public', 'GET', {'cost': 1})
|
6
|
+
public_get_common_symbols = publicGetCommonSymbols = Entry('common/symbols', 'public', 'GET', {'cost': 1})
|
7
|
+
public_get_common_timestamp = publicGetCommonTimestamp = Entry('common/timestamp', 'public', 'GET', {'cost': 1})
|
8
|
+
public_get_market_tickers = publicGetMarketTickers = Entry('market/tickers', 'public', 'GET', {'cost': 5})
|
9
|
+
public_get_market_ticker = publicGetMarketTicker = Entry('market/ticker', 'public', 'GET', {'cost': 1})
|
10
|
+
public_get_market_depth = publicGetMarketDepth = Entry('market/depth', 'public', 'GET', {'cost': 1})
|
11
|
+
public_get_market_trades = publicGetMarketTrades = Entry('market/trades', 'public', 'GET', {'cost': 5})
|
12
|
+
public_get_market_kline_history = publicGetMarketKlineHistory = Entry('market/kline/history', 'public', 'GET', {'cost': 5})
|
13
|
+
private_get_orders_get = privateGetOrdersGet = Entry('orders/get', 'private', 'GET', {'cost': 1})
|
14
|
+
private_get_orders_list = privateGetOrdersList = Entry('orders/list', 'private', 'GET', {'cost': 10})
|
15
15
|
private_get_orders_fill = privateGetOrdersFill = Entry('orders/fill', 'private', 'GET', {'cost': 3})
|
16
|
-
private_get_orders_fills = privateGetOrdersFills = Entry('orders/fills', 'private', 'GET', {'cost':
|
17
|
-
private_get_account_getbalance = privateGetAccountGetBalance = Entry('account/getBalance', 'private', 'GET', {'cost':
|
18
|
-
private_get_account_subs = privateGetAccountSubs = Entry('account/subs', 'private', 'GET', {'cost':
|
19
|
-
private_get_account_subs_balance = privateGetAccountSubsBalance = Entry('account/subs/balance', 'private', 'GET', {'cost':
|
20
|
-
private_get_account_subs_transfer_record = privateGetAccountSubsTransferRecord = Entry('account/subs/transfer/record', 'private', 'GET', {'cost':
|
16
|
+
private_get_orders_fills = privateGetOrdersFills = Entry('orders/fills', 'private', 'GET', {'cost': 10})
|
17
|
+
private_get_account_getbalance = privateGetAccountGetBalance = Entry('account/getBalance', 'private', 'GET', {'cost': 1})
|
18
|
+
private_get_account_subs = privateGetAccountSubs = Entry('account/subs', 'private', 'GET', {'cost': 1})
|
19
|
+
private_get_account_subs_balance = privateGetAccountSubsBalance = Entry('account/subs/balance', 'private', 'GET', {'cost': 1})
|
20
|
+
private_get_account_subs_transfer_record = privateGetAccountSubsTransferRecord = Entry('account/subs/transfer/record', 'private', 'GET', {'cost': 10})
|
21
21
|
private_get_wallet_query_deposit_withdraw = privateGetWalletQueryDepositWithdraw = Entry('wallet/query/deposit-withdraw', 'private', 'GET', {'cost': 3})
|
22
|
-
private_post_orders_create = privatePostOrdersCreate = Entry('orders/create', 'private', 'POST', {'cost':
|
23
|
-
|
22
|
+
private_post_orders_create = privatePostOrdersCreate = Entry('orders/create', 'private', 'POST', {'cost': 5})
|
23
|
+
private_post_orders_batch_create = privatePostOrdersBatchCreate = Entry('orders/batch-create', 'private', 'POST', {'cost': 50})
|
24
|
+
private_post_orders_cancel = privatePostOrdersCancel = Entry('orders/cancel', 'private', 'POST', {'cost': 1})
|
25
|
+
private_post_orders_batch_cancel = privatePostOrdersBatchCancel = Entry('orders/batch-cancel', 'private', 'POST', {'cost': 10})
|
26
|
+
private_post_orders_cancel_by_symbol = privatePostOrdersCancelBySymbol = Entry('orders/cancel-by-symbol', 'private', 'POST', {'cost': 10})
|
27
|
+
private_post_account_subs_transfer = privatePostAccountSubsTransfer = Entry('account/subs/transfer', 'private', 'POST', {'cost': 5})
|
28
|
+
private_post_wallet_withdraw_coin = privatePostWalletWithdrawCoin = Entry('wallet/withdraw/coin', 'private', 'POST', {'cost': 3})
|
24
29
|
private_post_account_withdraw_coin = privatePostAccountWithdrawCoin = Entry('account/withdraw/coin', 'private', 'POST', {'cost': 3})
|
25
|
-
private_post_account_subs_transfer = privatePostAccountSubsTransfer = Entry('account/subs/transfer', 'private', 'POST', {'cost': 3})
|
ccxt/abstract/phemex.py
CHANGED
@@ -49,6 +49,7 @@ class ImplicitAPI:
|
|
49
49
|
private_get_api_data_g_futures_trades = privateGetApiDataGFuturesTrades = Entry('api-data/g-futures/trades', 'private', 'GET', {'cost': 5})
|
50
50
|
private_get_api_data_futures_trading_fees = privateGetApiDataFuturesTradingFees = Entry('api-data/futures/trading-fees', 'private', 'GET', {'cost': 5})
|
51
51
|
private_get_api_data_g_futures_trading_fees = privateGetApiDataGFuturesTradingFees = Entry('api-data/g-futures/trading-fees', 'private', 'GET', {'cost': 5})
|
52
|
+
private_get_api_data_futures_v2_tradeaccountdetail = privateGetApiDataFuturesV2TradeAccountDetail = Entry('api-data/futures/v2/tradeAccountDetail', 'private', 'GET', {'cost': 5})
|
52
53
|
private_get_g_orders_activelist = privateGetGOrdersActiveList = Entry('g-orders/activeList', 'private', 'GET', {'cost': 1})
|
53
54
|
private_get_orders_activelist = privateGetOrdersActiveList = Entry('orders/activeList', 'private', 'GET', {'cost': 1})
|
54
55
|
private_get_exchange_order_list = privateGetExchangeOrderList = Entry('exchange/order/list', 'private', 'GET', {'cost': 5})
|
ccxt/async_support/__init__.py
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# -----------------------------------------------------------------------------
|
4
4
|
|
5
|
-
__version__ = '4.2.
|
5
|
+
__version__ = '4.2.22'
|
6
6
|
|
7
7
|
# -----------------------------------------------------------------------------
|
8
8
|
|
@@ -677,6 +677,12 @@ class Exchange(BaseExchange):
|
|
677
677
|
message = '. If you want to build OHLCV candles from trade executions data, visit https://github.com/ccxt/ccxt/tree/master/examples/ and see "build-ohlcv-bars" file'
|
678
678
|
raise NotSupported(self.id + ' fetchOHLCV() is not supported yet' + message)
|
679
679
|
|
680
|
+
async def fetch_ohlcv_ws(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}):
|
681
|
+
message = ''
|
682
|
+
if self.has['fetchTradesWs']:
|
683
|
+
message = '. If you want to build OHLCV candles from trade executions data, visit https://github.com/ccxt/ccxt/tree/master/examples/ and see "build-ohlcv-bars" file'
|
684
|
+
raise NotSupported(self.id + ' fetchOHLCVWs() is not supported yet. Try using fetchOHLCV instead.' + message)
|
685
|
+
|
680
686
|
async def watch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}):
|
681
687
|
raise NotSupported(self.id + ' watchOHLCV() is not supported yet')
|
682
688
|
|
@@ -1207,9 +1213,6 @@ class Exchange(BaseExchange):
|
|
1207
1213
|
async def watch_my_trades(self, symbol: str = None, since: Int = None, limit: Int = None, params={}):
|
1208
1214
|
raise NotSupported(self.id + ' watchMyTrades() is not supported yet')
|
1209
1215
|
|
1210
|
-
async def fetch_ohlcv_ws(self, symbol: str, timeframe: str = '1m', since: Int = None, limit: Int = None, params={}):
|
1211
|
-
raise NotSupported(self.id + ' fetchOHLCVWs() is not supported yet')
|
1212
|
-
|
1213
1216
|
async def fetch_greeks(self, symbol: str, params={}):
|
1214
1217
|
raise NotSupported(self.id + ' fetchGreeks() is not supported yet')
|
1215
1218
|
|
@@ -1227,9 +1230,15 @@ class Exchange(BaseExchange):
|
|
1227
1230
|
async def fetch_deposits(self, code: str = None, since: Int = None, limit: Int = None, params={}):
|
1228
1231
|
raise NotSupported(self.id + ' fetchDeposits() is not supported yet')
|
1229
1232
|
|
1233
|
+
async def fetch_deposits_ws(self, code: str = None, since: Int = None, limit: Int = None, params={}):
|
1234
|
+
raise NotSupported(self.id + ' fetchDepositsWs() is not supported yet')
|
1235
|
+
|
1230
1236
|
async def fetch_withdrawals(self, code: str = None, since: Int = None, limit: Int = None, params={}):
|
1231
1237
|
raise NotSupported(self.id + ' fetchWithdrawals() is not supported yet')
|
1232
1238
|
|
1239
|
+
async def fetch_withdrawals_ws(self, code: str = None, since: Int = None, limit: Int = None, params={}):
|
1240
|
+
raise NotSupported(self.id + ' fetchWithdrawalsWs() is not supported yet')
|
1241
|
+
|
1233
1242
|
async def fetch_open_interest(self, symbol: str, params={}):
|
1234
1243
|
raise NotSupported(self.id + ' fetchOpenInterest() is not supported yet')
|
1235
1244
|
|
@@ -1331,6 +1340,9 @@ class Exchange(BaseExchange):
|
|
1331
1340
|
async def fetch_trading_fees(self, params={}):
|
1332
1341
|
raise NotSupported(self.id + ' fetchTradingFees() is not supported yet')
|
1333
1342
|
|
1343
|
+
async def fetch_trading_fees_ws(self, params={}):
|
1344
|
+
raise NotSupported(self.id + ' fetchTradingFeesWs() is not supported yet')
|
1345
|
+
|
1334
1346
|
async def fetch_trading_fee(self, symbol: str, params={}):
|
1335
1347
|
if not self.has['fetchTradingFees']:
|
1336
1348
|
raise NotSupported(self.id + ' fetchTradingFee() is not supported yet')
|
ccxt/async_support/bigone.py
CHANGED
ccxt/async_support/binance.py
CHANGED
@@ -330,6 +330,7 @@ class binance(Exchange, ImplicitAPI):
|
|
330
330
|
'convert/exchangeInfo': 50,
|
331
331
|
'convert/assetInfo': 10,
|
332
332
|
'convert/orderStatus': 0.6667,
|
333
|
+
'convert/limit/queryOpenOrders': 20.001, # Weight(UID): 3000 => cost = 0.006667 * 3000 = 20.001
|
333
334
|
'account/status': 0.1,
|
334
335
|
'account/apiTradingStatus': 0.1,
|
335
336
|
'account/apiRestrictions/ipRestriction': 0.1,
|
@@ -601,6 +602,8 @@ class binance(Exchange, ImplicitAPI):
|
|
601
602
|
'loan/vip/repay': 40.002,
|
602
603
|
'convert/getQuote': 1.3334, # Weight(UID): 200 => cost = 0.006667 * 200 = 1.3334
|
603
604
|
'convert/acceptQuote': 3.3335, # Weight(UID): 500 => cost = 0.006667 * 500 = 3.3335
|
605
|
+
'convert/limit/placeOrder': 3.3335, # Weight(UID): 500 => cost = 0.006667 * 500 = 3.3335
|
606
|
+
'convert/limit/cancelOrder': 1.3334, # Weight(UID): 200 => cost = 0.006667 * 200 = 1.3334
|
604
607
|
'portfolio/auto-collection': 150, # Weight(IP): 1500 => cost = 0.1 * 1500 = 150
|
605
608
|
'portfolio/asset-collection': 6, # Weight(IP): 60 => cost = 0.1 * 60 = 6
|
606
609
|
'portfolio/bnb-transfer': 150, # Weight(IP): 1500 => cost = 0.1 * 1500 = 150
|
@@ -7370,12 +7373,20 @@ class binance(Exchange, ImplicitAPI):
|
|
7370
7373
|
|
7371
7374
|
async def fetch_positions(self, symbols: Strings = None, params={}):
|
7372
7375
|
"""
|
7376
|
+
:see: https://binance-docs.github.io/apidocs/futures/en/#position-information-v2-user_data
|
7377
|
+
:see: https://binance-docs.github.io/apidocs/delivery/en/#position-information-user_data
|
7378
|
+
:see: https://binance-docs.github.io/apidocs/futures/en/#account-information-v2-user_data
|
7379
|
+
:see: https://binance-docs.github.io/apidocs/delivery/en/#account-information-user_data
|
7380
|
+
:see: https://binance-docs.github.io/apidocs/voptions/en/#option-position-information-user_data
|
7373
7381
|
fetch all open positions
|
7374
|
-
:param str[]
|
7382
|
+
:param str[] [symbols]: list of unified market symbols
|
7375
7383
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
7384
|
+
:param str [method]: method name to call, "positionRisk", "account" or "option", default is "positionRisk"
|
7376
7385
|
:returns dict[]: a list of `position structure <https://docs.ccxt.com/#/?id=position-structure>`
|
7377
7386
|
"""
|
7378
|
-
|
7387
|
+
defaultValue = self.safe_string(self.options, 'fetchPositions', 'positionRisk')
|
7388
|
+
defaultMethod = None
|
7389
|
+
defaultMethod, params = self.handle_option_and_params(params, 'fetchPositions', 'method', defaultValue)
|
7379
7390
|
if defaultMethod == 'positionRisk':
|
7380
7391
|
return await self.fetch_positions_risk(symbols, params)
|
7381
7392
|
elif defaultMethod == 'account':
|
@@ -7383,7 +7394,7 @@ class binance(Exchange, ImplicitAPI):
|
|
7383
7394
|
elif defaultMethod == 'option':
|
7384
7395
|
return await self.fetch_option_positions(symbols, params)
|
7385
7396
|
else:
|
7386
|
-
raise NotSupported(self.id + '.options["fetchPositions"] = "' + defaultMethod + '" is invalid, please choose between "account", "positionRisk" and "option"')
|
7397
|
+
raise NotSupported(self.id + '.options["fetchPositions"]/params["method"] = "' + defaultMethod + '" is invalid, please choose between "account", "positionRisk" and "option"')
|
7387
7398
|
|
7388
7399
|
async def fetch_account_positions(self, symbols: Strings = None, params={}):
|
7389
7400
|
"""
|
ccxt/async_support/bitget.py
CHANGED
@@ -59,15 +59,21 @@ class bitget(Exchange, ImplicitAPI):
|
|
59
59
|
'cancelOrders': True,
|
60
60
|
'closeAllPositions': True,
|
61
61
|
'closePosition': True,
|
62
|
+
'createDepositAddress': False,
|
62
63
|
'createMarketBuyOrderWithCost': True,
|
63
64
|
'createMarketOrderWithCost': False,
|
64
65
|
'createMarketSellOrderWithCost': False,
|
65
66
|
'createOrder': True,
|
66
67
|
'createOrders': True,
|
67
68
|
'createOrderWithTakeProfitAndStopLoss': True,
|
69
|
+
'createPostOnlyOrder': True,
|
68
70
|
'createReduceOnlyOrder': False,
|
71
|
+
'createStopLimitOrder': True,
|
69
72
|
'createStopLossOrder': True,
|
73
|
+
'createStopMarketOrder': True,
|
74
|
+
'createStopOrder': True,
|
70
75
|
'createTakeProfitOrder': True,
|
76
|
+
'createTrailingAmountOrder': False,
|
71
77
|
'createTrailingPercentOrder': True,
|
72
78
|
'createTriggerOrder': True,
|
73
79
|
'editOrder': True,
|
@@ -85,6 +91,7 @@ class bitget(Exchange, ImplicitAPI):
|
|
85
91
|
'fetchDepositAddress': True,
|
86
92
|
'fetchDepositAddresses': False,
|
87
93
|
'fetchDeposits': True,
|
94
|
+
'fetchDepositsWithdrawals': False,
|
88
95
|
'fetchDepositWithdrawFee': 'emulated',
|
89
96
|
'fetchDepositWithdrawFees': True,
|
90
97
|
'fetchFundingHistory': True,
|
@@ -98,7 +105,7 @@ class bitget(Exchange, ImplicitAPI):
|
|
98
105
|
'fetchLeverage': True,
|
99
106
|
'fetchLeverageTiers': False,
|
100
107
|
'fetchLiquidations': False,
|
101
|
-
'fetchMarginMode':
|
108
|
+
'fetchMarginMode': False,
|
102
109
|
'fetchMarketLeverageTiers': True,
|
103
110
|
'fetchMarkets': True,
|
104
111
|
'fetchMarkOHLCV': True,
|
@@ -123,8 +130,10 @@ class bitget(Exchange, ImplicitAPI):
|
|
123
130
|
'fetchTrades': True,
|
124
131
|
'fetchTradingFee': True,
|
125
132
|
'fetchTradingFees': True,
|
133
|
+
'fetchTransactions': False,
|
126
134
|
'fetchTransfer': False,
|
127
135
|
'fetchTransfers': True,
|
136
|
+
'fetchWithdrawAddresses': False,
|
128
137
|
'fetchWithdrawal': False,
|
129
138
|
'fetchWithdrawals': True,
|
130
139
|
'reduceMargin': True,
|
@@ -133,6 +142,7 @@ class bitget(Exchange, ImplicitAPI):
|
|
133
142
|
'setLeverage': True,
|
134
143
|
'setMarginMode': True,
|
135
144
|
'setPositionMode': True,
|
145
|
+
'signIn': False,
|
136
146
|
'transfer': True,
|
137
147
|
'withdraw': True,
|
138
148
|
},
|
ccxt/async_support/bitrue.py
CHANGED
@@ -73,6 +73,7 @@ class bitrue(Exchange, ImplicitAPI):
|
|
73
73
|
'fetchDepositsWithdrawals': False,
|
74
74
|
'fetchDepositWithdrawFee': 'emulated',
|
75
75
|
'fetchDepositWithdrawFees': True,
|
76
|
+
'fetchFundingRate': False,
|
76
77
|
'fetchIsolatedBorrowRate': False,
|
77
78
|
'fetchIsolatedBorrowRates': False,
|
78
79
|
'fetchMarginMode': False,
|