ccxt 4.2.88 → 4.2.90
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.
- package/README.md +3 -3
- package/build.sh +2 -2
- package/dist/ccxt.browser.js +1062 -241
- package/dist/ccxt.browser.min.js +6 -4
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/ascendex.js +3 -0
- package/dist/cjs/src/base/Exchange.js +53 -7
- package/dist/cjs/src/base/functions/crypto.js +37 -0
- package/dist/cjs/src/base/functions/rsa.js +19 -4
- package/dist/cjs/src/binance.js +92 -9
- package/dist/cjs/src/bingx.js +101 -1
- package/dist/cjs/src/bitfinex2.js +1 -0
- package/dist/cjs/src/bitflyer.js +2 -0
- package/dist/cjs/src/bitget.js +9 -1
- package/dist/cjs/src/bitmart.js +2 -0
- package/dist/cjs/src/bitmex.js +1 -0
- package/dist/cjs/src/bitrue.js +1 -0
- package/dist/cjs/src/bitstamp.js +83 -99
- package/dist/cjs/src/blofin.js +2 -0
- package/dist/cjs/src/bybit.js +63 -0
- package/dist/cjs/src/coinbase.js +48 -24
- package/dist/cjs/src/coinbaseinternational.js +1 -0
- package/dist/cjs/src/coinex.js +102 -8
- package/dist/cjs/src/coinsph.js +2 -0
- package/dist/cjs/src/cryptocom.js +1 -0
- package/dist/cjs/src/delta.js +1 -0
- package/dist/cjs/src/digifinex.js +3 -0
- package/dist/cjs/src/exmo.js +1 -0
- package/dist/cjs/src/gate.js +4 -0
- package/dist/cjs/src/gemini.js +10 -9
- package/dist/cjs/src/hitbtc.js +3 -0
- package/dist/cjs/src/htx.js +3 -0
- package/dist/cjs/src/hyperliquid.js +1 -0
- package/dist/cjs/src/kucoin.js +40 -15
- package/dist/cjs/src/kucoinfutures.js +34 -3
- package/dist/cjs/src/latoken.js +4 -0
- package/dist/cjs/src/lbank.js +3 -1
- package/dist/cjs/src/luno.js +2 -0
- package/dist/cjs/src/mexc.js +55 -6
- package/dist/cjs/src/okx.js +159 -8
- package/dist/cjs/src/phemex.js +1 -0
- package/dist/cjs/src/pro/bitget.js +2 -0
- package/dist/cjs/src/static_dependencies/noble-curves/p256.js +48 -0
- package/dist/cjs/src/timex.js +2 -0
- package/dist/cjs/src/woo.js +1 -0
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/bingx.d.ts +2 -0
- package/js/src/abstract/bybit.d.ts +2 -0
- package/js/src/ascendex.d.ts +3 -3
- package/js/src/ascendex.js +3 -0
- package/js/src/base/Exchange.d.ts +13 -8
- package/js/src/base/Exchange.js +53 -7
- package/js/src/base/functions/crypto.js +37 -0
- package/js/src/base/functions/rsa.d.ts +1 -1
- package/js/src/base/functions/rsa.js +21 -5
- package/js/src/base/types.d.ts +35 -1
- package/js/src/bigone.d.ts +2 -2
- package/js/src/binance.d.ts +6 -15
- package/js/src/binance.js +92 -9
- package/js/src/bingx.d.ts +3 -2
- package/js/src/bingx.js +101 -1
- package/js/src/bit2c.d.ts +2 -2
- package/js/src/bitbank.d.ts +2 -2
- package/js/src/bitfinex.d.ts +2 -2
- package/js/src/bitfinex2.d.ts +3 -3
- package/js/src/bitfinex2.js +1 -0
- package/js/src/bitflyer.d.ts +2 -7
- package/js/src/bitflyer.js +2 -0
- package/js/src/bitget.d.ts +6 -9
- package/js/src/bitget.js +9 -1
- package/js/src/bitmart.d.ts +4 -14
- package/js/src/bitmart.js +2 -0
- package/js/src/bitmex.d.ts +2 -2
- package/js/src/bitmex.js +1 -0
- package/js/src/bitopro.d.ts +3 -3
- package/js/src/bitrue.d.ts +2 -2
- package/js/src/bitrue.js +1 -0
- package/js/src/bitso.d.ts +2 -2
- package/js/src/bitstamp.d.ts +7 -19
- package/js/src/bitstamp.js +83 -99
- package/js/src/bitteam.d.ts +2 -2
- package/js/src/bitvavo.d.ts +3 -3
- package/js/src/bl3p.d.ts +2 -2
- package/js/src/blockchaincom.d.ts +2 -2
- package/js/src/blofin.d.ts +2 -7
- package/js/src/blofin.js +2 -0
- package/js/src/bybit.d.ts +7 -15
- package/js/src/bybit.js +63 -0
- package/js/src/cex.d.ts +3 -3
- package/js/src/coinbase.d.ts +2 -2
- package/js/src/coinbase.js +48 -24
- package/js/src/coinbaseinternational.d.ts +2 -2
- package/js/src/coinbaseinternational.js +1 -0
- package/js/src/coinbasepro.d.ts +3 -3
- package/js/src/coincheck.d.ts +2 -2
- package/js/src/coinex.d.ts +7 -19
- package/js/src/coinex.js +102 -8
- package/js/src/coinlist.d.ts +3 -3
- package/js/src/coinmate.d.ts +2 -9
- package/js/src/coinmetro.d.ts +2 -2
- package/js/src/coinone.d.ts +2 -2
- package/js/src/coinsph.d.ts +4 -14
- package/js/src/coinsph.js +2 -0
- package/js/src/cryptocom.js +1 -0
- package/js/src/currencycom.d.ts +3 -3
- package/js/src/delta.d.ts +2 -2
- package/js/src/delta.js +1 -0
- package/js/src/deribit.d.ts +3 -3
- package/js/src/digifinex.d.ts +4 -14
- package/js/src/digifinex.js +3 -0
- package/js/src/exmo.d.ts +3 -3
- package/js/src/exmo.js +1 -0
- package/js/src/gate.d.ts +6 -9
- package/js/src/gate.js +4 -0
- package/js/src/gemini.d.ts +3 -3
- package/js/src/gemini.js +10 -9
- package/js/src/hitbtc.d.ts +5 -15
- package/js/src/hitbtc.js +3 -0
- package/js/src/hollaex.d.ts +3 -3
- package/js/src/htx.d.ts +4 -14
- package/js/src/htx.js +3 -0
- package/js/src/huobijp.d.ts +2 -2
- package/js/src/hyperliquid.d.ts +2 -2
- package/js/src/hyperliquid.js +1 -0
- package/js/src/idex.d.ts +3 -3
- package/js/src/independentreserve.d.ts +2 -2
- package/js/src/kraken.d.ts +3 -10
- package/js/src/kucoin.d.ts +3 -10
- package/js/src/kucoin.js +40 -15
- package/js/src/kucoinfutures.d.ts +2 -9
- package/js/src/kucoinfutures.js +34 -3
- package/js/src/kuna.d.ts +2 -2
- package/js/src/latoken.d.ts +7 -8
- package/js/src/latoken.js +4 -0
- package/js/src/lbank.d.ts +4 -9
- package/js/src/lbank.js +3 -1
- package/js/src/luno.d.ts +2 -7
- package/js/src/luno.js +2 -0
- package/js/src/lykke.d.ts +2 -2
- package/js/src/mexc.d.ts +3 -3
- package/js/src/mexc.js +55 -6
- package/js/src/ndax.d.ts +2 -2
- package/js/src/oceanex.d.ts +2 -2
- package/js/src/okcoin.d.ts +2 -2
- package/js/src/okx.d.ts +5 -14
- package/js/src/okx.js +159 -8
- package/js/src/onetrading.d.ts +3 -3
- package/js/src/phemex.d.ts +2 -2
- package/js/src/phemex.js +1 -0
- package/js/src/poloniex.d.ts +3 -3
- package/js/src/pro/bitget.js +2 -0
- package/js/src/pro/bitvavo.d.ts +2 -2
- package/js/src/probit.d.ts +2 -2
- package/js/src/timex.d.ts +4 -14
- package/js/src/timex.js +2 -0
- package/js/src/upbit.d.ts +2 -9
- package/js/src/wazirx.d.ts +2 -2
- package/js/src/whitebit.d.ts +3 -3
- package/js/src/woo.d.ts +3 -3
- package/js/src/woo.js +1 -0
- package/js/src/yobit.d.ts +2 -2
- package/package.json +1 -1
- package/skip-tests.json +6 -1
|
@@ -3366,6 +3366,8 @@ class digifinex extends digifinex$1 {
|
|
|
3366
3366
|
'symbol': symbol,
|
|
3367
3367
|
'maker': this.safeNumber(fee, 'maker_fee_rate'),
|
|
3368
3368
|
'taker': this.safeNumber(fee, 'taker_fee_rate'),
|
|
3369
|
+
'percentage': undefined,
|
|
3370
|
+
'tierBased': undefined,
|
|
3369
3371
|
};
|
|
3370
3372
|
}
|
|
3371
3373
|
async fetchPositions(symbols = undefined, params = {}) {
|
|
@@ -4133,6 +4135,7 @@ class digifinex extends digifinex$1 {
|
|
|
4133
4135
|
'info': data,
|
|
4134
4136
|
'symbol': this.safeSymbol(marketId, market, undefined, 'swap'),
|
|
4135
4137
|
'type': (rawType === 1) ? 'add' : 'reduce',
|
|
4138
|
+
'marginMode': 'isolated',
|
|
4136
4139
|
'amount': this.safeNumber(data, 'amount'),
|
|
4137
4140
|
'total': undefined,
|
|
4138
4141
|
'code': market['settle'],
|
package/dist/cjs/src/exmo.js
CHANGED
package/dist/cjs/src/gate.js
CHANGED
|
@@ -120,6 +120,7 @@ class gate extends gate$1 {
|
|
|
120
120
|
'fetchLeverages': true,
|
|
121
121
|
'fetchLeverageTiers': true,
|
|
122
122
|
'fetchLiquidations': true,
|
|
123
|
+
'fetchMarginAdjustmentHistory': false,
|
|
123
124
|
'fetchMarginMode': false,
|
|
124
125
|
'fetchMarketLeverageTiers': true,
|
|
125
126
|
'fetchMarkets': true,
|
|
@@ -2071,6 +2072,8 @@ class gate extends gate$1 {
|
|
|
2071
2072
|
'symbol': this.safeString(market, 'symbol'),
|
|
2072
2073
|
'maker': this.safeNumber(info, makerKey),
|
|
2073
2074
|
'taker': this.safeNumber(info, takerKey),
|
|
2075
|
+
'percentage': undefined,
|
|
2076
|
+
'tierBased': undefined,
|
|
2074
2077
|
};
|
|
2075
2078
|
}
|
|
2076
2079
|
async fetchTransactionFees(codes = undefined, params = {}) {
|
|
@@ -6117,6 +6120,7 @@ class gate extends gate$1 {
|
|
|
6117
6120
|
'info': data,
|
|
6118
6121
|
'symbol': market['symbol'],
|
|
6119
6122
|
'type': undefined,
|
|
6123
|
+
'marginMode': 'isolated',
|
|
6120
6124
|
'amount': undefined,
|
|
6121
6125
|
'total': total,
|
|
6122
6126
|
'code': this.safeValue(market, 'quote'),
|
package/dist/cjs/src/gemini.js
CHANGED
|
@@ -107,6 +107,7 @@ class gemini extends gemini$1 {
|
|
|
107
107
|
// https://github.com/ccxt/ccxt/issues/7874
|
|
108
108
|
// https://github.com/ccxt/ccxt/issues/7894
|
|
109
109
|
'web': 'https://docs.gemini.com',
|
|
110
|
+
'webExchange': 'https://exchange.gemini.com',
|
|
110
111
|
},
|
|
111
112
|
'fees': [
|
|
112
113
|
'https://gemini.com/api-fee-schedule',
|
|
@@ -644,7 +645,7 @@ class gemini extends gemini$1 {
|
|
|
644
645
|
let quoteId = undefined;
|
|
645
646
|
let settleId = undefined;
|
|
646
647
|
let tickSize = undefined;
|
|
647
|
-
let
|
|
648
|
+
let amountPrecision = undefined;
|
|
648
649
|
let minSize = undefined;
|
|
649
650
|
let status = undefined;
|
|
650
651
|
let swap = false;
|
|
@@ -655,9 +656,9 @@ class gemini extends gemini$1 {
|
|
|
655
656
|
const isArray = (Array.isArray(response));
|
|
656
657
|
if (!isString && !isArray) {
|
|
657
658
|
marketId = this.safeStringLower(response, 'symbol');
|
|
659
|
+
amountPrecision = this.safeNumber(response, 'tick_size'); // right, exchange has an imperfect naming and this turns out to be an amount-precision
|
|
660
|
+
tickSize = this.safeNumber(response, 'quote_increment'); // this is tick-size actually
|
|
658
661
|
minSize = this.safeNumber(response, 'min_order_size');
|
|
659
|
-
tickSize = this.safeNumber(response, 'tick_size');
|
|
660
|
-
increment = this.safeNumber(response, 'quote_increment');
|
|
661
662
|
status = this.parseMarketActive(this.safeString(response, 'status'));
|
|
662
663
|
baseId = this.safeString(response, 'base_currency');
|
|
663
664
|
quoteId = this.safeString(response, 'quote_currency');
|
|
@@ -670,9 +671,9 @@ class gemini extends gemini$1 {
|
|
|
670
671
|
}
|
|
671
672
|
else {
|
|
672
673
|
marketId = this.safeStringLower(response, 0);
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
674
|
+
tickSize = this.parseNumber(this.parsePrecision(this.safeString(response, 1))); // priceTickDecimalPlaces
|
|
675
|
+
amountPrecision = this.parseNumber(this.parsePrecision(this.safeString(response, 2))); // quantityTickDecimalPlaces
|
|
676
|
+
minSize = this.safeNumber(response, 3); // quantityMinimum
|
|
676
677
|
}
|
|
677
678
|
const marketIdUpper = marketId.toUpperCase();
|
|
678
679
|
const isPerp = (marketIdUpper.indexOf('PERP') >= 0);
|
|
@@ -727,8 +728,8 @@ class gemini extends gemini$1 {
|
|
|
727
728
|
'strike': undefined,
|
|
728
729
|
'optionType': undefined,
|
|
729
730
|
'precision': {
|
|
730
|
-
'price':
|
|
731
|
-
'amount':
|
|
731
|
+
'price': tickSize,
|
|
732
|
+
'amount': amountPrecision,
|
|
732
733
|
},
|
|
733
734
|
'limits': {
|
|
734
735
|
'leverage': {
|
|
@@ -1802,7 +1803,7 @@ class gemini extends gemini$1 {
|
|
|
1802
1803
|
if (apiKey.indexOf('account') < 0) {
|
|
1803
1804
|
throw new errors.AuthenticationError(this.id + ' sign() requires an account-key, master-keys are not-supported');
|
|
1804
1805
|
}
|
|
1805
|
-
const nonce = this.nonce();
|
|
1806
|
+
const nonce = this.nonce().toString();
|
|
1806
1807
|
const request = this.extend({
|
|
1807
1808
|
'request': url,
|
|
1808
1809
|
'nonce': nonce,
|
package/dist/cjs/src/hitbtc.js
CHANGED
|
@@ -1625,6 +1625,8 @@ class hitbtc extends hitbtc$1 {
|
|
|
1625
1625
|
'symbol': symbol,
|
|
1626
1626
|
'taker': taker,
|
|
1627
1627
|
'maker': maker,
|
|
1628
|
+
'percentage': undefined,
|
|
1629
|
+
'tierBased': undefined,
|
|
1628
1630
|
};
|
|
1629
1631
|
}
|
|
1630
1632
|
async fetchTradingFee(symbol, params = {}) {
|
|
@@ -3319,6 +3321,7 @@ class hitbtc extends hitbtc$1 {
|
|
|
3319
3321
|
'info': data,
|
|
3320
3322
|
'symbol': market['symbol'],
|
|
3321
3323
|
'type': undefined,
|
|
3324
|
+
'marginMode': 'isolated',
|
|
3322
3325
|
'amount': undefined,
|
|
3323
3326
|
'total': undefined,
|
|
3324
3327
|
'code': this.safeString(currencyInfo, 'code'),
|
package/dist/cjs/src/htx.js
CHANGED
|
@@ -84,6 +84,7 @@ class htx extends htx$1 {
|
|
|
84
84
|
'fetchLeverage': false,
|
|
85
85
|
'fetchLeverageTiers': true,
|
|
86
86
|
'fetchLiquidations': true,
|
|
87
|
+
'fetchMarginAdjustmentHistory': false,
|
|
87
88
|
'fetchMarketLeverageTiers': true,
|
|
88
89
|
'fetchMarkets': true,
|
|
89
90
|
'fetchMarkOHLCV': true,
|
|
@@ -1500,6 +1501,8 @@ class htx extends htx$1 {
|
|
|
1500
1501
|
'symbol': this.safeSymbol(marketId, market),
|
|
1501
1502
|
'maker': this.safeNumber(fee, 'actualMakerRate'),
|
|
1502
1503
|
'taker': this.safeNumber(fee, 'actualTakerRate'),
|
|
1504
|
+
'percentage': undefined,
|
|
1505
|
+
'tierBased': undefined,
|
|
1503
1506
|
};
|
|
1504
1507
|
}
|
|
1505
1508
|
async fetchTradingFee(symbol, params = {}) {
|
|
@@ -2137,6 +2137,7 @@ class hyperliquid extends hyperliquid$1 {
|
|
|
2137
2137
|
'info': data,
|
|
2138
2138
|
'symbol': this.safeSymbol(undefined, market),
|
|
2139
2139
|
'type': undefined,
|
|
2140
|
+
'marginMode': 'isolated',
|
|
2140
2141
|
'amount': undefined,
|
|
2141
2142
|
'total': undefined,
|
|
2142
2143
|
'code': this.safeString(market, 'settle'),
|
package/dist/cjs/src/kucoin.js
CHANGED
|
@@ -73,6 +73,7 @@ class kucoin extends kucoin$1 {
|
|
|
73
73
|
'fetchL3OrderBook': true,
|
|
74
74
|
'fetchLedger': true,
|
|
75
75
|
'fetchLeverageTiers': false,
|
|
76
|
+
'fetchMarginAdjustmentHistory': false,
|
|
76
77
|
'fetchMarginMode': false,
|
|
77
78
|
'fetchMarketLeverageTiers': false,
|
|
78
79
|
'fetchMarkets': true,
|
|
@@ -3524,9 +3525,9 @@ class kucoin extends kucoin$1 {
|
|
|
3524
3525
|
}
|
|
3525
3526
|
parseBalanceHelper(entry) {
|
|
3526
3527
|
const account = this.account();
|
|
3527
|
-
account['used'] = this.
|
|
3528
|
-
account['free'] = this.
|
|
3529
|
-
account['total'] = this.
|
|
3528
|
+
account['used'] = this.safeString2(entry, 'holdBalance', 'hold');
|
|
3529
|
+
account['free'] = this.safeString2(entry, 'availableBalance', 'available');
|
|
3530
|
+
account['total'] = this.safeString2(entry, 'totalBalance', 'total');
|
|
3530
3531
|
const debt = this.safeString(entry, 'liability');
|
|
3531
3532
|
const interest = this.safeString(entry, 'interest');
|
|
3532
3533
|
account['debt'] = Precise["default"].stringAdd(debt, interest);
|
|
@@ -3584,7 +3585,7 @@ class kucoin extends kucoin$1 {
|
|
|
3584
3585
|
response = await this.privateGetAccounts(this.extend(request, query));
|
|
3585
3586
|
}
|
|
3586
3587
|
//
|
|
3587
|
-
// Spot
|
|
3588
|
+
// Spot
|
|
3588
3589
|
//
|
|
3589
3590
|
// {
|
|
3590
3591
|
// "code": "200000",
|
|
@@ -3600,35 +3601,59 @@ class kucoin extends kucoin$1 {
|
|
|
3600
3601
|
// ]
|
|
3601
3602
|
// }
|
|
3602
3603
|
//
|
|
3604
|
+
// Cross
|
|
3605
|
+
//
|
|
3606
|
+
// {
|
|
3607
|
+
// "code": "200000",
|
|
3608
|
+
// "data": {
|
|
3609
|
+
// "debtRatio": "0",
|
|
3610
|
+
// "accounts": [
|
|
3611
|
+
// {
|
|
3612
|
+
// "currency": "USDT",
|
|
3613
|
+
// "totalBalance": "5",
|
|
3614
|
+
// "availableBalance": "5",
|
|
3615
|
+
// "holdBalance": "0",
|
|
3616
|
+
// "liability": "0",
|
|
3617
|
+
// "maxBorrowSize": "20"
|
|
3618
|
+
// },
|
|
3619
|
+
// ]
|
|
3620
|
+
// }
|
|
3621
|
+
// }
|
|
3622
|
+
//
|
|
3603
3623
|
// Isolated
|
|
3604
3624
|
//
|
|
3605
3625
|
// {
|
|
3606
3626
|
// "code": "200000",
|
|
3607
3627
|
// "data": {
|
|
3608
|
-
// "
|
|
3609
|
-
// "
|
|
3628
|
+
// "totalAssetOfQuoteCurrency": "0",
|
|
3629
|
+
// "totalLiabilityOfQuoteCurrency": "0",
|
|
3630
|
+
// "timestamp": 1712085661155,
|
|
3610
3631
|
// "assets": [
|
|
3611
3632
|
// {
|
|
3612
3633
|
// "symbol": "MANA-USDT",
|
|
3613
|
-
// "status": "
|
|
3634
|
+
// "status": "EFFECTIVE",
|
|
3614
3635
|
// "debtRatio": "0",
|
|
3615
3636
|
// "baseAsset": {
|
|
3616
3637
|
// "currency": "MANA",
|
|
3617
|
-
// "
|
|
3618
|
-
// "
|
|
3619
|
-
// "
|
|
3638
|
+
// "borrowEnabled": true,
|
|
3639
|
+
// "transferInEnabled": true,
|
|
3640
|
+
// "total": "0",
|
|
3641
|
+
// "hold": "0",
|
|
3642
|
+
// "available": "0",
|
|
3620
3643
|
// "liability": "0",
|
|
3621
3644
|
// "interest": "0",
|
|
3622
|
-
// "
|
|
3645
|
+
// "maxBorrowSize": "0"
|
|
3623
3646
|
// },
|
|
3624
3647
|
// "quoteAsset": {
|
|
3625
3648
|
// "currency": "USDT",
|
|
3626
|
-
// "
|
|
3627
|
-
// "
|
|
3628
|
-
// "
|
|
3649
|
+
// "borrowEnabled": true,
|
|
3650
|
+
// "transferInEnabled": true,
|
|
3651
|
+
// "total": "0",
|
|
3652
|
+
// "hold": "0",
|
|
3653
|
+
// "available": "0",
|
|
3629
3654
|
// "liability": "0",
|
|
3630
3655
|
// "interest": "0",
|
|
3631
|
-
// "
|
|
3656
|
+
// "maxBorrowSize": "0"
|
|
3632
3657
|
// }
|
|
3633
3658
|
// },
|
|
3634
3659
|
// ...
|
|
@@ -67,6 +67,7 @@ class kucoinfutures extends kucoinfutures$1 {
|
|
|
67
67
|
'fetchL3OrderBook': true,
|
|
68
68
|
'fetchLedger': true,
|
|
69
69
|
'fetchLeverageTiers': false,
|
|
70
|
+
'fetchMarginAdjustmentHistory': false,
|
|
70
71
|
'fetchMarginMode': false,
|
|
71
72
|
'fetchMarketLeverageTiers': true,
|
|
72
73
|
'fetchMarkets': true,
|
|
@@ -1613,14 +1614,18 @@ class kucoinfutures extends kucoinfutures$1 {
|
|
|
1613
1614
|
const crossMode = this.safeValue(info, 'crossMode');
|
|
1614
1615
|
const mode = crossMode ? 'cross' : 'isolated';
|
|
1615
1616
|
const marketId = this.safeString(market, 'symbol');
|
|
1617
|
+
const timestamp = this.safeInteger(info, 'currentTimestamp');
|
|
1616
1618
|
return {
|
|
1617
1619
|
'info': info,
|
|
1618
|
-
'
|
|
1619
|
-
'
|
|
1620
|
+
'symbol': this.safeSymbol(marketId, market),
|
|
1621
|
+
'type': undefined,
|
|
1622
|
+
'marginMode': mode,
|
|
1620
1623
|
'amount': undefined,
|
|
1624
|
+
'total': undefined,
|
|
1621
1625
|
'code': this.safeCurrencyCode(currencyId),
|
|
1622
|
-
'symbol': this.safeSymbol(marketId, market),
|
|
1623
1626
|
'status': undefined,
|
|
1627
|
+
'timestamp': timestamp,
|
|
1628
|
+
'datetime': this.iso8601(timestamp),
|
|
1624
1629
|
};
|
|
1625
1630
|
}
|
|
1626
1631
|
async fetchOrdersByStatus(status, symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -1761,6 +1766,32 @@ class kucoinfutures extends kucoinfutures$1 {
|
|
|
1761
1766
|
}
|
|
1762
1767
|
return await this.fetchOrdersByStatus('done', symbol, since, limit, params);
|
|
1763
1768
|
}
|
|
1769
|
+
async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
1770
|
+
/**
|
|
1771
|
+
* @method
|
|
1772
|
+
* @name kucoinfutures#fetchOpenOrders
|
|
1773
|
+
* @description fetches information on multiple open orders made by the user
|
|
1774
|
+
* @see https://docs.kucoin.com/futures/#get-order-list
|
|
1775
|
+
* @see https://docs.kucoin.com/futures/#get-untriggered-stop-order-list
|
|
1776
|
+
* @param {string} symbol unified market symbol of the market orders were made in
|
|
1777
|
+
* @param {int} [since] the earliest time in ms to fetch orders for
|
|
1778
|
+
* @param {int} [limit] the maximum number of order structures to retrieve
|
|
1779
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1780
|
+
* @param {int} [params.till] end time in ms
|
|
1781
|
+
* @param {string} [params.side] buy or sell
|
|
1782
|
+
* @param {string} [params.type] limit, or market
|
|
1783
|
+
* @param {boolean} [params.trigger] set to true to retrieve untriggered stop orders
|
|
1784
|
+
* @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
|
|
1785
|
+
* @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
1786
|
+
*/
|
|
1787
|
+
await this.loadMarkets();
|
|
1788
|
+
let paginate = false;
|
|
1789
|
+
[paginate, params] = this.handleOptionAndParams(params, 'fetchOpenOrders', 'paginate');
|
|
1790
|
+
if (paginate) {
|
|
1791
|
+
return await this.fetchPaginatedCallDynamic('fetchOpenOrders', symbol, since, limit, params);
|
|
1792
|
+
}
|
|
1793
|
+
return await this.fetchOrdersByStatus('open', symbol, since, limit, params);
|
|
1794
|
+
}
|
|
1764
1795
|
async fetchOrder(id = undefined, symbol = undefined, params = {}) {
|
|
1765
1796
|
/**
|
|
1766
1797
|
* @method
|
package/dist/cjs/src/latoken.js
CHANGED
|
@@ -875,6 +875,8 @@ class latoken extends latoken$1 {
|
|
|
875
875
|
'symbol': market['symbol'],
|
|
876
876
|
'maker': this.safeNumber(response, 'makerFee'),
|
|
877
877
|
'taker': this.safeNumber(response, 'takerFee'),
|
|
878
|
+
'percentage': undefined,
|
|
879
|
+
'tierBased': undefined,
|
|
878
880
|
};
|
|
879
881
|
}
|
|
880
882
|
async fetchPrivateTradingFee(symbol, params = {}) {
|
|
@@ -898,6 +900,8 @@ class latoken extends latoken$1 {
|
|
|
898
900
|
'symbol': market['symbol'],
|
|
899
901
|
'maker': this.safeNumber(response, 'makerFee'),
|
|
900
902
|
'taker': this.safeNumber(response, 'takerFee'),
|
|
903
|
+
'percentage': undefined,
|
|
904
|
+
'tierBased': undefined,
|
|
901
905
|
};
|
|
902
906
|
}
|
|
903
907
|
async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
package/dist/cjs/src/lbank.js
CHANGED
|
@@ -1241,6 +1241,8 @@ class lbank extends lbank$1 {
|
|
|
1241
1241
|
'symbol': symbol,
|
|
1242
1242
|
'maker': this.safeNumber(fee, 'makerCommission'),
|
|
1243
1243
|
'taker': this.safeNumber(fee, 'takerCommission'),
|
|
1244
|
+
'percentage': undefined,
|
|
1245
|
+
'tierBased': undefined,
|
|
1244
1246
|
};
|
|
1245
1247
|
}
|
|
1246
1248
|
async fetchTradingFee(symbol, params = {}) {
|
|
@@ -1255,7 +1257,7 @@ class lbank extends lbank$1 {
|
|
|
1255
1257
|
*/
|
|
1256
1258
|
const market = this.market(symbol);
|
|
1257
1259
|
const result = await this.fetchTradingFees(this.extend(params, { 'category': market['id'] }));
|
|
1258
|
-
return result;
|
|
1260
|
+
return this.safeDict(result, symbol);
|
|
1259
1261
|
}
|
|
1260
1262
|
async fetchTradingFees(params = {}) {
|
|
1261
1263
|
/**
|
package/dist/cjs/src/luno.js
CHANGED
|
@@ -894,6 +894,8 @@ class luno extends luno$1 {
|
|
|
894
894
|
'symbol': symbol,
|
|
895
895
|
'maker': this.safeNumber(response, 'maker_fee'),
|
|
896
896
|
'taker': this.safeNumber(response, 'taker_fee'),
|
|
897
|
+
'percentage': undefined,
|
|
898
|
+
'tierBased': undefined,
|
|
897
899
|
};
|
|
898
900
|
}
|
|
899
901
|
async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
|
package/dist/cjs/src/mexc.js
CHANGED
|
@@ -75,6 +75,7 @@ class mexc extends mexc$1 {
|
|
|
75
75
|
'fetchLeverage': true,
|
|
76
76
|
'fetchLeverages': false,
|
|
77
77
|
'fetchLeverageTiers': true,
|
|
78
|
+
'fetchMarginAdjustmentHistory': false,
|
|
78
79
|
'fetchMarginMode': false,
|
|
79
80
|
'fetchMarketLeverageTiers': undefined,
|
|
80
81
|
'fetchMarkets': true,
|
|
@@ -4299,8 +4300,9 @@ class mexc extends mexc$1 {
|
|
|
4299
4300
|
/**
|
|
4300
4301
|
* @method
|
|
4301
4302
|
* @name mexc#fetchLeverageTiers
|
|
4302
|
-
* @description retrieve information on the maximum leverage, and maintenance margin for trades of varying trade sizes
|
|
4303
|
-
* @
|
|
4303
|
+
* @description retrieve information on the maximum leverage, and maintenance margin for trades of varying trade sizes, if a market has a leverage tier of 0, then the leverage tiers cannot be obtained for this market
|
|
4304
|
+
* @see https://mexcdevelop.github.io/apidocs/contract_v1_en/#get-the-contract-information
|
|
4305
|
+
* @param {string[]} [symbols] list of unified market symbols
|
|
4304
4306
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
4305
4307
|
* @returns {object} a dictionary of [leverage tiers structures]{@link https://docs.ccxt.com/#/?id=leverage-tiers-structure}, indexed by market symbols
|
|
4306
4308
|
*/
|
|
@@ -4356,10 +4358,44 @@ class mexc extends mexc$1 {
|
|
|
4356
4358
|
return this.parseLeverageTiers(data, symbols, 'symbol');
|
|
4357
4359
|
}
|
|
4358
4360
|
parseMarketLeverageTiers(info, market = undefined) {
|
|
4359
|
-
|
|
4360
|
-
|
|
4361
|
-
|
|
4362
|
-
|
|
4361
|
+
//
|
|
4362
|
+
// {
|
|
4363
|
+
// "symbol": "BTC_USDT",
|
|
4364
|
+
// "displayName": "BTC_USDT永续",
|
|
4365
|
+
// "displayNameEn": "BTC_USDT SWAP",
|
|
4366
|
+
// "positionOpenType": 3,
|
|
4367
|
+
// "baseCoin": "BTC",
|
|
4368
|
+
// "quoteCoin": "USDT",
|
|
4369
|
+
// "settleCoin": "USDT",
|
|
4370
|
+
// "contractSize": 0.0001,
|
|
4371
|
+
// "minLeverage": 1,
|
|
4372
|
+
// "maxLeverage": 125,
|
|
4373
|
+
// "priceScale": 2,
|
|
4374
|
+
// "volScale": 0,
|
|
4375
|
+
// "amountScale": 4,
|
|
4376
|
+
// "priceUnit": 0.5,
|
|
4377
|
+
// "volUnit": 1,
|
|
4378
|
+
// "minVol": 1,
|
|
4379
|
+
// "maxVol": 1000000,
|
|
4380
|
+
// "bidLimitPriceRate": 0.1,
|
|
4381
|
+
// "askLimitPriceRate": 0.1,
|
|
4382
|
+
// "takerFeeRate": 0.0006,
|
|
4383
|
+
// "makerFeeRate": 0.0002,
|
|
4384
|
+
// "maintenanceMarginRate": 0.004,
|
|
4385
|
+
// "initialMarginRate": 0.008,
|
|
4386
|
+
// "riskBaseVol": 10000,
|
|
4387
|
+
// "riskIncrVol": 200000,
|
|
4388
|
+
// "riskIncrMmr": 0.004,
|
|
4389
|
+
// "riskIncrImr": 0.004,
|
|
4390
|
+
// "riskLevelLimit": 5,
|
|
4391
|
+
// "priceCoefficientVariation": 0.1,
|
|
4392
|
+
// "indexOrigin": ["BINANCE","GATEIO","HUOBI","MXC"],
|
|
4393
|
+
// "state": 0, // 0 enabled, 1 delivery, 2 completed, 3 offline, 4 pause
|
|
4394
|
+
// "isNew": false,
|
|
4395
|
+
// "isHot": true,
|
|
4396
|
+
// "isHidden": false
|
|
4397
|
+
// }
|
|
4398
|
+
//
|
|
4363
4399
|
let maintenanceMarginRate = this.safeString(info, 'maintenanceMarginRate');
|
|
4364
4400
|
let initialMarginRate = this.safeString(info, 'initialMarginRate');
|
|
4365
4401
|
const maxVol = this.safeString(info, 'maxVol');
|
|
@@ -4369,6 +4405,19 @@ class mexc extends mexc$1 {
|
|
|
4369
4405
|
let floor = '0';
|
|
4370
4406
|
const tiers = [];
|
|
4371
4407
|
const quoteId = this.safeString(info, 'quoteCoin');
|
|
4408
|
+
if (riskIncrVol === '0') {
|
|
4409
|
+
return [
|
|
4410
|
+
{
|
|
4411
|
+
'tier': 0,
|
|
4412
|
+
'currency': this.safeCurrencyCode(quoteId),
|
|
4413
|
+
'notionalFloor': undefined,
|
|
4414
|
+
'notionalCap': undefined,
|
|
4415
|
+
'maintenanceMarginRate': undefined,
|
|
4416
|
+
'maxLeverage': this.safeNumber(info, 'maxLeverage'),
|
|
4417
|
+
'info': info,
|
|
4418
|
+
},
|
|
4419
|
+
];
|
|
4420
|
+
}
|
|
4372
4421
|
while (Precise["default"].stringLt(floor, maxVol)) {
|
|
4373
4422
|
const cap = Precise["default"].stringAdd(floor, riskIncrVol);
|
|
4374
4423
|
tiers.push({
|