ccxt 4.3.18 → 4.3.20
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 +7 -5
- package/dist/cjs/ccxt.js +6 -1
- package/dist/cjs/src/abstract/woofipro.js +9 -0
- package/dist/cjs/src/ascendex.js +3 -4
- package/dist/cjs/src/base/Exchange.js +45 -2
- package/dist/cjs/src/base/functions/crypto.js +10 -3
- package/dist/cjs/src/base/functions/encode.js +6 -3
- package/dist/cjs/src/base/functions/number.js +8 -5
- package/dist/cjs/src/base/functions/rsa.js +5 -5
- package/dist/cjs/src/bigone.js +1 -1
- package/dist/cjs/src/bitfinex.js +25 -1
- package/dist/cjs/src/bitfinex2.js +59 -51
- package/dist/cjs/src/bitget.js +4 -5
- package/dist/cjs/src/bitmart.js +3 -3
- package/dist/cjs/src/bitstamp.js +1 -3
- package/dist/cjs/src/bybit.js +39 -9
- package/dist/cjs/src/coinex.js +360 -560
- package/dist/cjs/src/coinlist.js +1 -2
- package/dist/cjs/src/deribit.js +1 -1
- package/dist/cjs/src/hollaex.js +3 -3
- package/dist/cjs/src/indodax.js +1 -1
- package/dist/cjs/src/latoken.js +1 -1
- package/dist/cjs/src/mexc.js +1 -1
- package/dist/cjs/src/novadax.js +0 -1
- package/dist/cjs/src/okx.js +17 -0
- package/dist/cjs/src/phemex.js +17 -6
- package/dist/cjs/src/poloniex.js +1 -2
- package/dist/cjs/src/pro/bitget.js +136 -192
- package/dist/cjs/src/pro/coinbaseinternational.js +9 -1
- package/dist/cjs/src/pro/htx.js +12 -7
- package/dist/cjs/src/pro/okx.js +85 -0
- package/dist/cjs/src/pro/woofipro.js +1263 -0
- package/dist/cjs/src/wavesexchange.js +2 -2
- package/dist/cjs/src/woo.js +17 -3
- package/dist/cjs/src/woofipro.js +2698 -0
- package/js/ccxt.d.ts +8 -2
- package/js/ccxt.js +6 -2
- package/js/src/abstract/bitget.d.ts +3 -0
- package/js/src/abstract/bybit.d.ts +1 -0
- package/js/src/abstract/okx.d.ts +1 -0
- package/js/src/abstract/woofipro.d.ts +122 -0
- package/js/src/abstract/woofipro.js +11 -0
- package/js/src/ace.d.ts +2 -2
- package/js/src/ascendex.d.ts +5 -15
- package/js/src/ascendex.js +3 -4
- package/js/src/base/Exchange.d.ts +26 -17
- package/js/src/base/Exchange.js +45 -2
- package/js/src/base/functions/crypto.d.ts +1 -1
- package/js/src/base/functions/crypto.js +10 -3
- package/js/src/base/functions/encode.d.ts +1 -1
- package/js/src/base/functions/encode.js +6 -3
- package/js/src/base/functions/number.d.ts +1 -1
- package/js/src/base/functions/number.js +8 -5
- package/js/src/base/functions/rsa.js +6 -6
- package/js/src/base/types.d.ts +4 -0
- package/js/src/bigone.d.ts +4 -14
- package/js/src/bigone.js +1 -1
- package/js/src/binance.d.ts +13 -71
- package/js/src/binancecoinm.d.ts +2 -22
- package/js/src/binanceusdm.d.ts +2 -22
- package/js/src/bingx.d.ts +4 -14
- package/js/src/bit2c.d.ts +2 -2
- package/js/src/bitbank.d.ts +2 -2
- package/js/src/bitbns.d.ts +2 -2
- package/js/src/bitfinex.d.ts +6 -16
- package/js/src/bitfinex.js +25 -1
- package/js/src/bitfinex2.d.ts +6 -16
- package/js/src/bitfinex2.js +59 -51
- package/js/src/bitflyer.d.ts +2 -2
- package/js/src/bitget.d.ts +7 -17
- package/js/src/bitget.js +4 -5
- package/js/src/bithumb.d.ts +3 -3
- package/js/src/bitmart.d.ts +5 -14
- package/js/src/bitmart.js +3 -3
- package/js/src/bitmex.d.ts +4 -4
- package/js/src/bitopro.d.ts +2 -2
- package/js/src/bitrue.d.ts +5 -5
- package/js/src/bitso.d.ts +2 -2
- package/js/src/bitstamp.d.ts +3 -3
- package/js/src/bitstamp.js +1 -3
- package/js/src/bitteam.d.ts +2 -2
- package/js/src/bitvavo.d.ts +5 -5
- package/js/src/bl3p.d.ts +2 -2
- package/js/src/blockchaincom.d.ts +2 -2
- package/js/src/blofin.d.ts +4 -14
- package/js/src/btcalpha.d.ts +2 -2
- package/js/src/btcbox.d.ts +2 -2
- package/js/src/btcmarkets.d.ts +2 -2
- package/js/src/btcturk.d.ts +2 -2
- package/js/src/bybit.d.ts +9 -56
- package/js/src/bybit.js +39 -9
- package/js/src/cex.d.ts +2 -2
- package/js/src/coinbase.d.ts +4 -4
- package/js/src/coinbasepro.d.ts +3 -3
- package/js/src/coincheck.d.ts +2 -2
- package/js/src/coinex.d.ts +7 -17
- package/js/src/coinex.js +360 -560
- package/js/src/coinlist.d.ts +5 -15
- package/js/src/coinlist.js +1 -2
- package/js/src/coinmate.d.ts +2 -2
- package/js/src/coinmetro.d.ts +3 -3
- package/js/src/coinone.d.ts +2 -2
- package/js/src/coinsph.d.ts +2 -2
- package/js/src/coinspot.d.ts +2 -2
- package/js/src/cryptocom.d.ts +2 -2
- package/js/src/currencycom.d.ts +3 -3
- package/js/src/delta.d.ts +5 -43
- package/js/src/deribit.d.ts +7 -55
- package/js/src/deribit.js +1 -1
- package/js/src/digifinex.d.ts +5 -15
- package/js/src/exmo.d.ts +2 -2
- package/js/src/gate.d.ts +6 -54
- package/js/src/gemini.d.ts +2 -2
- package/js/src/hitbtc.d.ts +4 -14
- package/js/src/hollaex.d.ts +3 -3
- package/js/src/hollaex.js +3 -3
- package/js/src/htx.d.ts +4 -14
- package/js/src/huobijp.d.ts +4 -4
- package/js/src/hyperliquid.d.ts +1 -1
- package/js/src/idex.d.ts +3 -3
- package/js/src/independentreserve.d.ts +2 -2
- package/js/src/indodax.d.ts +2 -2
- package/js/src/indodax.js +1 -1
- package/js/src/kraken.d.ts +4 -14
- package/js/src/krakenfutures.d.ts +4 -14
- package/js/src/kucoin.d.ts +5 -15
- package/js/src/kucoinfutures.d.ts +4 -14
- package/js/src/kuna.d.ts +2 -2
- package/js/src/latoken.d.ts +5 -15
- package/js/src/latoken.js +1 -1
- package/js/src/lbank.d.ts +2 -2
- package/js/src/luno.d.ts +2 -2
- package/js/src/lykke.d.ts +2 -2
- package/js/src/mercado.d.ts +2 -2
- package/js/src/mexc.d.ts +8 -28
- package/js/src/mexc.js +1 -1
- package/js/src/ndax.d.ts +2 -2
- package/js/src/novadax.d.ts +4 -15
- package/js/src/novadax.js +0 -1
- package/js/src/okcoin.d.ts +4 -14
- package/js/src/okx.d.ts +10 -68
- package/js/src/okx.js +17 -0
- package/js/src/onetrading.d.ts +2 -2
- package/js/src/paymium.d.ts +4 -14
- package/js/src/phemex.d.ts +5 -15
- package/js/src/phemex.js +17 -6
- package/js/src/poloniex.d.ts +3 -13
- package/js/src/poloniex.js +1 -2
- package/js/src/poloniexfutures.d.ts +2 -2
- package/js/src/pro/bitget.js +137 -193
- package/js/src/pro/coinbaseinternational.d.ts +3 -3
- package/js/src/pro/coinbaseinternational.js +9 -1
- package/js/src/pro/htx.js +12 -7
- package/js/src/pro/okx.d.ts +4 -1
- package/js/src/pro/okx.js +85 -0
- package/js/src/pro/woofipro.d.ts +47 -0
- package/js/src/pro/woofipro.js +1264 -0
- package/js/src/probit.d.ts +3 -3
- package/js/src/timex.d.ts +2 -2
- package/js/src/tokocrypto.d.ts +3 -3
- package/js/src/upbit.d.ts +2 -2
- package/js/src/wavesexchange.d.ts +3 -3
- package/js/src/wavesexchange.js +2 -2
- package/js/src/wazirx.d.ts +2 -2
- package/js/src/whitebit.d.ts +3 -13
- package/js/src/woo.d.ts +7 -17
- package/js/src/woo.js +17 -3
- package/js/src/woofipro.d.ts +131 -0
- package/js/src/woofipro.js +2699 -0
- package/js/src/yobit.d.ts +2 -2
- package/js/src/zaif.d.ts +2 -2
- package/js/src/zonda.d.ts +4 -14
- package/package.json +1 -1
package/dist/cjs/src/bitmart.js
CHANGED
|
@@ -2549,7 +2549,7 @@ class bitmart extends bitmart$1 {
|
|
|
2549
2549
|
else if (isMarketOrder) {
|
|
2550
2550
|
// for market buy it requires the amount of quote currency to spend
|
|
2551
2551
|
if (side === 'buy') {
|
|
2552
|
-
let notional = this.
|
|
2552
|
+
let notional = this.safeString2(params, 'cost', 'notional');
|
|
2553
2553
|
params = this.omit(params, 'cost');
|
|
2554
2554
|
let createMarketBuyOrderRequiresPrice = true;
|
|
2555
2555
|
[createMarketBuyOrderRequiresPrice, params] = this.handleOptionAndParams(params, 'createOrder', 'createMarketBuyOrderRequiresPrice', true);
|
|
@@ -2560,11 +2560,11 @@ class bitmart extends bitmart$1 {
|
|
|
2560
2560
|
else {
|
|
2561
2561
|
const amountString = this.numberToString(amount);
|
|
2562
2562
|
const priceString = this.numberToString(price);
|
|
2563
|
-
notional =
|
|
2563
|
+
notional = Precise["default"].stringMul(amountString, priceString);
|
|
2564
2564
|
}
|
|
2565
2565
|
}
|
|
2566
2566
|
else {
|
|
2567
|
-
notional = (notional === undefined) ? amount : notional;
|
|
2567
|
+
notional = (notional === undefined) ? this.numberToString(amount) : notional;
|
|
2568
2568
|
}
|
|
2569
2569
|
request['notional'] = this.decimalToPrecision(notional, number.TRUNCATE, market['precision']['price'], this.precisionMode);
|
|
2570
2570
|
}
|
package/dist/cjs/src/bitstamp.js
CHANGED
|
@@ -2151,10 +2151,8 @@ class bitstamp extends bitstamp$1 {
|
|
|
2151
2151
|
*/
|
|
2152
2152
|
await this.loadMarkets();
|
|
2153
2153
|
const currency = this.currency(code);
|
|
2154
|
-
amount = this.currencyToPrecision(code, amount);
|
|
2155
|
-
amount = this.parseToNumeric(amount);
|
|
2156
2154
|
const request = {
|
|
2157
|
-
'amount': amount,
|
|
2155
|
+
'amount': this.parseToNumeric(this.currencyToPrecision(code, amount)),
|
|
2158
2156
|
'currency': currency['id'].toUpperCase(),
|
|
2159
2157
|
};
|
|
2160
2158
|
let response = undefined;
|
package/dist/cjs/src/bybit.js
CHANGED
|
@@ -346,6 +346,7 @@ class bybit extends bybit$1 {
|
|
|
346
346
|
'v5/asset/coin/query-info': 28,
|
|
347
347
|
'v5/asset/withdraw/query-record': 10,
|
|
348
348
|
'v5/asset/withdraw/withdrawable-amount': 5,
|
|
349
|
+
'v5/asset/withdraw/vasp/list': 5,
|
|
349
350
|
// user
|
|
350
351
|
'v5/user/query-sub-members': 5,
|
|
351
352
|
'v5/user/query-api': 5,
|
|
@@ -8147,6 +8148,35 @@ class bybit extends bybit$1 {
|
|
|
8147
8148
|
'datetime': this.iso8601(timestamp),
|
|
8148
8149
|
});
|
|
8149
8150
|
}
|
|
8151
|
+
async getLeverageTiersPaginated(symbol = undefined, params = {}) {
|
|
8152
|
+
await this.loadMarkets();
|
|
8153
|
+
let market = undefined;
|
|
8154
|
+
if (symbol !== undefined) {
|
|
8155
|
+
market = this.market(symbol);
|
|
8156
|
+
}
|
|
8157
|
+
let paginate = false;
|
|
8158
|
+
[paginate, params] = this.handleOptionAndParams(params, 'getLeverageTiersPaginated', 'paginate');
|
|
8159
|
+
if (paginate) {
|
|
8160
|
+
return await this.fetchPaginatedCallCursor('getLeverageTiersPaginated', symbol, undefined, undefined, params, 'nextPageCursor', 'cursor', undefined, 100);
|
|
8161
|
+
}
|
|
8162
|
+
let subType = undefined;
|
|
8163
|
+
[subType, params] = this.handleSubTypeAndParams('getLeverageTiersPaginated', market, params, 'linear');
|
|
8164
|
+
const request = {
|
|
8165
|
+
'category': subType,
|
|
8166
|
+
};
|
|
8167
|
+
const response = await this.publicGetV5MarketRiskLimit(this.extend(request, params));
|
|
8168
|
+
const result = this.addPaginationCursorToResult(response);
|
|
8169
|
+
const first = this.safeDict(result, 0);
|
|
8170
|
+
const total = result.length;
|
|
8171
|
+
const lastIndex = total - 1;
|
|
8172
|
+
const last = this.safeDict(result, lastIndex);
|
|
8173
|
+
const cursorValue = this.safeString(first, 'nextPageCursor');
|
|
8174
|
+
last['info'] = {
|
|
8175
|
+
'nextPageCursor': cursorValue,
|
|
8176
|
+
};
|
|
8177
|
+
result[lastIndex] = last;
|
|
8178
|
+
return result;
|
|
8179
|
+
}
|
|
8150
8180
|
async fetchLeverageTiers(symbols = undefined, params = {}) {
|
|
8151
8181
|
/**
|
|
8152
8182
|
* @method
|
|
@@ -8156,24 +8186,20 @@ class bybit extends bybit$1 {
|
|
|
8156
8186
|
* @param {string[]} [symbols] a list of unified market symbols
|
|
8157
8187
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
8158
8188
|
* @param {string} [params.subType] market subType, ['linear', 'inverse'], default is 'linear'
|
|
8189
|
+
* @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
|
|
8159
8190
|
* @returns {object} a dictionary of [leverage tiers structures]{@link https://docs.ccxt.com/#/?id=leverage-tiers-structure}, indexed by market symbols
|
|
8160
8191
|
*/
|
|
8161
8192
|
await this.loadMarkets();
|
|
8162
8193
|
let market = undefined;
|
|
8194
|
+
let symbol = undefined;
|
|
8163
8195
|
if (symbols !== undefined) {
|
|
8164
8196
|
market = this.market(symbols[0]);
|
|
8165
8197
|
if (market['spot']) {
|
|
8166
8198
|
throw new errors.NotSupported(this.id + ' fetchLeverageTiers() is not supported for spot market');
|
|
8167
8199
|
}
|
|
8200
|
+
symbol = market['symbol'];
|
|
8168
8201
|
}
|
|
8169
|
-
|
|
8170
|
-
[subType, params] = this.handleSubTypeAndParams('fetchTickers', market, params, 'linear');
|
|
8171
|
-
const request = {
|
|
8172
|
-
'category': subType,
|
|
8173
|
-
};
|
|
8174
|
-
const response = await this.publicGetV5MarketRiskLimit(this.extend(request, params));
|
|
8175
|
-
const result = this.safeDict(response, 'result', {});
|
|
8176
|
-
const data = this.safeList(result, 'list', []);
|
|
8202
|
+
const data = await this.getLeverageTiersPaginated(symbol, this.extend({ 'paginate': true, 'paginationCalls': 20 }, params));
|
|
8177
8203
|
symbols = this.marketSymbols(symbols);
|
|
8178
8204
|
return this.parseLeverageTiers(data, symbols, 'symbol');
|
|
8179
8205
|
}
|
|
@@ -8199,9 +8225,13 @@ class bybit extends bybit$1 {
|
|
|
8199
8225
|
for (let i = 0; i < keys.length; i++) {
|
|
8200
8226
|
const marketId = keys[i];
|
|
8201
8227
|
const entry = grouped[marketId];
|
|
8228
|
+
for (let j = 0; j < entry.length; j++) {
|
|
8229
|
+
const id = this.safeInteger(entry[j], 'id');
|
|
8230
|
+
entry[j]['id'] = id;
|
|
8231
|
+
}
|
|
8202
8232
|
const market = this.safeMarket(marketId, undefined, undefined, 'contract');
|
|
8203
8233
|
const symbol = market['symbol'];
|
|
8204
|
-
tiers[symbol] = this.parseMarketLeverageTiers(entry, market);
|
|
8234
|
+
tiers[symbol] = this.parseMarketLeverageTiers(this.sortBy(entry, 'id'), market);
|
|
8205
8235
|
}
|
|
8206
8236
|
return tiers;
|
|
8207
8237
|
}
|