ccxt 4.3.62__py2.py3-none-any.whl → 4.3.63__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 +2 -1
- ccxt/abstract/binance.py +5 -5
- ccxt/abstract/binancecoinm.py +5 -5
- ccxt/abstract/binanceus.py +5 -5
- ccxt/abstract/binanceusdm.py +5 -5
- ccxt/abstract/cryptocom.py +11 -0
- ccxt/abstract/woo.py +3 -0
- ccxt/ace.py +33 -15
- ccxt/async_support/__init__.py +2 -1
- ccxt/async_support/ace.py +33 -15
- ccxt/async_support/base/exchange.py +1 -1
- ccxt/async_support/binance.py +6 -9
- ccxt/async_support/bingx.py +451 -151
- ccxt/async_support/coinbaseinternational.py +1 -1
- ccxt/async_support/cryptocom.py +17 -2
- ccxt/async_support/mercado.py +5 -1
- ccxt/async_support/woo.py +296 -81
- ccxt/async_support/xt.py +3 -3
- ccxt/base/errors.py +8 -1
- ccxt/base/exchange.py +8 -2
- ccxt/binance.py +6 -9
- ccxt/bingx.py +451 -151
- ccxt/coinbaseinternational.py +1 -1
- ccxt/cryptocom.py +17 -2
- ccxt/mercado.py +5 -1
- ccxt/pro/__init__.py +1 -1
- ccxt/pro/binance.py +56 -35
- ccxt/pro/bitfinex2.py +6 -4
- ccxt/pro/bitget.py +5 -2
- ccxt/pro/bitvavo.py +1 -1
- ccxt/pro/bybit.py +41 -18
- ccxt/pro/cryptocom.py +7 -2
- ccxt/pro/gate.py +6 -3
- ccxt/pro/htx.py +5 -1
- ccxt/pro/independentreserve.py +6 -4
- ccxt/pro/kraken.py +79 -6
- ccxt/pro/okx.py +4 -4
- ccxt/pro/poloniexfutures.py +5 -2
- ccxt/pro/woofipro.py +1 -1
- ccxt/woo.py +296 -81
- ccxt/xt.py +3 -3
- {ccxt-4.3.62.dist-info → ccxt-4.3.63.dist-info}/METADATA +4 -4
- {ccxt-4.3.62.dist-info → ccxt-4.3.63.dist-info}/RECORD +46 -46
- {ccxt-4.3.62.dist-info → ccxt-4.3.63.dist-info}/LICENSE.txt +0 -0
- {ccxt-4.3.62.dist-info → ccxt-4.3.63.dist-info}/WHEEL +0 -0
- {ccxt-4.3.62.dist-info → ccxt-4.3.63.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.63'
|
26
26
|
|
27
27
|
# ----------------------------------------------------------------------------
|
28
28
|
|
@@ -74,6 +74,7 @@ from ccxt.base.errors import RateLimitExceeded # noqa: F4
|
|
74
74
|
from ccxt.base.errors import ExchangeNotAvailable # noqa: F401
|
75
75
|
from ccxt.base.errors import OnMaintenance # noqa: F401
|
76
76
|
from ccxt.base.errors import InvalidNonce # noqa: F401
|
77
|
+
from ccxt.base.errors import ChecksumError # noqa: F401
|
77
78
|
from ccxt.base.errors import RequestTimeout # noqa: F401
|
78
79
|
from ccxt.base.errors import BadResponse # noqa: F401
|
79
80
|
from ccxt.base.errors import NullResponse # noqa: F401
|
ccxt/abstract/binance.py
CHANGED
@@ -491,7 +491,7 @@ class ImplicitAPI:
|
|
491
491
|
fapiprivate_get_forceorders = fapiPrivateGetForceOrders = Entry('forceOrders', 'fapiPrivate', 'GET', {'cost': 20, 'noSymbol': 50})
|
492
492
|
fapiprivate_get_allorders = fapiPrivateGetAllOrders = Entry('allOrders', 'fapiPrivate', 'GET', {'cost': 5})
|
493
493
|
fapiprivate_get_openorder = fapiPrivateGetOpenOrder = Entry('openOrder', 'fapiPrivate', 'GET', {'cost': 1})
|
494
|
-
fapiprivate_get_openorders = fapiPrivateGetOpenOrders = Entry('openOrders', 'fapiPrivate', 'GET', {'cost': 1})
|
494
|
+
fapiprivate_get_openorders = fapiPrivateGetOpenOrders = Entry('openOrders', 'fapiPrivate', 'GET', {'cost': 1, 'noSymbol': 40})
|
495
495
|
fapiprivate_get_order = fapiPrivateGetOrder = Entry('order', 'fapiPrivate', 'GET', {'cost': 1})
|
496
496
|
fapiprivate_get_account = fapiPrivateGetAccount = Entry('account', 'fapiPrivate', 'GET', {'cost': 5})
|
497
497
|
fapiprivate_get_balance = fapiPrivateGetBalance = Entry('balance', 'fapiPrivate', 'GET', {'cost': 5})
|
@@ -629,18 +629,18 @@ class ImplicitAPI:
|
|
629
629
|
papi_get_ping = papiGetPing = Entry('ping', 'papi', 'GET', {'cost': 1})
|
630
630
|
papi_get_um_order = papiGetUmOrder = Entry('um/order', 'papi', 'GET', {'cost': 1})
|
631
631
|
papi_get_um_openorder = papiGetUmOpenOrder = Entry('um/openOrder', 'papi', 'GET', {'cost': 1})
|
632
|
-
papi_get_um_openorders = papiGetUmOpenOrders = Entry('um/openOrders', 'papi', 'GET', {'cost': 1})
|
632
|
+
papi_get_um_openorders = papiGetUmOpenOrders = Entry('um/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
633
633
|
papi_get_um_allorders = papiGetUmAllOrders = Entry('um/allOrders', 'papi', 'GET', {'cost': 5})
|
634
634
|
papi_get_cm_order = papiGetCmOrder = Entry('cm/order', 'papi', 'GET', {'cost': 1})
|
635
635
|
papi_get_cm_openorder = papiGetCmOpenOrder = Entry('cm/openOrder', 'papi', 'GET', {'cost': 1})
|
636
|
-
papi_get_cm_openorders = papiGetCmOpenOrders = Entry('cm/openOrders', 'papi', 'GET', {'cost': 1})
|
636
|
+
papi_get_cm_openorders = papiGetCmOpenOrders = Entry('cm/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
637
637
|
papi_get_cm_allorders = papiGetCmAllOrders = Entry('cm/allOrders', 'papi', 'GET', {'cost': 20})
|
638
638
|
papi_get_um_conditional_openorder = papiGetUmConditionalOpenOrder = Entry('um/conditional/openOrder', 'papi', 'GET', {'cost': 1})
|
639
|
-
papi_get_um_conditional_openorders = papiGetUmConditionalOpenOrders = Entry('um/conditional/openOrders', 'papi', 'GET', {'cost': 40})
|
639
|
+
papi_get_um_conditional_openorders = papiGetUmConditionalOpenOrders = Entry('um/conditional/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
640
640
|
papi_get_um_conditional_orderhistory = papiGetUmConditionalOrderHistory = Entry('um/conditional/orderHistory', 'papi', 'GET', {'cost': 1})
|
641
641
|
papi_get_um_conditional_allorders = papiGetUmConditionalAllOrders = Entry('um/conditional/allOrders', 'papi', 'GET', {'cost': 40})
|
642
642
|
papi_get_cm_conditional_openorder = papiGetCmConditionalOpenOrder = Entry('cm/conditional/openOrder', 'papi', 'GET', {'cost': 1})
|
643
|
-
papi_get_cm_conditional_openorders = papiGetCmConditionalOpenOrders = Entry('cm/conditional/openOrders', 'papi', 'GET', {'cost': 40})
|
643
|
+
papi_get_cm_conditional_openorders = papiGetCmConditionalOpenOrders = Entry('cm/conditional/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
644
644
|
papi_get_cm_conditional_orderhistory = papiGetCmConditionalOrderHistory = Entry('cm/conditional/orderHistory', 'papi', 'GET', {'cost': 1})
|
645
645
|
papi_get_cm_conditional_allorders = papiGetCmConditionalAllOrders = Entry('cm/conditional/allOrders', 'papi', 'GET', {'cost': 40})
|
646
646
|
papi_get_margin_order = papiGetMarginOrder = Entry('margin/order', 'papi', 'GET', {'cost': 5})
|
ccxt/abstract/binancecoinm.py
CHANGED
@@ -491,7 +491,7 @@ class ImplicitAPI:
|
|
491
491
|
fapiprivate_get_forceorders = fapiPrivateGetForceOrders = Entry('forceOrders', 'fapiPrivate', 'GET', {'cost': 20, 'noSymbol': 50})
|
492
492
|
fapiprivate_get_allorders = fapiPrivateGetAllOrders = Entry('allOrders', 'fapiPrivate', 'GET', {'cost': 5})
|
493
493
|
fapiprivate_get_openorder = fapiPrivateGetOpenOrder = Entry('openOrder', 'fapiPrivate', 'GET', {'cost': 1})
|
494
|
-
fapiprivate_get_openorders = fapiPrivateGetOpenOrders = Entry('openOrders', 'fapiPrivate', 'GET', {'cost': 1})
|
494
|
+
fapiprivate_get_openorders = fapiPrivateGetOpenOrders = Entry('openOrders', 'fapiPrivate', 'GET', {'cost': 1, 'noSymbol': 40})
|
495
495
|
fapiprivate_get_order = fapiPrivateGetOrder = Entry('order', 'fapiPrivate', 'GET', {'cost': 1})
|
496
496
|
fapiprivate_get_account = fapiPrivateGetAccount = Entry('account', 'fapiPrivate', 'GET', {'cost': 5})
|
497
497
|
fapiprivate_get_balance = fapiPrivateGetBalance = Entry('balance', 'fapiPrivate', 'GET', {'cost': 5})
|
@@ -629,18 +629,18 @@ class ImplicitAPI:
|
|
629
629
|
papi_get_ping = papiGetPing = Entry('ping', 'papi', 'GET', {'cost': 1})
|
630
630
|
papi_get_um_order = papiGetUmOrder = Entry('um/order', 'papi', 'GET', {'cost': 1})
|
631
631
|
papi_get_um_openorder = papiGetUmOpenOrder = Entry('um/openOrder', 'papi', 'GET', {'cost': 1})
|
632
|
-
papi_get_um_openorders = papiGetUmOpenOrders = Entry('um/openOrders', 'papi', 'GET', {'cost': 1})
|
632
|
+
papi_get_um_openorders = papiGetUmOpenOrders = Entry('um/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
633
633
|
papi_get_um_allorders = papiGetUmAllOrders = Entry('um/allOrders', 'papi', 'GET', {'cost': 5})
|
634
634
|
papi_get_cm_order = papiGetCmOrder = Entry('cm/order', 'papi', 'GET', {'cost': 1})
|
635
635
|
papi_get_cm_openorder = papiGetCmOpenOrder = Entry('cm/openOrder', 'papi', 'GET', {'cost': 1})
|
636
|
-
papi_get_cm_openorders = papiGetCmOpenOrders = Entry('cm/openOrders', 'papi', 'GET', {'cost': 1})
|
636
|
+
papi_get_cm_openorders = papiGetCmOpenOrders = Entry('cm/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
637
637
|
papi_get_cm_allorders = papiGetCmAllOrders = Entry('cm/allOrders', 'papi', 'GET', {'cost': 20})
|
638
638
|
papi_get_um_conditional_openorder = papiGetUmConditionalOpenOrder = Entry('um/conditional/openOrder', 'papi', 'GET', {'cost': 1})
|
639
|
-
papi_get_um_conditional_openorders = papiGetUmConditionalOpenOrders = Entry('um/conditional/openOrders', 'papi', 'GET', {'cost': 40})
|
639
|
+
papi_get_um_conditional_openorders = papiGetUmConditionalOpenOrders = Entry('um/conditional/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
640
640
|
papi_get_um_conditional_orderhistory = papiGetUmConditionalOrderHistory = Entry('um/conditional/orderHistory', 'papi', 'GET', {'cost': 1})
|
641
641
|
papi_get_um_conditional_allorders = papiGetUmConditionalAllOrders = Entry('um/conditional/allOrders', 'papi', 'GET', {'cost': 40})
|
642
642
|
papi_get_cm_conditional_openorder = papiGetCmConditionalOpenOrder = Entry('cm/conditional/openOrder', 'papi', 'GET', {'cost': 1})
|
643
|
-
papi_get_cm_conditional_openorders = papiGetCmConditionalOpenOrders = Entry('cm/conditional/openOrders', 'papi', 'GET', {'cost': 40})
|
643
|
+
papi_get_cm_conditional_openorders = papiGetCmConditionalOpenOrders = Entry('cm/conditional/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
644
644
|
papi_get_cm_conditional_orderhistory = papiGetCmConditionalOrderHistory = Entry('cm/conditional/orderHistory', 'papi', 'GET', {'cost': 1})
|
645
645
|
papi_get_cm_conditional_allorders = papiGetCmConditionalAllOrders = Entry('cm/conditional/allOrders', 'papi', 'GET', {'cost': 40})
|
646
646
|
papi_get_margin_order = papiGetMarginOrder = Entry('margin/order', 'papi', 'GET', {'cost': 5})
|
ccxt/abstract/binanceus.py
CHANGED
@@ -543,7 +543,7 @@ class ImplicitAPI:
|
|
543
543
|
fapiprivate_get_forceorders = fapiPrivateGetForceOrders = Entry('forceOrders', 'fapiPrivate', 'GET', {'cost': 20, 'noSymbol': 50})
|
544
544
|
fapiprivate_get_allorders = fapiPrivateGetAllOrders = Entry('allOrders', 'fapiPrivate', 'GET', {'cost': 5})
|
545
545
|
fapiprivate_get_openorder = fapiPrivateGetOpenOrder = Entry('openOrder', 'fapiPrivate', 'GET', {'cost': 1})
|
546
|
-
fapiprivate_get_openorders = fapiPrivateGetOpenOrders = Entry('openOrders', 'fapiPrivate', 'GET', {'cost': 1})
|
546
|
+
fapiprivate_get_openorders = fapiPrivateGetOpenOrders = Entry('openOrders', 'fapiPrivate', 'GET', {'cost': 1, 'noSymbol': 40})
|
547
547
|
fapiprivate_get_order = fapiPrivateGetOrder = Entry('order', 'fapiPrivate', 'GET', {'cost': 1})
|
548
548
|
fapiprivate_get_account = fapiPrivateGetAccount = Entry('account', 'fapiPrivate', 'GET', {'cost': 5})
|
549
549
|
fapiprivate_get_balance = fapiPrivateGetBalance = Entry('balance', 'fapiPrivate', 'GET', {'cost': 5})
|
@@ -681,18 +681,18 @@ class ImplicitAPI:
|
|
681
681
|
papi_get_ping = papiGetPing = Entry('ping', 'papi', 'GET', {'cost': 1})
|
682
682
|
papi_get_um_order = papiGetUmOrder = Entry('um/order', 'papi', 'GET', {'cost': 1})
|
683
683
|
papi_get_um_openorder = papiGetUmOpenOrder = Entry('um/openOrder', 'papi', 'GET', {'cost': 1})
|
684
|
-
papi_get_um_openorders = papiGetUmOpenOrders = Entry('um/openOrders', 'papi', 'GET', {'cost': 1})
|
684
|
+
papi_get_um_openorders = papiGetUmOpenOrders = Entry('um/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
685
685
|
papi_get_um_allorders = papiGetUmAllOrders = Entry('um/allOrders', 'papi', 'GET', {'cost': 5})
|
686
686
|
papi_get_cm_order = papiGetCmOrder = Entry('cm/order', 'papi', 'GET', {'cost': 1})
|
687
687
|
papi_get_cm_openorder = papiGetCmOpenOrder = Entry('cm/openOrder', 'papi', 'GET', {'cost': 1})
|
688
|
-
papi_get_cm_openorders = papiGetCmOpenOrders = Entry('cm/openOrders', 'papi', 'GET', {'cost': 1})
|
688
|
+
papi_get_cm_openorders = papiGetCmOpenOrders = Entry('cm/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
689
689
|
papi_get_cm_allorders = papiGetCmAllOrders = Entry('cm/allOrders', 'papi', 'GET', {'cost': 20})
|
690
690
|
papi_get_um_conditional_openorder = papiGetUmConditionalOpenOrder = Entry('um/conditional/openOrder', 'papi', 'GET', {'cost': 1})
|
691
|
-
papi_get_um_conditional_openorders = papiGetUmConditionalOpenOrders = Entry('um/conditional/openOrders', 'papi', 'GET', {'cost': 40})
|
691
|
+
papi_get_um_conditional_openorders = papiGetUmConditionalOpenOrders = Entry('um/conditional/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
692
692
|
papi_get_um_conditional_orderhistory = papiGetUmConditionalOrderHistory = Entry('um/conditional/orderHistory', 'papi', 'GET', {'cost': 1})
|
693
693
|
papi_get_um_conditional_allorders = papiGetUmConditionalAllOrders = Entry('um/conditional/allOrders', 'papi', 'GET', {'cost': 40})
|
694
694
|
papi_get_cm_conditional_openorder = papiGetCmConditionalOpenOrder = Entry('cm/conditional/openOrder', 'papi', 'GET', {'cost': 1})
|
695
|
-
papi_get_cm_conditional_openorders = papiGetCmConditionalOpenOrders = Entry('cm/conditional/openOrders', 'papi', 'GET', {'cost': 40})
|
695
|
+
papi_get_cm_conditional_openorders = papiGetCmConditionalOpenOrders = Entry('cm/conditional/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
696
696
|
papi_get_cm_conditional_orderhistory = papiGetCmConditionalOrderHistory = Entry('cm/conditional/orderHistory', 'papi', 'GET', {'cost': 1})
|
697
697
|
papi_get_cm_conditional_allorders = papiGetCmConditionalAllOrders = Entry('cm/conditional/allOrders', 'papi', 'GET', {'cost': 40})
|
698
698
|
papi_get_margin_order = papiGetMarginOrder = Entry('margin/order', 'papi', 'GET', {'cost': 5})
|
ccxt/abstract/binanceusdm.py
CHANGED
@@ -491,7 +491,7 @@ class ImplicitAPI:
|
|
491
491
|
fapiprivate_get_forceorders = fapiPrivateGetForceOrders = Entry('forceOrders', 'fapiPrivate', 'GET', {'cost': 20, 'noSymbol': 50})
|
492
492
|
fapiprivate_get_allorders = fapiPrivateGetAllOrders = Entry('allOrders', 'fapiPrivate', 'GET', {'cost': 5})
|
493
493
|
fapiprivate_get_openorder = fapiPrivateGetOpenOrder = Entry('openOrder', 'fapiPrivate', 'GET', {'cost': 1})
|
494
|
-
fapiprivate_get_openorders = fapiPrivateGetOpenOrders = Entry('openOrders', 'fapiPrivate', 'GET', {'cost': 1})
|
494
|
+
fapiprivate_get_openorders = fapiPrivateGetOpenOrders = Entry('openOrders', 'fapiPrivate', 'GET', {'cost': 1, 'noSymbol': 40})
|
495
495
|
fapiprivate_get_order = fapiPrivateGetOrder = Entry('order', 'fapiPrivate', 'GET', {'cost': 1})
|
496
496
|
fapiprivate_get_account = fapiPrivateGetAccount = Entry('account', 'fapiPrivate', 'GET', {'cost': 5})
|
497
497
|
fapiprivate_get_balance = fapiPrivateGetBalance = Entry('balance', 'fapiPrivate', 'GET', {'cost': 5})
|
@@ -629,18 +629,18 @@ class ImplicitAPI:
|
|
629
629
|
papi_get_ping = papiGetPing = Entry('ping', 'papi', 'GET', {'cost': 1})
|
630
630
|
papi_get_um_order = papiGetUmOrder = Entry('um/order', 'papi', 'GET', {'cost': 1})
|
631
631
|
papi_get_um_openorder = papiGetUmOpenOrder = Entry('um/openOrder', 'papi', 'GET', {'cost': 1})
|
632
|
-
papi_get_um_openorders = papiGetUmOpenOrders = Entry('um/openOrders', 'papi', 'GET', {'cost': 1})
|
632
|
+
papi_get_um_openorders = papiGetUmOpenOrders = Entry('um/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
633
633
|
papi_get_um_allorders = papiGetUmAllOrders = Entry('um/allOrders', 'papi', 'GET', {'cost': 5})
|
634
634
|
papi_get_cm_order = papiGetCmOrder = Entry('cm/order', 'papi', 'GET', {'cost': 1})
|
635
635
|
papi_get_cm_openorder = papiGetCmOpenOrder = Entry('cm/openOrder', 'papi', 'GET', {'cost': 1})
|
636
|
-
papi_get_cm_openorders = papiGetCmOpenOrders = Entry('cm/openOrders', 'papi', 'GET', {'cost': 1})
|
636
|
+
papi_get_cm_openorders = papiGetCmOpenOrders = Entry('cm/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
637
637
|
papi_get_cm_allorders = papiGetCmAllOrders = Entry('cm/allOrders', 'papi', 'GET', {'cost': 20})
|
638
638
|
papi_get_um_conditional_openorder = papiGetUmConditionalOpenOrder = Entry('um/conditional/openOrder', 'papi', 'GET', {'cost': 1})
|
639
|
-
papi_get_um_conditional_openorders = papiGetUmConditionalOpenOrders = Entry('um/conditional/openOrders', 'papi', 'GET', {'cost': 40})
|
639
|
+
papi_get_um_conditional_openorders = papiGetUmConditionalOpenOrders = Entry('um/conditional/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
640
640
|
papi_get_um_conditional_orderhistory = papiGetUmConditionalOrderHistory = Entry('um/conditional/orderHistory', 'papi', 'GET', {'cost': 1})
|
641
641
|
papi_get_um_conditional_allorders = papiGetUmConditionalAllOrders = Entry('um/conditional/allOrders', 'papi', 'GET', {'cost': 40})
|
642
642
|
papi_get_cm_conditional_openorder = papiGetCmConditionalOpenOrder = Entry('cm/conditional/openOrder', 'papi', 'GET', {'cost': 1})
|
643
|
-
papi_get_cm_conditional_openorders = papiGetCmConditionalOpenOrders = Entry('cm/conditional/openOrders', 'papi', 'GET', {'cost': 40})
|
643
|
+
papi_get_cm_conditional_openorders = papiGetCmConditionalOpenOrders = Entry('cm/conditional/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
|
644
644
|
papi_get_cm_conditional_orderhistory = papiGetCmConditionalOrderHistory = Entry('cm/conditional/orderHistory', 'papi', 'GET', {'cost': 1})
|
645
645
|
papi_get_cm_conditional_allorders = papiGetCmConditionalAllOrders = Entry('cm/conditional/allOrders', 'papi', 'GET', {'cost': 40})
|
646
646
|
papi_get_margin_order = papiGetMarginOrder = Entry('margin/order', 'papi', 'GET', {'cost': 5})
|
ccxt/abstract/cryptocom.py
CHANGED
@@ -11,6 +11,7 @@ class ImplicitAPI:
|
|
11
11
|
v1_public_get_public_get_valuations = v1PublicGetPublicGetValuations = Entry('public/get-valuations', ['v1', 'public'], 'GET', {'cost': 1})
|
12
12
|
v1_public_get_public_get_expired_settlement_price = v1PublicGetPublicGetExpiredSettlementPrice = Entry('public/get-expired-settlement-price', ['v1', 'public'], 'GET', {'cost': 3.3333333333333335})
|
13
13
|
v1_public_get_public_get_insurance = v1PublicGetPublicGetInsurance = Entry('public/get-insurance', ['v1', 'public'], 'GET', {'cost': 1})
|
14
|
+
v1_public_post_public_staking_get_conversion_rate = v1PublicPostPublicStakingGetConversionRate = Entry('public/staking/get-conversion-rate', ['v1', 'public'], 'POST', {'cost': 2})
|
14
15
|
v1_private_post_private_set_cancel_on_disconnect = v1PrivatePostPrivateSetCancelOnDisconnect = Entry('private/set-cancel-on-disconnect', ['v1', 'private'], 'POST', {'cost': 3.3333333333333335})
|
15
16
|
v1_private_post_private_get_cancel_on_disconnect = v1PrivatePostPrivateGetCancelOnDisconnect = Entry('private/get-cancel-on-disconnect', ['v1', 'private'], 'POST', {'cost': 3.3333333333333335})
|
16
17
|
v1_private_post_private_user_balance = v1PrivatePostPrivateUserBalance = Entry('private/user-balance', ['v1', 'private'], 'POST', {'cost': 3.3333333333333335})
|
@@ -37,6 +38,16 @@ class ImplicitAPI:
|
|
37
38
|
v1_private_post_private_get_accounts = v1PrivatePostPrivateGetAccounts = Entry('private/get-accounts', ['v1', 'private'], 'POST', {'cost': 3.3333333333333335})
|
38
39
|
v1_private_post_private_get_withdrawal_history = v1PrivatePostPrivateGetWithdrawalHistory = Entry('private/get-withdrawal-history', ['v1', 'private'], 'POST', {'cost': 3.3333333333333335})
|
39
40
|
v1_private_post_private_get_deposit_history = v1PrivatePostPrivateGetDepositHistory = Entry('private/get-deposit-history', ['v1', 'private'], 'POST', {'cost': 3.3333333333333335})
|
41
|
+
v1_private_post_private_staking_stake = v1PrivatePostPrivateStakingStake = Entry('private/staking/stake', ['v1', 'private'], 'POST', {'cost': 2})
|
42
|
+
v1_private_post_private_staking_unstake = v1PrivatePostPrivateStakingUnstake = Entry('private/staking/unstake', ['v1', 'private'], 'POST', {'cost': 2})
|
43
|
+
v1_private_post_private_staking_get_staking_position = v1PrivatePostPrivateStakingGetStakingPosition = Entry('private/staking/get-staking-position', ['v1', 'private'], 'POST', {'cost': 2})
|
44
|
+
v1_private_post_private_staking_get_staking_instruments = v1PrivatePostPrivateStakingGetStakingInstruments = Entry('private/staking/get-staking-instruments', ['v1', 'private'], 'POST', {'cost': 2})
|
45
|
+
v1_private_post_private_staking_get_open_stake = v1PrivatePostPrivateStakingGetOpenStake = Entry('private/staking/get-open-stake', ['v1', 'private'], 'POST', {'cost': 2})
|
46
|
+
v1_private_post_private_staking_get_stake_history = v1PrivatePostPrivateStakingGetStakeHistory = Entry('private/staking/get-stake-history', ['v1', 'private'], 'POST', {'cost': 2})
|
47
|
+
v1_private_post_private_staking_get_reward_history = v1PrivatePostPrivateStakingGetRewardHistory = Entry('private/staking/get-reward-history', ['v1', 'private'], 'POST', {'cost': 2})
|
48
|
+
v1_private_post_private_staking_convert = v1PrivatePostPrivateStakingConvert = Entry('private/staking/convert', ['v1', 'private'], 'POST', {'cost': 2})
|
49
|
+
v1_private_post_private_staking_get_open_convert = v1PrivatePostPrivateStakingGetOpenConvert = Entry('private/staking/get-open-convert', ['v1', 'private'], 'POST', {'cost': 2})
|
50
|
+
v1_private_post_private_staking_get_convert_history = v1PrivatePostPrivateStakingGetConvertHistory = Entry('private/staking/get-convert-history', ['v1', 'private'], 'POST', {'cost': 2})
|
40
51
|
v2_public_get_public_auth = v2PublicGetPublicAuth = Entry('public/auth', ['v2', 'public'], 'GET', {'cost': 1})
|
41
52
|
v2_public_get_public_get_instruments = v2PublicGetPublicGetInstruments = Entry('public/get-instruments', ['v2', 'public'], 'GET', {'cost': 1})
|
42
53
|
v2_public_get_public_get_book = v2PublicGetPublicGetBook = Entry('public/get-book', ['v2', 'public'], 'GET', {'cost': 1})
|
ccxt/abstract/woo.py
CHANGED
@@ -42,6 +42,7 @@ class ImplicitAPI:
|
|
42
42
|
v1_private_get_positions = v1PrivateGetPositions = Entry('positions', ['v1', 'private'], 'GET', {'cost': 3.33})
|
43
43
|
v1_private_get_position_symbol = v1PrivateGetPositionSymbol = Entry('position/{symbol}', ['v1', 'private'], 'GET', {'cost': 3.33})
|
44
44
|
v1_private_get_client_transaction_history = v1PrivateGetClientTransactionHistory = Entry('client/transaction_history', ['v1', 'private'], 'GET', {'cost': 60})
|
45
|
+
v1_private_get_client_futures_leverage = v1PrivateGetClientFuturesLeverage = Entry('client/futures_leverage', ['v1', 'private'], 'GET', {'cost': 60})
|
45
46
|
v1_private_post_order = v1PrivatePostOrder = Entry('order', ['v1', 'private'], 'POST', {'cost': 5})
|
46
47
|
v1_private_post_order_cancel_all_after = v1PrivatePostOrderCancelAllAfter = Entry('order/cancel_all_after', ['v1', 'private'], 'POST', {'cost': 1})
|
47
48
|
v1_private_post_asset_main_sub_transfer = v1PrivatePostAssetMainSubTransfer = Entry('asset/main_sub_transfer', ['v1', 'private'], 'POST', {'cost': 30})
|
@@ -52,6 +53,8 @@ class ImplicitAPI:
|
|
52
53
|
v1_private_post_client_account_mode = v1PrivatePostClientAccountMode = Entry('client/account_mode', ['v1', 'private'], 'POST', {'cost': 120})
|
53
54
|
v1_private_post_client_position_mode = v1PrivatePostClientPositionMode = Entry('client/position_mode', ['v1', 'private'], 'POST', {'cost': 5})
|
54
55
|
v1_private_post_client_leverage = v1PrivatePostClientLeverage = Entry('client/leverage', ['v1', 'private'], 'POST', {'cost': 120})
|
56
|
+
v1_private_post_client_futures_leverage = v1PrivatePostClientFuturesLeverage = Entry('client/futures_leverage', ['v1', 'private'], 'POST', {'cost': 30})
|
57
|
+
v1_private_post_client_isolated_margin = v1PrivatePostClientIsolatedMargin = Entry('client/isolated_margin', ['v1', 'private'], 'POST', {'cost': 30})
|
55
58
|
v1_private_delete_order = v1PrivateDeleteOrder = Entry('order', ['v1', 'private'], 'DELETE', {'cost': 1})
|
56
59
|
v1_private_delete_client_order = v1PrivateDeleteClientOrder = Entry('client/order', ['v1', 'private'], 'DELETE', {'cost': 1})
|
57
60
|
v1_private_delete_orders = v1PrivateDeleteOrders = Entry('orders', ['v1', 'private'], 'DELETE', {'cost': 1})
|
ccxt/ace.py
CHANGED
@@ -203,10 +203,23 @@ class ace(Exchange, ImplicitAPI):
|
|
203
203
|
return self.parse_markets(response)
|
204
204
|
|
205
205
|
def parse_market(self, market: dict) -> Market:
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
206
|
+
#
|
207
|
+
# {
|
208
|
+
# "symbol": "ADA/TWD",
|
209
|
+
# "base": "ADA",
|
210
|
+
# "baseCurrencyId": "122",
|
211
|
+
# "quote": "TWD",
|
212
|
+
# "quoteCurrencyId": "1",
|
213
|
+
# "basePrecision": "2",
|
214
|
+
# "quotePrecision": "3",
|
215
|
+
# "minLimitBaseAmount": "1.0",
|
216
|
+
# "maxLimitBaseAmount": "150000.0"
|
217
|
+
# }
|
218
|
+
#
|
219
|
+
baseId = self.safe_string(market, 'baseCurrencyId')
|
220
|
+
base = self.safe_currency_code(self.safe_string(market, 'base'))
|
221
|
+
quoteId = self.safe_string(market, 'quoteCurrencyId')
|
222
|
+
quote = self.safe_currency_code(self.safe_string(market, 'quote'))
|
210
223
|
symbol = base + '/' + quote
|
211
224
|
return {
|
212
225
|
'id': self.safe_string(market, 'symbol'),
|
@@ -304,7 +317,7 @@ class ace(Exchange, ImplicitAPI):
|
|
304
317
|
market = self.market(symbol)
|
305
318
|
response = self.publicGetOapiV2ListTradePrice(params)
|
306
319
|
marketId = market['id']
|
307
|
-
ticker = self.
|
320
|
+
ticker = self.safe_dict(response, marketId, {})
|
308
321
|
#
|
309
322
|
# {
|
310
323
|
# "BTC/USDT":{
|
@@ -340,7 +353,7 @@ class ace(Exchange, ImplicitAPI):
|
|
340
353
|
for i in range(0, len(pairs)):
|
341
354
|
marketId = pairs[i]
|
342
355
|
market = self.safe_market(marketId)
|
343
|
-
rawTicker = self.
|
356
|
+
rawTicker = self.safe_dict(response, marketId)
|
344
357
|
ticker = self.parse_ticker(rawTicker, market)
|
345
358
|
tickers.append(ticker)
|
346
359
|
return self.filter_by_array_tickers(tickers, 'symbol', symbols)
|
@@ -454,7 +467,7 @@ class ace(Exchange, ImplicitAPI):
|
|
454
467
|
if since is not None:
|
455
468
|
request['startTime'] = since
|
456
469
|
response = self.privatePostV2KlineGetKline(self.extend(request, params))
|
457
|
-
data = self.
|
470
|
+
data = self.safe_list(response, 'attachment', [])
|
458
471
|
#
|
459
472
|
# {
|
460
473
|
# "attachment":[
|
@@ -533,18 +546,18 @@ class ace(Exchange, ImplicitAPI):
|
|
533
546
|
if dateTime is not None:
|
534
547
|
timestamp = self.parse8601(dateTime)
|
535
548
|
timestamp = timestamp - 28800000 # 8 hours
|
536
|
-
orderSide = self.
|
549
|
+
orderSide = self.safe_string(order, 'buyOrSell')
|
537
550
|
if orderSide is not None:
|
538
|
-
side = 'buy' if (orderSide == 1) else 'sell'
|
551
|
+
side = 'buy' if (orderSide == '1') else 'sell'
|
539
552
|
amount = self.safe_string(order, 'num')
|
540
553
|
price = self.safe_string(order, 'price')
|
541
554
|
quoteId = self.safe_string(order, 'quoteCurrencyName')
|
542
555
|
baseId = self.safe_string(order, 'baseCurrencyName')
|
543
556
|
if quoteId is not None and baseId is not None:
|
544
557
|
symbol = baseId + '/' + quoteId
|
545
|
-
orderType = self.
|
558
|
+
orderType = self.safe_string(order, 'type')
|
546
559
|
if orderType is not None:
|
547
|
-
type = 'limit' if (orderType == 1) else 'market'
|
560
|
+
type = 'limit' if (orderType == '1') else 'market'
|
548
561
|
filled = self.safe_string(order, 'tradeNum')
|
549
562
|
remaining = self.safe_string(order, 'remainNum')
|
550
563
|
status = self.parse_order_status(self.safe_string(order, 'status'))
|
@@ -694,7 +707,7 @@ class ace(Exchange, ImplicitAPI):
|
|
694
707
|
if limit is not None:
|
695
708
|
request['size'] = limit
|
696
709
|
response = self.privatePostV2OrderGetOrderList(self.extend(request, params))
|
697
|
-
orders = self.
|
710
|
+
orders = self.safe_list(response, 'attachment')
|
698
711
|
#
|
699
712
|
# {
|
700
713
|
# "attachment": [
|
@@ -851,7 +864,7 @@ class ace(Exchange, ImplicitAPI):
|
|
851
864
|
# "status": 200
|
852
865
|
# }
|
853
866
|
#
|
854
|
-
data = self.
|
867
|
+
data = self.safe_dict(response, 'attachment')
|
855
868
|
trades = self.safe_list(data, 'trades', [])
|
856
869
|
return self.parse_trades(trades, market, since, limit)
|
857
870
|
|
@@ -947,7 +960,7 @@ class ace(Exchange, ImplicitAPI):
|
|
947
960
|
"""
|
948
961
|
self.load_markets()
|
949
962
|
response = self.privatePostV2CoinCustomerAccount(params)
|
950
|
-
balances = self.
|
963
|
+
balances = self.safe_list(response, 'attachment', [])
|
951
964
|
#
|
952
965
|
# {
|
953
966
|
# "attachment":[
|
@@ -981,7 +994,12 @@ class ace(Exchange, ImplicitAPI):
|
|
981
994
|
}, params)
|
982
995
|
sortedData = self.keysort(data)
|
983
996
|
values = list(sortedData.values())
|
984
|
-
|
997
|
+
stringifiedValues = []
|
998
|
+
for i in range(0, len(values)):
|
999
|
+
value = values[i]
|
1000
|
+
strValue = str(value)
|
1001
|
+
stringifiedValues.append(strValue)
|
1002
|
+
auth += ''.join(stringifiedValues)
|
985
1003
|
signature = self.hash(self.encode(auth), 'sha256', 'hex')
|
986
1004
|
data['signKey'] = signature
|
987
1005
|
headers = {
|
ccxt/async_support/__init__.py
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '4.3.
|
7
|
+
__version__ = '4.3.63'
|
8
8
|
|
9
9
|
# -----------------------------------------------------------------------------
|
10
10
|
|
@@ -53,6 +53,7 @@ from ccxt.base.errors import RateLimitExceeded # noqa: F4
|
|
53
53
|
from ccxt.base.errors import ExchangeNotAvailable # noqa: F401
|
54
54
|
from ccxt.base.errors import OnMaintenance # noqa: F401
|
55
55
|
from ccxt.base.errors import InvalidNonce # noqa: F401
|
56
|
+
from ccxt.base.errors import ChecksumError # noqa: F401
|
56
57
|
from ccxt.base.errors import RequestTimeout # noqa: F401
|
57
58
|
from ccxt.base.errors import BadResponse # noqa: F401
|
58
59
|
from ccxt.base.errors import NullResponse # noqa: F401
|
ccxt/async_support/ace.py
CHANGED
@@ -203,10 +203,23 @@ class ace(Exchange, ImplicitAPI):
|
|
203
203
|
return self.parse_markets(response)
|
204
204
|
|
205
205
|
def parse_market(self, market: dict) -> Market:
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
206
|
+
#
|
207
|
+
# {
|
208
|
+
# "symbol": "ADA/TWD",
|
209
|
+
# "base": "ADA",
|
210
|
+
# "baseCurrencyId": "122",
|
211
|
+
# "quote": "TWD",
|
212
|
+
# "quoteCurrencyId": "1",
|
213
|
+
# "basePrecision": "2",
|
214
|
+
# "quotePrecision": "3",
|
215
|
+
# "minLimitBaseAmount": "1.0",
|
216
|
+
# "maxLimitBaseAmount": "150000.0"
|
217
|
+
# }
|
218
|
+
#
|
219
|
+
baseId = self.safe_string(market, 'baseCurrencyId')
|
220
|
+
base = self.safe_currency_code(self.safe_string(market, 'base'))
|
221
|
+
quoteId = self.safe_string(market, 'quoteCurrencyId')
|
222
|
+
quote = self.safe_currency_code(self.safe_string(market, 'quote'))
|
210
223
|
symbol = base + '/' + quote
|
211
224
|
return {
|
212
225
|
'id': self.safe_string(market, 'symbol'),
|
@@ -304,7 +317,7 @@ class ace(Exchange, ImplicitAPI):
|
|
304
317
|
market = self.market(symbol)
|
305
318
|
response = await self.publicGetOapiV2ListTradePrice(params)
|
306
319
|
marketId = market['id']
|
307
|
-
ticker = self.
|
320
|
+
ticker = self.safe_dict(response, marketId, {})
|
308
321
|
#
|
309
322
|
# {
|
310
323
|
# "BTC/USDT":{
|
@@ -340,7 +353,7 @@ class ace(Exchange, ImplicitAPI):
|
|
340
353
|
for i in range(0, len(pairs)):
|
341
354
|
marketId = pairs[i]
|
342
355
|
market = self.safe_market(marketId)
|
343
|
-
rawTicker = self.
|
356
|
+
rawTicker = self.safe_dict(response, marketId)
|
344
357
|
ticker = self.parse_ticker(rawTicker, market)
|
345
358
|
tickers.append(ticker)
|
346
359
|
return self.filter_by_array_tickers(tickers, 'symbol', symbols)
|
@@ -454,7 +467,7 @@ class ace(Exchange, ImplicitAPI):
|
|
454
467
|
if since is not None:
|
455
468
|
request['startTime'] = since
|
456
469
|
response = await self.privatePostV2KlineGetKline(self.extend(request, params))
|
457
|
-
data = self.
|
470
|
+
data = self.safe_list(response, 'attachment', [])
|
458
471
|
#
|
459
472
|
# {
|
460
473
|
# "attachment":[
|
@@ -533,18 +546,18 @@ class ace(Exchange, ImplicitAPI):
|
|
533
546
|
if dateTime is not None:
|
534
547
|
timestamp = self.parse8601(dateTime)
|
535
548
|
timestamp = timestamp - 28800000 # 8 hours
|
536
|
-
orderSide = self.
|
549
|
+
orderSide = self.safe_string(order, 'buyOrSell')
|
537
550
|
if orderSide is not None:
|
538
|
-
side = 'buy' if (orderSide == 1) else 'sell'
|
551
|
+
side = 'buy' if (orderSide == '1') else 'sell'
|
539
552
|
amount = self.safe_string(order, 'num')
|
540
553
|
price = self.safe_string(order, 'price')
|
541
554
|
quoteId = self.safe_string(order, 'quoteCurrencyName')
|
542
555
|
baseId = self.safe_string(order, 'baseCurrencyName')
|
543
556
|
if quoteId is not None and baseId is not None:
|
544
557
|
symbol = baseId + '/' + quoteId
|
545
|
-
orderType = self.
|
558
|
+
orderType = self.safe_string(order, 'type')
|
546
559
|
if orderType is not None:
|
547
|
-
type = 'limit' if (orderType == 1) else 'market'
|
560
|
+
type = 'limit' if (orderType == '1') else 'market'
|
548
561
|
filled = self.safe_string(order, 'tradeNum')
|
549
562
|
remaining = self.safe_string(order, 'remainNum')
|
550
563
|
status = self.parse_order_status(self.safe_string(order, 'status'))
|
@@ -694,7 +707,7 @@ class ace(Exchange, ImplicitAPI):
|
|
694
707
|
if limit is not None:
|
695
708
|
request['size'] = limit
|
696
709
|
response = await self.privatePostV2OrderGetOrderList(self.extend(request, params))
|
697
|
-
orders = self.
|
710
|
+
orders = self.safe_list(response, 'attachment')
|
698
711
|
#
|
699
712
|
# {
|
700
713
|
# "attachment": [
|
@@ -851,7 +864,7 @@ class ace(Exchange, ImplicitAPI):
|
|
851
864
|
# "status": 200
|
852
865
|
# }
|
853
866
|
#
|
854
|
-
data = self.
|
867
|
+
data = self.safe_dict(response, 'attachment')
|
855
868
|
trades = self.safe_list(data, 'trades', [])
|
856
869
|
return self.parse_trades(trades, market, since, limit)
|
857
870
|
|
@@ -947,7 +960,7 @@ class ace(Exchange, ImplicitAPI):
|
|
947
960
|
"""
|
948
961
|
await self.load_markets()
|
949
962
|
response = await self.privatePostV2CoinCustomerAccount(params)
|
950
|
-
balances = self.
|
963
|
+
balances = self.safe_list(response, 'attachment', [])
|
951
964
|
#
|
952
965
|
# {
|
953
966
|
# "attachment":[
|
@@ -981,7 +994,12 @@ class ace(Exchange, ImplicitAPI):
|
|
981
994
|
}, params)
|
982
995
|
sortedData = self.keysort(data)
|
983
996
|
values = list(sortedData.values())
|
984
|
-
|
997
|
+
stringifiedValues = []
|
998
|
+
for i in range(0, len(values)):
|
999
|
+
value = values[i]
|
1000
|
+
strValue = str(value)
|
1001
|
+
stringifiedValues.append(strValue)
|
1002
|
+
auth += ''.join(stringifiedValues)
|
985
1003
|
signature = self.hash(self.encode(auth), 'sha256', 'hex')
|
986
1004
|
data['signKey'] = signature
|
987
1005
|
headers = {
|
ccxt/async_support/binance.py
CHANGED
@@ -837,7 +837,7 @@ class binance(Exchange, ImplicitAPI):
|
|
837
837
|
'forceOrders': {'cost': 20, 'noSymbol': 50},
|
838
838
|
'allOrders': 5,
|
839
839
|
'openOrder': 1,
|
840
|
-
'openOrders': 1,
|
840
|
+
'openOrders': {'cost': 1, 'noSymbol': 40},
|
841
841
|
'order': 1,
|
842
842
|
'account': 5,
|
843
843
|
'balance': 5,
|
@@ -1029,18 +1029,18 @@ class binance(Exchange, ImplicitAPI):
|
|
1029
1029
|
'ping': 1,
|
1030
1030
|
'um/order': 1, # 1
|
1031
1031
|
'um/openOrder': 1, # 1
|
1032
|
-
'um/openOrders': 1,
|
1032
|
+
'um/openOrders': {'cost': 1, 'noSymbol': 40},
|
1033
1033
|
'um/allOrders': 5, # 5
|
1034
1034
|
'cm/order': 1, # 1
|
1035
1035
|
'cm/openOrder': 1, # 1
|
1036
|
-
'cm/openOrders': 1,
|
1036
|
+
'cm/openOrders': {'cost': 1, 'noSymbol': 40},
|
1037
1037
|
'cm/allOrders': 20, # 20
|
1038
1038
|
'um/conditional/openOrder': 1,
|
1039
|
-
'um/conditional/openOrders': 40,
|
1039
|
+
'um/conditional/openOrders': {'cost': 1, 'noSymbol': 40},
|
1040
1040
|
'um/conditional/orderHistory': 1,
|
1041
1041
|
'um/conditional/allOrders': 40,
|
1042
1042
|
'cm/conditional/openOrder': 1,
|
1043
|
-
'cm/conditional/openOrders': 40,
|
1043
|
+
'cm/conditional/openOrders': {'cost': 1, 'noSymbol': 40},
|
1044
1044
|
'cm/conditional/orderHistory': 1,
|
1045
1045
|
'cm/conditional/allOrders': 40,
|
1046
1046
|
'margin/order': 5,
|
@@ -6202,10 +6202,7 @@ class binance(Exchange, ImplicitAPI):
|
|
6202
6202
|
marketType = market['type'] if ('type' in market) else defaultType
|
6203
6203
|
type = self.safe_string(params, 'type', marketType)
|
6204
6204
|
elif self.options['warnOnFetchOpenOrdersWithoutSymbol']:
|
6205
|
-
|
6206
|
-
numSymbols = len(symbols)
|
6207
|
-
fetchOpenOrdersRateLimit = self.parse_to_int(numSymbols / 2)
|
6208
|
-
raise ExchangeError(self.id + ' fetchOpenOrders() WARNING: fetching open orders without specifying a symbol is rate-limited to one call per ' + str(fetchOpenOrdersRateLimit) + ' seconds. Do not call self method frequently to avoid ban. Set ' + self.id + '.options["warnOnFetchOpenOrdersWithoutSymbol"] = False to suppress self warning message.')
|
6205
|
+
raise ExchangeError(self.id + ' fetchOpenOrders() WARNING: fetching open orders without specifying a symbol has stricter rate limits(10 times more for spot, 40 times more for other markets) compared to requesting with symbol argument. To acknowledge self warning, set ' + self.id + '.options["warnOnFetchOpenOrdersWithoutSymbol"] = False to suppress self warning message.')
|
6209
6206
|
else:
|
6210
6207
|
defaultType = self.safe_string_2(self.options, 'fetchOpenOrders', 'defaultType', 'spot')
|
6211
6208
|
type = self.safe_string(params, 'type', defaultType)
|