ccxt 4.4.97__py2.py3-none-any.whl → 4.4.99__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 +4 -1
- ccxt/abstract/bitget.py +6 -0
- ccxt/abstract/hibachi.py +26 -0
- ccxt/async_support/__init__.py +4 -1
- ccxt/async_support/base/exchange.py +1 -1
- ccxt/async_support/binance.py +7 -6
- ccxt/async_support/bitget.py +2032 -559
- ccxt/async_support/bybit.py +5 -1
- ccxt/async_support/coinex.py +64 -3
- ccxt/async_support/coinmetro.py +2 -3
- ccxt/async_support/cryptocom.py +2 -1
- ccxt/async_support/gate.py +1 -2
- ccxt/async_support/hibachi.py +2080 -0
- ccxt/async_support/ndax.py +8 -0
- ccxt/async_support/novadax.py +34 -0
- ccxt/async_support/okx.py +2 -0
- ccxt/base/decimal_to_precision.py +7 -9
- ccxt/base/errors.py +6 -6
- ccxt/base/exchange.py +1 -1
- ccxt/binance.py +7 -6
- ccxt/bitget.py +2032 -559
- ccxt/bybit.py +5 -1
- ccxt/coinex.py +64 -3
- ccxt/coinmetro.py +2 -3
- ccxt/cryptocom.py +2 -1
- ccxt/gate.py +1 -2
- ccxt/hibachi.py +2079 -0
- ccxt/ndax.py +8 -0
- ccxt/novadax.py +34 -0
- ccxt/okx.py +2 -0
- ccxt/pro/__init__.py +2 -1
- ccxt/pro/alpaca.py +2 -2
- ccxt/pro/apex.py +2 -2
- ccxt/pro/ascendex.py +2 -2
- ccxt/pro/binance.py +2 -4
- ccxt/pro/bitget.py +3 -3
- ccxt/pro/bithumb.py +2 -2
- ccxt/pro/bitmart.py +2 -2
- ccxt/pro/bitmex.py +3 -3
- ccxt/pro/bitstamp.py +3 -3
- ccxt/pro/bittrade.py +2 -2
- ccxt/pro/bitvavo.py +4 -2
- ccxt/pro/bybit.py +4 -4
- ccxt/pro/cex.py +3 -2
- ccxt/pro/coinbaseexchange.py +4 -4
- ccxt/pro/coinbaseinternational.py +2 -2
- ccxt/pro/coincatch.py +1 -1
- ccxt/pro/coinone.py +2 -2
- ccxt/pro/cryptocom.py +2 -2
- ccxt/pro/derive.py +2 -2
- ccxt/pro/gate.py +3 -3
- ccxt/pro/hollaex.py +2 -2
- ccxt/pro/htx.py +3 -3
- ccxt/pro/hyperliquid.py +2 -2
- ccxt/pro/kraken.py +2 -2
- ccxt/pro/krakenfutures.py +4 -3
- ccxt/pro/kucoin.py +3 -2
- ccxt/pro/kucoinfutures.py +3 -2
- ccxt/pro/modetrade.py +2 -2
- ccxt/pro/okcoin.py +2 -2
- ccxt/pro/okx.py +5 -5
- ccxt/pro/onetrading.py +2 -2
- ccxt/pro/p2b.py +2 -2
- ccxt/pro/paradex.py +2 -2
- ccxt/pro/poloniex.py +2 -2
- ccxt/pro/probit.py +2 -2
- ccxt/pro/vertex.py +2 -2
- ccxt/pro/whitebit.py +2 -2
- ccxt/pro/woo.py +2 -2
- ccxt/pro/woofipro.py +2 -2
- ccxt/test/tests_async.py +1 -1
- ccxt/test/tests_sync.py +1 -1
- {ccxt-4.4.97.dist-info → ccxt-4.4.99.dist-info}/METADATA +7 -6
- {ccxt-4.4.97.dist-info → ccxt-4.4.99.dist-info}/RECORD +77 -74
- {ccxt-4.4.97.dist-info → ccxt-4.4.99.dist-info}/LICENSE.txt +0 -0
- {ccxt-4.4.97.dist-info → ccxt-4.4.99.dist-info}/WHEEL +0 -0
- {ccxt-4.4.97.dist-info → ccxt-4.4.99.dist-info}/top_level.txt +0 -0
ccxt/__init__.py
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
# ----------------------------------------------------------------------------
|
24
24
|
|
25
|
-
__version__ = '4.4.
|
25
|
+
__version__ = '4.4.99'
|
26
26
|
|
27
27
|
# ----------------------------------------------------------------------------
|
28
28
|
|
@@ -55,6 +55,7 @@ from ccxt.base.errors import NoChange # noqa: F4
|
|
55
55
|
from ccxt.base.errors import MarginModeAlreadySet # noqa: F401
|
56
56
|
from ccxt.base.errors import MarketClosed # noqa: F401
|
57
57
|
from ccxt.base.errors import ManualInteractionNeeded # noqa: F401
|
58
|
+
from ccxt.base.errors import RestrictedLocation # noqa: F401
|
58
59
|
from ccxt.base.errors import InsufficientFunds # noqa: F401
|
59
60
|
from ccxt.base.errors import InvalidAddress # noqa: F401
|
60
61
|
from ccxt.base.errors import AddressPending # noqa: F401
|
@@ -144,6 +145,7 @@ from ccxt.gate import gate # noqa: F4
|
|
144
145
|
from ccxt.gateio import gateio # noqa: F401
|
145
146
|
from ccxt.gemini import gemini # noqa: F401
|
146
147
|
from ccxt.hashkey import hashkey # noqa: F401
|
148
|
+
from ccxt.hibachi import hibachi # noqa: F401
|
147
149
|
from ccxt.hitbtc import hitbtc # noqa: F401
|
148
150
|
from ccxt.hollaex import hollaex # noqa: F401
|
149
151
|
from ccxt.htx import htx # noqa: F401
|
@@ -252,6 +254,7 @@ exchanges = [
|
|
252
254
|
'gateio',
|
253
255
|
'gemini',
|
254
256
|
'hashkey',
|
257
|
+
'hibachi',
|
255
258
|
'hitbtc',
|
256
259
|
'hollaex',
|
257
260
|
'htx',
|
ccxt/abstract/bitget.py
CHANGED
@@ -525,6 +525,7 @@ class ImplicitAPI:
|
|
525
525
|
private_common_get_v2_common_trade_rate = privateCommonGetV2CommonTradeRate = Entry('v2/common/trade-rate', ['private', 'common'], 'GET', {'cost': 2})
|
526
526
|
private_uta_get_v3_account_assets = privateUtaGetV3AccountAssets = Entry('v3/account/assets', ['private', 'uta'], 'GET', {'cost': 1})
|
527
527
|
private_uta_get_v3_account_settings = privateUtaGetV3AccountSettings = Entry('v3/account/settings', ['private', 'uta'], 'GET', {'cost': 1})
|
528
|
+
private_uta_get_v3_account_deposit_records = privateUtaGetV3AccountDepositRecords = Entry('v3/account/deposit-records', ['private', 'uta'], 'GET', {'cost': 2})
|
528
529
|
private_uta_get_v3_account_financial_records = privateUtaGetV3AccountFinancialRecords = Entry('v3/account/financial-records', ['private', 'uta'], 'GET', {'cost': 1})
|
529
530
|
private_uta_get_v3_account_repayable_coins = privateUtaGetV3AccountRepayableCoins = Entry('v3/account/repayable-coins', ['private', 'uta'], 'GET', {'cost': 2})
|
530
531
|
private_uta_get_v3_account_payment_coins = privateUtaGetV3AccountPaymentCoins = Entry('v3/account/payment-coins', ['private', 'uta'], 'GET', {'cost': 2})
|
@@ -543,7 +544,9 @@ class ImplicitAPI:
|
|
543
544
|
private_uta_get_v3_position_history_position = privateUtaGetV3PositionHistoryPosition = Entry('v3/position/history-position', ['private', 'uta'], 'GET', {'cost': 1})
|
544
545
|
private_uta_get_v3_trade_order_info = privateUtaGetV3TradeOrderInfo = Entry('v3/trade/order-info', ['private', 'uta'], 'GET', {'cost': 1})
|
545
546
|
private_uta_get_v3_trade_unfilled_orders = privateUtaGetV3TradeUnfilledOrders = Entry('v3/trade/unfilled-orders', ['private', 'uta'], 'GET', {'cost': 1})
|
547
|
+
private_uta_get_v3_trade_unfilled_strategy_orders = privateUtaGetV3TradeUnfilledStrategyOrders = Entry('v3/trade/unfilled-strategy-orders', ['private', 'uta'], 'GET', {'cost': 1})
|
546
548
|
private_uta_get_v3_trade_history_orders = privateUtaGetV3TradeHistoryOrders = Entry('v3/trade/history-orders', ['private', 'uta'], 'GET', {'cost': 1})
|
549
|
+
private_uta_get_v3_trade_history_strategy_orders = privateUtaGetV3TradeHistoryStrategyOrders = Entry('v3/trade/history-strategy-orders', ['private', 'uta'], 'GET', {'cost': 1})
|
547
550
|
private_uta_get_v3_trade_fills = privateUtaGetV3TradeFills = Entry('v3/trade/fills', ['private', 'uta'], 'GET', {'cost': 1})
|
548
551
|
private_uta_get_v3_user_sub_list = privateUtaGetV3UserSubList = Entry('v3/user/sub-list', ['private', 'uta'], 'GET', {'cost': 2})
|
549
552
|
private_uta_get_v3_user_sub_api_list = privateUtaGetV3UserSubApiList = Entry('v3/user/sub-api-list', ['private', 'uta'], 'GET', {'cost': 2})
|
@@ -555,8 +558,11 @@ class ImplicitAPI:
|
|
555
558
|
private_uta_post_v3_account_max_open_available = privateUtaPostV3AccountMaxOpenAvailable = Entry('v3/account/max-open-available', ['private', 'uta'], 'POST', {'cost': 4})
|
556
559
|
private_uta_post_v3_ins_loan_bind_uid = privateUtaPostV3InsLoanBindUid = Entry('v3/ins-loan/bind-uid', ['private', 'uta'], 'POST', {'cost': 6.6667})
|
557
560
|
private_uta_post_v3_trade_place_order = privateUtaPostV3TradePlaceOrder = Entry('v3/trade/place-order', ['private', 'uta'], 'POST', {'cost': 2})
|
561
|
+
private_uta_post_v3_trade_place_strategy_order = privateUtaPostV3TradePlaceStrategyOrder = Entry('v3/trade/place-strategy-order', ['private', 'uta'], 'POST', {'cost': 2})
|
558
562
|
private_uta_post_v3_trade_modify_order = privateUtaPostV3TradeModifyOrder = Entry('v3/trade/modify-order', ['private', 'uta'], 'POST', {'cost': 2})
|
563
|
+
private_uta_post_v3_trade_modify_strategy_order = privateUtaPostV3TradeModifyStrategyOrder = Entry('v3/trade/modify-strategy-order', ['private', 'uta'], 'POST', {'cost': 2})
|
559
564
|
private_uta_post_v3_trade_cancel_order = privateUtaPostV3TradeCancelOrder = Entry('v3/trade/cancel-order', ['private', 'uta'], 'POST', {'cost': 2})
|
565
|
+
private_uta_post_v3_trade_cancel_strategy_order = privateUtaPostV3TradeCancelStrategyOrder = Entry('v3/trade/cancel-strategy-order', ['private', 'uta'], 'POST', {'cost': 2})
|
560
566
|
private_uta_post_v3_trade_place_batch = privateUtaPostV3TradePlaceBatch = Entry('v3/trade/place-batch', ['private', 'uta'], 'POST', {'cost': 4})
|
561
567
|
private_uta_post_v3_trade_batch_modify_order = privateUtaPostV3TradeBatchModifyOrder = Entry('v3/trade/batch-modify-order', ['private', 'uta'], 'POST', {'cost': 2})
|
562
568
|
private_uta_post_v3_trade_cancel_batch = privateUtaPostV3TradeCancelBatch = Entry('v3/trade/cancel-batch', ['private', 'uta'], 'POST', {'cost': 4})
|
ccxt/abstract/hibachi.py
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
from ccxt.base.types import Entry
|
2
|
+
|
3
|
+
|
4
|
+
class ImplicitAPI:
|
5
|
+
public_get_market_exchange_info = publicGetMarketExchangeInfo = Entry('market/exchange-info', 'public', 'GET', {'cost': 1})
|
6
|
+
public_get_market_data_trades = publicGetMarketDataTrades = Entry('market/data/trades', 'public', 'GET', {'cost': 1})
|
7
|
+
public_get_market_data_prices = publicGetMarketDataPrices = Entry('market/data/prices', 'public', 'GET', {'cost': 1})
|
8
|
+
public_get_market_data_stats = publicGetMarketDataStats = Entry('market/data/stats', 'public', 'GET', {'cost': 1})
|
9
|
+
public_get_market_data_klines = publicGetMarketDataKlines = Entry('market/data/klines', 'public', 'GET', {'cost': 1})
|
10
|
+
public_get_market_data_orderbook = publicGetMarketDataOrderbook = Entry('market/data/orderbook', 'public', 'GET', {'cost': 1})
|
11
|
+
public_get_market_data_open_interest = publicGetMarketDataOpenInterest = Entry('market/data/open-interest', 'public', 'GET', {'cost': 1})
|
12
|
+
public_get_market_data_funding_rates = publicGetMarketDataFundingRates = Entry('market/data/funding-rates', 'public', 'GET', {'cost': 1})
|
13
|
+
public_get_exchange_utc_timestamp = publicGetExchangeUtcTimestamp = Entry('exchange/utc-timestamp', 'public', 'GET', {'cost': 1})
|
14
|
+
private_get_capital_deposit_info = privateGetCapitalDepositInfo = Entry('capital/deposit-info', 'private', 'GET', {'cost': 1})
|
15
|
+
private_get_capital_history = privateGetCapitalHistory = Entry('capital/history', 'private', 'GET', {'cost': 1})
|
16
|
+
private_get_trade_account_trading_history = privateGetTradeAccountTradingHistory = Entry('trade/account/trading_history', 'private', 'GET', {'cost': 1})
|
17
|
+
private_get_trade_account_info = privateGetTradeAccountInfo = Entry('trade/account/info', 'private', 'GET', {'cost': 1})
|
18
|
+
private_get_trade_order = privateGetTradeOrder = Entry('trade/order', 'private', 'GET', {'cost': 1})
|
19
|
+
private_get_trade_account_trades = privateGetTradeAccountTrades = Entry('trade/account/trades', 'private', 'GET', {'cost': 1})
|
20
|
+
private_get_trade_orders = privateGetTradeOrders = Entry('trade/orders', 'private', 'GET', {'cost': 1})
|
21
|
+
private_put_trade_order = privatePutTradeOrder = Entry('trade/order', 'private', 'PUT', {'cost': 1})
|
22
|
+
private_delete_trade_order = privateDeleteTradeOrder = Entry('trade/order', 'private', 'DELETE', {'cost': 1})
|
23
|
+
private_delete_trade_orders = privateDeleteTradeOrders = Entry('trade/orders', 'private', 'DELETE', {'cost': 1})
|
24
|
+
private_post_trade_order = privatePostTradeOrder = Entry('trade/order', 'private', 'POST', {'cost': 1})
|
25
|
+
private_post_trade_orders = privatePostTradeOrders = Entry('trade/orders', 'private', 'POST', {'cost': 1})
|
26
|
+
private_post_capital_withdraw = privatePostCapitalWithdraw = Entry('capital/withdraw', 'private', 'POST', {'cost': 1})
|
ccxt/async_support/__init__.py
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '4.4.
|
7
|
+
__version__ = '4.4.99'
|
8
8
|
|
9
9
|
# -----------------------------------------------------------------------------
|
10
10
|
|
@@ -34,6 +34,7 @@ from ccxt.base.errors import NoChange # noqa: F4
|
|
34
34
|
from ccxt.base.errors import MarginModeAlreadySet # noqa: F401
|
35
35
|
from ccxt.base.errors import MarketClosed # noqa: F401
|
36
36
|
from ccxt.base.errors import ManualInteractionNeeded # noqa: F401
|
37
|
+
from ccxt.base.errors import RestrictedLocation # noqa: F401
|
37
38
|
from ccxt.base.errors import InsufficientFunds # noqa: F401
|
38
39
|
from ccxt.base.errors import InvalidAddress # noqa: F401
|
39
40
|
from ccxt.base.errors import AddressPending # noqa: F401
|
@@ -124,6 +125,7 @@ from ccxt.async_support.gate import gate
|
|
124
125
|
from ccxt.async_support.gateio import gateio # noqa: F401
|
125
126
|
from ccxt.async_support.gemini import gemini # noqa: F401
|
126
127
|
from ccxt.async_support.hashkey import hashkey # noqa: F401
|
128
|
+
from ccxt.async_support.hibachi import hibachi # noqa: F401
|
127
129
|
from ccxt.async_support.hitbtc import hitbtc # noqa: F401
|
128
130
|
from ccxt.async_support.hollaex import hollaex # noqa: F401
|
129
131
|
from ccxt.async_support.htx import htx # noqa: F401
|
@@ -232,6 +234,7 @@ exchanges = [
|
|
232
234
|
'gateio',
|
233
235
|
'gemini',
|
234
236
|
'hashkey',
|
237
|
+
'hibachi',
|
235
238
|
'hitbtc',
|
236
239
|
'hollaex',
|
237
240
|
'htx',
|
ccxt/async_support/binance.py
CHANGED
@@ -2732,12 +2732,13 @@ class binance(Exchange, ImplicitAPI):
|
|
2732
2732
|
return market
|
2733
2733
|
return markets[0]
|
2734
2734
|
elif (symbol.find('/') > -1) and (symbol.find(':') < 0):
|
2735
|
-
|
2736
|
-
|
2737
|
-
|
2738
|
-
|
2739
|
-
|
2740
|
-
|
2735
|
+
if (defaultType is not None) and (defaultType != 'spot'):
|
2736
|
+
# support legacy symbols
|
2737
|
+
base, quote = symbol.split('/')
|
2738
|
+
settle = base if (quote == 'USD') else quote
|
2739
|
+
futuresSymbol = symbol + ':' + settle
|
2740
|
+
if futuresSymbol in self.markets:
|
2741
|
+
return self.markets[futuresSymbol]
|
2741
2742
|
elif (symbol.find('-C') > -1) or (symbol.find('-P') > -1): # both exchange-id and unified symbols are supported self way regardless of the defaultType
|
2742
2743
|
return self.create_expired_option_market(symbol)
|
2743
2744
|
raise BadSymbol(self.id + ' does not have market symbol ' + symbol)
|