ccxt 4.3.58__py2.py3-none-any.whl → 4.3.60__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 +5 -5
- ccxt/abstract/bingx.py +1 -1
- ccxt/abstract/bitmart.py +1 -0
- ccxt/abstract/btcbox.py +1 -0
- ccxt/abstract/upbit.py +3 -0
- ccxt/abstract/xt.py +1 -0
- ccxt/async_support/__init__.py +5 -5
- ccxt/async_support/base/exchange.py +1 -1
- ccxt/async_support/binance.py +91 -2
- ccxt/async_support/bingx.py +448 -123
- ccxt/async_support/bitfinex.py +38 -4
- ccxt/async_support/bitget.py +1 -1
- ccxt/async_support/bitmart.py +1 -0
- ccxt/async_support/bitso.py +4 -1
- ccxt/async_support/btcbox.py +145 -8
- ccxt/async_support/bybit.py +3 -5
- ccxt/async_support/cex.py +1 -1
- ccxt/async_support/coinsph.py +1 -1
- ccxt/async_support/cryptocom.py +11 -5
- ccxt/async_support/deribit.py +15 -1
- ccxt/async_support/digifinex.py +30 -7
- ccxt/async_support/gate.py +17 -18
- ccxt/async_support/htx.py +7 -7
- ccxt/async_support/hyperliquid.py +107 -3
- ccxt/async_support/kraken.py +2 -2
- ccxt/async_support/mexc.py +11 -11
- ccxt/async_support/novadax.py +1 -1
- ccxt/async_support/okcoin.py +1 -1
- ccxt/async_support/okx.py +11 -2
- ccxt/async_support/phemex.py +1 -1
- ccxt/async_support/probit.py +1 -1
- ccxt/async_support/timex.py +16 -2
- ccxt/async_support/tokocrypto.py +1 -1
- ccxt/async_support/upbit.py +139 -45
- ccxt/async_support/xt.py +71 -8
- ccxt/base/errors.py +23 -23
- ccxt/base/exchange.py +9 -9
- ccxt/binance.py +91 -2
- ccxt/bingx.py +448 -123
- ccxt/bitfinex.py +38 -4
- ccxt/bitget.py +1 -1
- ccxt/bitmart.py +1 -0
- ccxt/bitso.py +4 -1
- ccxt/btcbox.py +145 -8
- ccxt/bybit.py +3 -5
- ccxt/cex.py +1 -1
- ccxt/coinsph.py +1 -1
- ccxt/cryptocom.py +11 -5
- ccxt/deribit.py +15 -1
- ccxt/digifinex.py +30 -7
- ccxt/gate.py +17 -18
- ccxt/htx.py +7 -7
- ccxt/hyperliquid.py +107 -3
- ccxt/kraken.py +2 -2
- ccxt/mexc.py +11 -11
- ccxt/novadax.py +1 -1
- ccxt/okcoin.py +1 -1
- ccxt/okx.py +11 -2
- ccxt/phemex.py +1 -1
- ccxt/pro/__init__.py +3 -1
- ccxt/pro/binance.py +11 -13
- ccxt/pro/bingx.py +11 -8
- ccxt/pro/bitmart.py +2 -2
- ccxt/pro/bitopro.py +1 -1
- ccxt/pro/cex.py +1 -1
- ccxt/pro/coincheck.py +1 -1
- ccxt/pro/coinone.py +1 -1
- ccxt/pro/hyperliquid.py +1 -1
- ccxt/pro/kucoin.py +35 -3
- ccxt/pro/phemex.py +1 -1
- ccxt/pro/xt.py +1046 -0
- ccxt/probit.py +1 -1
- ccxt/test/tests_async.py +2 -2
- ccxt/test/tests_helpers.py +1 -1
- ccxt/test/tests_sync.py +2 -2
- ccxt/timex.py +16 -2
- ccxt/tokocrypto.py +1 -1
- ccxt/upbit.py +139 -45
- ccxt/xt.py +71 -8
- {ccxt-4.3.58.dist-info → ccxt-4.3.60.dist-info}/METADATA +5 -5
- {ccxt-4.3.58.dist-info → ccxt-4.3.60.dist-info}/RECORD +84 -83
- {ccxt-4.3.58.dist-info → ccxt-4.3.60.dist-info}/LICENSE.txt +0 -0
- {ccxt-4.3.58.dist-info → ccxt-4.3.60.dist-info}/WHEEL +0 -0
- {ccxt-4.3.58.dist-info → ccxt-4.3.60.dist-info}/top_level.txt +0 -0
ccxt/__init__.py
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
# ----------------------------------------------------------------------------
|
24
24
|
|
25
|
-
__version__ = '4.3.
|
25
|
+
__version__ = '4.3.60'
|
26
26
|
|
27
27
|
# ----------------------------------------------------------------------------
|
28
28
|
|
@@ -54,21 +54,18 @@ from ccxt.base.errors import OperationRejected # noqa: F4
|
|
54
54
|
from ccxt.base.errors import NoChange # noqa: F401
|
55
55
|
from ccxt.base.errors import MarginModeAlreadySet # noqa: F401
|
56
56
|
from ccxt.base.errors import MarketClosed # noqa: F401
|
57
|
-
from ccxt.base.errors import BadResponse # noqa: F401
|
58
|
-
from ccxt.base.errors import NullResponse # noqa: F401
|
59
57
|
from ccxt.base.errors import InsufficientFunds # noqa: F401
|
60
58
|
from ccxt.base.errors import InvalidAddress # noqa: F401
|
61
59
|
from ccxt.base.errors import AddressPending # noqa: F401
|
62
60
|
from ccxt.base.errors import InvalidOrder # noqa: F401
|
63
61
|
from ccxt.base.errors import OrderNotFound # noqa: F401
|
64
62
|
from ccxt.base.errors import OrderNotCached # noqa: F401
|
65
|
-
from ccxt.base.errors import CancelPending # noqa: F401
|
66
63
|
from ccxt.base.errors import OrderImmediatelyFillable # noqa: F401
|
67
64
|
from ccxt.base.errors import OrderNotFillable # noqa: F401
|
68
65
|
from ccxt.base.errors import DuplicateOrderId # noqa: F401
|
69
66
|
from ccxt.base.errors import ContractUnavailable # noqa: F401
|
70
67
|
from ccxt.base.errors import NotSupported # noqa: F401
|
71
|
-
from ccxt.base.errors import
|
68
|
+
from ccxt.base.errors import InvalidProxySettings # noqa: F401
|
72
69
|
from ccxt.base.errors import ExchangeClosedByUser # noqa: F401
|
73
70
|
from ccxt.base.errors import OperationFailed # noqa: F401
|
74
71
|
from ccxt.base.errors import NetworkError # noqa: F401
|
@@ -78,6 +75,9 @@ from ccxt.base.errors import ExchangeNotAvailable # noqa: F4
|
|
78
75
|
from ccxt.base.errors import OnMaintenance # noqa: F401
|
79
76
|
from ccxt.base.errors import InvalidNonce # noqa: F401
|
80
77
|
from ccxt.base.errors import RequestTimeout # noqa: F401
|
78
|
+
from ccxt.base.errors import BadResponse # noqa: F401
|
79
|
+
from ccxt.base.errors import NullResponse # noqa: F401
|
80
|
+
from ccxt.base.errors import CancelPending # noqa: F401
|
81
81
|
from ccxt.base.errors import error_hierarchy # noqa: F401
|
82
82
|
|
83
83
|
from ccxt.ace import ace # noqa: F401
|
ccxt/abstract/bingx.py
CHANGED
@@ -90,8 +90,8 @@ class ImplicitAPI:
|
|
90
90
|
cswap_v1_private_get_user_balance = cswapV1PrivateGetUserBalance = Entry('user/balance', ['cswap', 'v1', 'private'], 'GET', {'cost': 2})
|
91
91
|
cswap_v1_private_post_trade_order = cswapV1PrivatePostTradeOrder = Entry('trade/order', ['cswap', 'v1', 'private'], 'POST', {'cost': 2})
|
92
92
|
cswap_v1_private_post_trade_leverage = cswapV1PrivatePostTradeLeverage = Entry('trade/leverage', ['cswap', 'v1', 'private'], 'POST', {'cost': 2})
|
93
|
-
cswap_v1_private_post_trade_allopenorders = cswapV1PrivatePostTradeAllOpenOrders = Entry('trade/allOpenOrders', ['cswap', 'v1', 'private'], 'POST', {'cost': 2})
|
94
93
|
cswap_v1_private_post_trade_closeallpositions = cswapV1PrivatePostTradeCloseAllPositions = Entry('trade/closeAllPositions', ['cswap', 'v1', 'private'], 'POST', {'cost': 2})
|
94
|
+
cswap_v1_private_delete_trade_allopenorders = cswapV1PrivateDeleteTradeAllOpenOrders = Entry('trade/allOpenOrders', ['cswap', 'v1', 'private'], 'DELETE', {'cost': 2})
|
95
95
|
contract_v1_private_get_allposition = contractV1PrivateGetAllPosition = Entry('allPosition', ['contract', 'v1', 'private'], 'GET', {'cost': 2})
|
96
96
|
contract_v1_private_get_allorders = contractV1PrivateGetAllOrders = Entry('allOrders', ['contract', 'v1', 'private'], 'GET', {'cost': 2})
|
97
97
|
contract_v1_private_get_balance = contractV1PrivateGetBalance = Entry('balance', ['contract', 'v1', 'private'], 'GET', {'cost': 2})
|
ccxt/abstract/bitmart.py
CHANGED
@@ -61,6 +61,7 @@ class ImplicitAPI:
|
|
61
61
|
private_get_contract_private_get_open_orders = privateGetContractPrivateGetOpenOrders = Entry('contract/private/get-open-orders', 'private', 'GET', {'cost': 1.2})
|
62
62
|
private_get_contract_private_current_plan_order = privateGetContractPrivateCurrentPlanOrder = Entry('contract/private/current-plan-order', 'private', 'GET', {'cost': 1.2})
|
63
63
|
private_get_contract_private_trades = privateGetContractPrivateTrades = Entry('contract/private/trades', 'private', 'GET', {'cost': 10})
|
64
|
+
private_get_contract_private_position_risk = privateGetContractPrivatePositionRisk = Entry('contract/private/position-risk', 'private', 'GET', {'cost': 10})
|
64
65
|
private_post_account_sub_account_main_v1_sub_to_main = privatePostAccountSubAccountMainV1SubToMain = Entry('account/sub-account/main/v1/sub-to-main', 'private', 'POST', {'cost': 30})
|
65
66
|
private_post_account_sub_account_sub_v1_sub_to_main = privatePostAccountSubAccountSubV1SubToMain = Entry('account/sub-account/sub/v1/sub-to-main', 'private', 'POST', {'cost': 30})
|
66
67
|
private_post_account_sub_account_main_v1_main_to_sub = privatePostAccountSubAccountMainV1MainToSub = Entry('account/sub-account/main/v1/main-to-sub', 'private', 'POST', {'cost': 30})
|
ccxt/abstract/btcbox.py
CHANGED
@@ -5,6 +5,7 @@ class ImplicitAPI:
|
|
5
5
|
public_get_depth = publicGetDepth = Entry('depth', 'public', 'GET', {})
|
6
6
|
public_get_orders = publicGetOrders = Entry('orders', 'public', 'GET', {})
|
7
7
|
public_get_ticker = publicGetTicker = Entry('ticker', 'public', 'GET', {})
|
8
|
+
public_get_tickers = publicGetTickers = Entry('tickers', 'public', 'GET', {})
|
8
9
|
private_post_balance = privatePostBalance = Entry('balance', 'private', 'POST', {})
|
9
10
|
private_post_trade_add = privatePostTradeAdd = Entry('trade_add', 'private', 'POST', {})
|
10
11
|
private_post_trade_cancel = privatePostTradeCancel = Entry('trade_cancel', 'private', 'POST', {})
|
ccxt/abstract/upbit.py
CHANGED
@@ -24,6 +24,9 @@ class ImplicitAPI:
|
|
24
24
|
private_get_orders_chance = privateGetOrdersChance = Entry('orders/chance', 'private', 'GET', {})
|
25
25
|
private_get_order = privateGetOrder = Entry('order', 'private', 'GET', {})
|
26
26
|
private_get_orders = privateGetOrders = Entry('orders', 'private', 'GET', {})
|
27
|
+
private_get_orders_closed = privateGetOrdersClosed = Entry('orders/closed', 'private', 'GET', {})
|
28
|
+
private_get_orders_open = privateGetOrdersOpen = Entry('orders/open', 'private', 'GET', {})
|
29
|
+
private_get_orders_uuids = privateGetOrdersUuids = Entry('orders/uuids', 'private', 'GET', {})
|
27
30
|
private_get_withdraws = privateGetWithdraws = Entry('withdraws', 'private', 'GET', {})
|
28
31
|
private_get_withdraw = privateGetWithdraw = Entry('withdraw', 'private', 'GET', {})
|
29
32
|
private_get_withdraws_chance = privateGetWithdrawsChance = Entry('withdraws/chance', 'private', 'GET', {})
|
ccxt/abstract/xt.py
CHANGED
@@ -69,6 +69,7 @@ class ImplicitAPI:
|
|
69
69
|
private_spot_post_withdraw = privateSpotPostWithdraw = Entry('withdraw', ['private', 'spot'], 'POST', {'cost': 1})
|
70
70
|
private_spot_post_balance_transfer = privateSpotPostBalanceTransfer = Entry('balance/transfer', ['private', 'spot'], 'POST', {'cost': 1})
|
71
71
|
private_spot_post_balance_account_transfer = privateSpotPostBalanceAccountTransfer = Entry('balance/account/transfer', ['private', 'spot'], 'POST', {'cost': 1})
|
72
|
+
private_spot_post_ws_token = privateSpotPostWsToken = Entry('ws-token', ['private', 'spot'], 'POST', {'cost': 1})
|
72
73
|
private_spot_delete_batch_order = privateSpotDeleteBatchOrder = Entry('batch-order', ['private', 'spot'], 'DELETE', {'cost': 1})
|
73
74
|
private_spot_delete_open_order = privateSpotDeleteOpenOrder = Entry('open-order', ['private', 'spot'], 'DELETE', {'cost': 1})
|
74
75
|
private_spot_delete_order_orderid = privateSpotDeleteOrderOrderId = Entry('order/{orderId}', ['private', 'spot'], 'DELETE', {'cost': 1})
|
ccxt/async_support/__init__.py
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '4.3.
|
7
|
+
__version__ = '4.3.60'
|
8
8
|
|
9
9
|
# -----------------------------------------------------------------------------
|
10
10
|
|
@@ -33,21 +33,18 @@ from ccxt.base.errors import OperationRejected # noqa: F4
|
|
33
33
|
from ccxt.base.errors import NoChange # noqa: F401
|
34
34
|
from ccxt.base.errors import MarginModeAlreadySet # noqa: F401
|
35
35
|
from ccxt.base.errors import MarketClosed # noqa: F401
|
36
|
-
from ccxt.base.errors import BadResponse # noqa: F401
|
37
|
-
from ccxt.base.errors import NullResponse # noqa: F401
|
38
36
|
from ccxt.base.errors import InsufficientFunds # noqa: F401
|
39
37
|
from ccxt.base.errors import InvalidAddress # noqa: F401
|
40
38
|
from ccxt.base.errors import AddressPending # noqa: F401
|
41
39
|
from ccxt.base.errors import InvalidOrder # noqa: F401
|
42
40
|
from ccxt.base.errors import OrderNotFound # noqa: F401
|
43
41
|
from ccxt.base.errors import OrderNotCached # noqa: F401
|
44
|
-
from ccxt.base.errors import CancelPending # noqa: F401
|
45
42
|
from ccxt.base.errors import OrderImmediatelyFillable # noqa: F401
|
46
43
|
from ccxt.base.errors import OrderNotFillable # noqa: F401
|
47
44
|
from ccxt.base.errors import DuplicateOrderId # noqa: F401
|
48
45
|
from ccxt.base.errors import ContractUnavailable # noqa: F401
|
49
46
|
from ccxt.base.errors import NotSupported # noqa: F401
|
50
|
-
from ccxt.base.errors import
|
47
|
+
from ccxt.base.errors import InvalidProxySettings # noqa: F401
|
51
48
|
from ccxt.base.errors import ExchangeClosedByUser # noqa: F401
|
52
49
|
from ccxt.base.errors import OperationFailed # noqa: F401
|
53
50
|
from ccxt.base.errors import NetworkError # noqa: F401
|
@@ -57,6 +54,9 @@ from ccxt.base.errors import ExchangeNotAvailable # noqa: F4
|
|
57
54
|
from ccxt.base.errors import OnMaintenance # noqa: F401
|
58
55
|
from ccxt.base.errors import InvalidNonce # noqa: F401
|
59
56
|
from ccxt.base.errors import RequestTimeout # noqa: F401
|
57
|
+
from ccxt.base.errors import BadResponse # noqa: F401
|
58
|
+
from ccxt.base.errors import NullResponse # noqa: F401
|
59
|
+
from ccxt.base.errors import CancelPending # noqa: F401
|
60
60
|
from ccxt.base.errors import error_hierarchy # noqa: F401
|
61
61
|
|
62
62
|
|
ccxt/async_support/binance.py
CHANGED
@@ -20,7 +20,6 @@ from ccxt.base.errors import BadSymbol
|
|
20
20
|
from ccxt.base.errors import OperationRejected
|
21
21
|
from ccxt.base.errors import MarginModeAlreadySet
|
22
22
|
from ccxt.base.errors import MarketClosed
|
23
|
-
from ccxt.base.errors import BadResponse
|
24
23
|
from ccxt.base.errors import InsufficientFunds
|
25
24
|
from ccxt.base.errors import InvalidOrder
|
26
25
|
from ccxt.base.errors import OrderNotFound
|
@@ -33,6 +32,7 @@ from ccxt.base.errors import RateLimitExceeded
|
|
33
32
|
from ccxt.base.errors import OnMaintenance
|
34
33
|
from ccxt.base.errors import InvalidNonce
|
35
34
|
from ccxt.base.errors import RequestTimeout
|
35
|
+
from ccxt.base.errors import BadResponse
|
36
36
|
from ccxt.base.decimal_to_precision import TRUNCATE
|
37
37
|
from ccxt.base.decimal_to_precision import TICK_SIZE
|
38
38
|
from ccxt.base.precise import Precise
|
@@ -6648,22 +6648,64 @@ class binance(Exchange, ImplicitAPI):
|
|
6648
6648
|
response = None
|
6649
6649
|
if market['option']:
|
6650
6650
|
response = await self.eapiPrivateDeleteAllOpenOrders(self.extend(request, params))
|
6651
|
+
#
|
6652
|
+
# {
|
6653
|
+
# "code": 0,
|
6654
|
+
# "msg": "success"
|
6655
|
+
# }
|
6656
|
+
#
|
6651
6657
|
elif market['linear']:
|
6652
6658
|
if isPortfolioMargin:
|
6653
6659
|
if isConditional:
|
6654
6660
|
response = await self.papiDeleteUmConditionalAllOpenOrders(self.extend(request, params))
|
6661
|
+
#
|
6662
|
+
# {
|
6663
|
+
# "code": "200",
|
6664
|
+
# "msg": "The operation of cancel all conditional open order is done."
|
6665
|
+
# }
|
6666
|
+
#
|
6655
6667
|
else:
|
6656
6668
|
response = await self.papiDeleteUmAllOpenOrders(self.extend(request, params))
|
6669
|
+
#
|
6670
|
+
# {
|
6671
|
+
# "code": 200,
|
6672
|
+
# "msg": "The operation of cancel all open order is done."
|
6673
|
+
# }
|
6674
|
+
#
|
6657
6675
|
else:
|
6658
6676
|
response = await self.fapiPrivateDeleteAllOpenOrders(self.extend(request, params))
|
6677
|
+
#
|
6678
|
+
# {
|
6679
|
+
# "code": 200,
|
6680
|
+
# "msg": "The operation of cancel all open order is done."
|
6681
|
+
# }
|
6682
|
+
#
|
6659
6683
|
elif market['inverse']:
|
6660
6684
|
if isPortfolioMargin:
|
6661
6685
|
if isConditional:
|
6662
6686
|
response = await self.papiDeleteCmConditionalAllOpenOrders(self.extend(request, params))
|
6687
|
+
#
|
6688
|
+
# {
|
6689
|
+
# "code": "200",
|
6690
|
+
# "msg": "The operation of cancel all conditional open order is done."
|
6691
|
+
# }
|
6692
|
+
#
|
6663
6693
|
else:
|
6664
6694
|
response = await self.papiDeleteCmAllOpenOrders(self.extend(request, params))
|
6695
|
+
#
|
6696
|
+
# {
|
6697
|
+
# "code": 200,
|
6698
|
+
# "msg": "The operation of cancel all open order is done."
|
6699
|
+
# }
|
6700
|
+
#
|
6665
6701
|
else:
|
6666
6702
|
response = await self.dapiPrivateDeleteAllOpenOrders(self.extend(request, params))
|
6703
|
+
#
|
6704
|
+
# {
|
6705
|
+
# "code": 200,
|
6706
|
+
# "msg": "The operation of cancel all open order is done."
|
6707
|
+
# }
|
6708
|
+
#
|
6667
6709
|
elif (type == 'margin') or (marginMode is not None) or isPortfolioMargin:
|
6668
6710
|
if isPortfolioMargin:
|
6669
6711
|
response = await self.papiDeleteMarginAllOpenOrders(self.extend(request, params))
|
@@ -6671,12 +6713,59 @@ class binance(Exchange, ImplicitAPI):
|
|
6671
6713
|
if marginMode == 'isolated':
|
6672
6714
|
request['isIsolated'] = True
|
6673
6715
|
response = await self.sapiDeleteMarginOpenOrders(self.extend(request, params))
|
6716
|
+
#
|
6717
|
+
# [
|
6718
|
+
# {
|
6719
|
+
# "symbol": "BTCUSDT",
|
6720
|
+
# "isIsolated": True, # if isolated margin
|
6721
|
+
# "origClientOrderId": "E6APeyTJvkMvLMYMqu1KQ4",
|
6722
|
+
# "orderId": 11,
|
6723
|
+
# "orderListId": -1,
|
6724
|
+
# "clientOrderId": "pXLV6Hz6mprAcVYpVMTGgx",
|
6725
|
+
# "price": "0.089853",
|
6726
|
+
# "origQty": "0.178622",
|
6727
|
+
# "executedQty": "0.000000",
|
6728
|
+
# "cummulativeQuoteQty": "0.000000",
|
6729
|
+
# "status": "CANCELED",
|
6730
|
+
# "timeInForce": "GTC",
|
6731
|
+
# "type": "LIMIT",
|
6732
|
+
# "side": "BUY",
|
6733
|
+
# "selfTradePreventionMode": "NONE"
|
6734
|
+
# },
|
6735
|
+
# ...
|
6736
|
+
# ]
|
6737
|
+
#
|
6674
6738
|
else:
|
6675
6739
|
response = await self.privateDeleteOpenOrders(self.extend(request, params))
|
6740
|
+
#
|
6741
|
+
# [
|
6742
|
+
# {
|
6743
|
+
# "symbol": "ADAUSDT",
|
6744
|
+
# "origClientOrderId": "x-R4BD3S82662cde7a90114475b86e21",
|
6745
|
+
# "orderId": 3935107,
|
6746
|
+
# "orderListId": -1,
|
6747
|
+
# "clientOrderId": "bqM2w1oTlugfRAjnTIFBE8",
|
6748
|
+
# "transactTime": 1720589016657,
|
6749
|
+
# "price": "0.35000000",
|
6750
|
+
# "origQty": "30.00000000",
|
6751
|
+
# "executedQty": "0.00000000",
|
6752
|
+
# "cummulativeQuoteQty": "0.00000000",
|
6753
|
+
# "status": "CANCELED",
|
6754
|
+
# "timeInForce": "GTC",
|
6755
|
+
# "type": "LIMIT",
|
6756
|
+
# "side": "BUY",
|
6757
|
+
# "selfTradePreventionMode": "EXPIRE_MAKER"
|
6758
|
+
# }
|
6759
|
+
# ]
|
6760
|
+
#
|
6676
6761
|
if isinstance(response, list):
|
6677
6762
|
return self.parse_orders(response, market)
|
6678
6763
|
else:
|
6679
|
-
return
|
6764
|
+
return [
|
6765
|
+
self.safe_order({
|
6766
|
+
'info': response,
|
6767
|
+
}),
|
6768
|
+
]
|
6680
6769
|
|
6681
6770
|
async def cancel_orders(self, ids: List[str], symbol: Str = None, params={}):
|
6682
6771
|
"""
|