ccxt 4.1.13 → 4.1.16
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/CHANGELOG.md +219 -0
- package/CONTRIBUTING.md +1 -0
- package/README.md +3 -3
- package/dist/ccxt.browser.js +539 -189
- package/dist/ccxt.browser.min.js +9 -9
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/ascendex.js +1 -0
- package/dist/cjs/src/base/Exchange.js +3 -0
- package/dist/cjs/src/binance.js +6 -2
- package/dist/cjs/src/bingx.js +5 -3
- package/dist/cjs/src/bitget.js +357 -64
- package/dist/cjs/src/bitmart.js +2 -0
- package/dist/cjs/src/bitmex.js +6 -3
- package/dist/cjs/src/bittrex.js +7 -0
- package/dist/cjs/src/btcalpha.js +2 -1
- package/dist/cjs/src/btcturk.js +3 -0
- package/dist/cjs/src/cex.js +1 -0
- package/dist/cjs/src/coinbase.js +1 -0
- package/dist/cjs/src/coinbasepro.js +1 -0
- package/dist/cjs/src/coinex.js +2 -0
- package/dist/cjs/src/coinfalcon.js +1 -0
- package/dist/cjs/src/coinmate.js +1 -0
- package/dist/cjs/src/coinone.js +15 -5
- package/dist/cjs/src/cryptocom.js +25 -87
- package/dist/cjs/src/currencycom.js +1 -0
- package/dist/cjs/src/delta.js +1 -0
- package/dist/cjs/src/deribit.js +1 -0
- package/dist/cjs/src/digifinex.js +10 -8
- package/dist/cjs/src/exmo.js +1 -0
- package/dist/cjs/src/gate.js +3 -0
- package/dist/cjs/src/gemini.js +1 -0
- package/dist/cjs/src/hitbtc.js +1 -0
- package/dist/cjs/src/hollaex.js +1 -0
- package/dist/cjs/src/huobi.js +8 -0
- package/dist/cjs/src/huobijp.js +1 -0
- package/dist/cjs/src/idex.js +1 -0
- package/dist/cjs/src/independentreserve.js +1 -0
- package/dist/cjs/src/indodax.js +1 -0
- package/dist/cjs/src/kraken.js +10 -0
- package/dist/cjs/src/krakenfutures.js +1 -0
- package/dist/cjs/src/kucoin.js +1 -0
- package/dist/cjs/src/kucoinfutures.js +1 -0
- package/dist/cjs/src/kuna.js +1 -0
- package/dist/cjs/src/latoken.js +1 -0
- package/dist/cjs/src/lbank.js +1 -0
- package/dist/cjs/src/lbank2.js +2 -0
- package/dist/cjs/src/luno.js +1 -0
- package/dist/cjs/src/lykke.js +2 -1
- package/dist/cjs/src/mercado.js +1 -0
- package/dist/cjs/src/mexc.js +4 -1
- package/dist/cjs/src/ndax.js +1 -0
- package/dist/cjs/src/novadax.js +1 -0
- package/dist/cjs/src/oceanex.js +1 -0
- package/dist/cjs/src/phemex.js +2 -0
- package/dist/cjs/src/poloniex.js +1 -0
- package/dist/cjs/src/poloniexfutures.js +8 -2
- package/dist/cjs/src/pro/krakenfutures.js +14 -10
- package/dist/cjs/src/probit.js +1 -0
- package/dist/cjs/src/tidex.js +1 -0
- package/dist/cjs/src/timex.js +1 -0
- package/dist/cjs/src/tokocrypto.js +1 -0
- package/dist/cjs/src/upbit.js +1 -0
- package/dist/cjs/src/wavesexchange.js +1 -0
- package/dist/cjs/src/wazirx.js +2 -1
- package/dist/cjs/src/whitebit.js +1 -0
- package/dist/cjs/src/woo.js +1 -0
- package/dist/cjs/src/yobit.js +1 -0
- package/dist/cjs/src/zaif.js +1 -0
- package/dist/cjs/src/zonda.js +1 -0
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/binance.d.ts +4 -0
- package/js/src/abstract/binancecoinm.d.ts +4 -0
- package/js/src/abstract/binanceus.d.ts +4 -0
- package/js/src/abstract/binanceusdm.d.ts +4 -0
- package/js/src/abstract/btcturk.d.ts +3 -0
- package/js/src/abstract/kraken.d.ts +8 -0
- package/js/src/abstract/poloniexfutures.d.ts +6 -1
- package/js/src/ascendex.js +1 -0
- package/js/src/base/Exchange.d.ts +1 -0
- package/js/src/base/Exchange.js +3 -0
- package/js/src/binance.js +6 -2
- package/js/src/bingx.js +5 -3
- package/js/src/bitget.d.ts +28 -0
- package/js/src/bitget.js +357 -64
- package/js/src/bitmart.js +2 -0
- package/js/src/bitmex.js +6 -3
- package/js/src/bittrex.d.ts +2 -2
- package/js/src/bittrex.js +7 -0
- package/js/src/btcalpha.js +2 -1
- package/js/src/btcturk.js +3 -0
- package/js/src/cex.js +1 -0
- package/js/src/coinbase.js +1 -0
- package/js/src/coinbasepro.js +1 -0
- package/js/src/coinex.js +2 -0
- package/js/src/coinfalcon.js +1 -0
- package/js/src/coinmate.js +1 -0
- package/js/src/coinone.js +15 -5
- package/js/src/cryptocom.d.ts +0 -2
- package/js/src/cryptocom.js +25 -87
- package/js/src/currencycom.js +1 -0
- package/js/src/delta.js +1 -0
- package/js/src/deribit.js +1 -0
- package/js/src/digifinex.d.ts +3 -28
- package/js/src/digifinex.js +10 -8
- package/js/src/exmo.js +1 -0
- package/js/src/gate.d.ts +1 -0
- package/js/src/gate.js +3 -0
- package/js/src/gemini.d.ts +1 -0
- package/js/src/gemini.js +1 -0
- package/js/src/hitbtc.js +1 -0
- package/js/src/hollaex.js +1 -0
- package/js/src/huobi.js +8 -0
- package/js/src/huobijp.js +1 -0
- package/js/src/idex.js +1 -0
- package/js/src/independentreserve.js +1 -0
- package/js/src/indodax.js +1 -0
- package/js/src/kraken.js +10 -0
- package/js/src/krakenfutures.js +1 -0
- package/js/src/kucoin.js +1 -0
- package/js/src/kucoinfutures.js +1 -0
- package/js/src/kuna.js +1 -0
- package/js/src/latoken.js +1 -0
- package/js/src/lbank.js +1 -0
- package/js/src/lbank2.js +2 -0
- package/js/src/luno.js +1 -0
- package/js/src/lykke.js +2 -1
- package/js/src/mercado.js +1 -0
- package/js/src/mexc.js +4 -1
- package/js/src/ndax.js +1 -0
- package/js/src/novadax.js +1 -0
- package/js/src/oceanex.js +1 -0
- package/js/src/phemex.d.ts +2 -0
- package/js/src/phemex.js +2 -0
- package/js/src/poloniex.js +1 -0
- package/js/src/poloniexfutures.js +8 -2
- package/js/src/pro/krakenfutures.js +14 -10
- package/js/src/probit.js +1 -0
- package/js/src/tidex.js +1 -0
- package/js/src/timex.d.ts +1 -0
- package/js/src/timex.js +1 -0
- package/js/src/tokocrypto.js +1 -0
- package/js/src/upbit.js +1 -0
- package/js/src/wavesexchange.js +1 -0
- package/js/src/wazirx.js +2 -1
- package/js/src/whitebit.js +1 -0
- package/js/src/woo.js +1 -0
- package/js/src/yobit.js +1 -0
- package/js/src/zaif.js +1 -0
- package/js/src/zonda.js +1 -0
- package/package.json +1 -1
- package/skip-tests.json +141 -12
package/dist/ccxt.browser.js
CHANGED
|
@@ -4049,6 +4049,7 @@ class ascendex extends _abstract_ascendex_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
|
|
|
4049
4049
|
'max': this.safeNumber(market, 'maxNotional'),
|
|
4050
4050
|
},
|
|
4051
4051
|
},
|
|
4052
|
+
'created': this.safeInteger(market, 'tradingStartTime'),
|
|
4052
4053
|
'info': market,
|
|
4053
4054
|
});
|
|
4054
4055
|
}
|
|
@@ -7584,6 +7585,9 @@ class Exchange {
|
|
|
7584
7585
|
convertToBigInt(value) {
|
|
7585
7586
|
return BigInt(value); // used on XT
|
|
7586
7587
|
}
|
|
7588
|
+
stringToCharsArray(value) {
|
|
7589
|
+
return value.split('');
|
|
7590
|
+
}
|
|
7587
7591
|
valueIsDefined(value) {
|
|
7588
7592
|
return value !== undefined && value !== null;
|
|
7589
7593
|
}
|
|
@@ -16262,7 +16266,8 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
16262
16266
|
'margin/exchange-small-liability-history': 0.6667,
|
|
16263
16267
|
'margin/next-hourly-interest-rate': 0.6667,
|
|
16264
16268
|
'margin/capital-flow': 10,
|
|
16265
|
-
'margin/delist-schedule':
|
|
16269
|
+
'margin/delist-schedule': 10,
|
|
16270
|
+
'margin/available-inventory': 0.3334,
|
|
16266
16271
|
'loan/vip/loanable/data': 40,
|
|
16267
16272
|
'loan/vip/collateral/data': 40,
|
|
16268
16273
|
'loan/vip/request/data': 2.6668,
|
|
@@ -16653,7 +16658,8 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
16653
16658
|
'premiumIndexKlines': { 'cost': 1, 'byLimit': [[99, 1], [499, 2], [1000, 5], [10000, 10]] },
|
|
16654
16659
|
'ticker/24hr': { 'cost': 1, 'noSymbol': 40 },
|
|
16655
16660
|
'ticker/price': { 'cost': 1, 'noSymbol': 2 },
|
|
16656
|
-
'ticker/bookTicker': { 'cost':
|
|
16661
|
+
'ticker/bookTicker': { 'cost': 2, 'noSymbol': 5 },
|
|
16662
|
+
'constituents': 2,
|
|
16657
16663
|
'openInterest': 1,
|
|
16658
16664
|
},
|
|
16659
16665
|
},
|
|
@@ -16738,6 +16744,8 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
16738
16744
|
'ticker/bookTicker': { 'cost': 1, 'noSymbol': 2 },
|
|
16739
16745
|
'openInterest': 1,
|
|
16740
16746
|
'indexInfo': 1,
|
|
16747
|
+
'assetIndex': { 'cost': 1, 'noSymbol': 10 },
|
|
16748
|
+
'constituents': 2,
|
|
16741
16749
|
'apiTradingStatus': { 'cost': 1, 'noSymbol': 10 },
|
|
16742
16750
|
'lvtKlines': 1,
|
|
16743
16751
|
},
|
|
@@ -27208,7 +27216,7 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
27208
27216
|
'info': position,
|
|
27209
27217
|
'id': this.safeString(position, 'positionId'),
|
|
27210
27218
|
'symbol': this.safeSymbol(marketId, market, '-', 'swap'),
|
|
27211
|
-
'notional': this.
|
|
27219
|
+
'notional': this.safeNumber(position, 'positionAmt'),
|
|
27212
27220
|
'marginMode': marginMode,
|
|
27213
27221
|
'liquidationPrice': undefined,
|
|
27214
27222
|
'entryPrice': this.safeNumber2(position, 'avgPrice', 'entryPrice'),
|
|
@@ -28352,8 +28360,10 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
28352
28360
|
const network = this.safeString(transaction, 'network');
|
|
28353
28361
|
const currencyId = this.safeString(transaction, 'coin');
|
|
28354
28362
|
let code = this.safeCurrencyCode(currencyId, currency);
|
|
28355
|
-
if (code !== undefined && code.indexOf(network) >= 0) {
|
|
28356
|
-
|
|
28363
|
+
if ((code !== undefined) && (code !== network) && code.indexOf(network) >= 0) {
|
|
28364
|
+
if (network !== undefined) {
|
|
28365
|
+
code = code.replace(network, '');
|
|
28366
|
+
}
|
|
28357
28367
|
}
|
|
28358
28368
|
const rawType = this.safeString(transaction, 'transferType');
|
|
28359
28369
|
const type = (rawType === '0') ? 'deposit' : 'withdrawal';
|
|
@@ -38597,11 +38607,12 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
38597
38607
|
'has': {
|
|
38598
38608
|
'CORS': undefined,
|
|
38599
38609
|
'spot': true,
|
|
38600
|
-
'margin':
|
|
38610
|
+
'margin': undefined,
|
|
38601
38611
|
'swap': true,
|
|
38602
38612
|
'future': true,
|
|
38603
38613
|
'option': false,
|
|
38604
38614
|
'addMargin': true,
|
|
38615
|
+
'borrowMargin': true,
|
|
38605
38616
|
'cancelAllOrders': true,
|
|
38606
38617
|
'cancelOrder': true,
|
|
38607
38618
|
'cancelOrders': true,
|
|
@@ -38660,6 +38671,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
38660
38671
|
'fetchWithdrawal': false,
|
|
38661
38672
|
'fetchWithdrawals': true,
|
|
38662
38673
|
'reduceMargin': true,
|
|
38674
|
+
'repayMargin': true,
|
|
38663
38675
|
'setLeverage': true,
|
|
38664
38676
|
'setMarginMode': true,
|
|
38665
38677
|
'setPositionMode': true,
|
|
@@ -39864,6 +39876,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
39864
39876
|
'max': undefined,
|
|
39865
39877
|
},
|
|
39866
39878
|
},
|
|
39879
|
+
'created': undefined,
|
|
39867
39880
|
'info': market,
|
|
39868
39881
|
};
|
|
39869
39882
|
}
|
|
@@ -41210,18 +41223,20 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
41210
41223
|
* @description query for balance and get the amount of funds available for trading or funds locked in orders
|
|
41211
41224
|
* @see https://bitgetlimited.github.io/apidoc/en/spot/#get-account-assets
|
|
41212
41225
|
* @see https://bitgetlimited.github.io/apidoc/en/mix/#get-account-list
|
|
41226
|
+
* @see https://bitgetlimited.github.io/apidoc/en/margin/#get-cross-assets
|
|
41227
|
+
* @see https://bitgetlimited.github.io/apidoc/en/margin/#get-isolated-assets
|
|
41213
41228
|
* @param {object} [params] extra parameters specific to the bitget api endpoint
|
|
41214
41229
|
* @returns {object} a [balance structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#balance-structure}
|
|
41215
41230
|
*/
|
|
41216
41231
|
const sandboxMode = this.safeValue(this.options, 'sandboxMode', false);
|
|
41217
41232
|
await this.loadMarkets();
|
|
41218
|
-
const [marketType, query] = this.handleMarketTypeAndParams('fetchBalance', undefined, params);
|
|
41219
|
-
const method = this.getSupportedMapping(marketType, {
|
|
41220
|
-
'spot': 'privateSpotGetAccountAssets',
|
|
41221
|
-
'swap': 'privateMixGetAccountAccounts',
|
|
41222
|
-
});
|
|
41223
41233
|
const request = {};
|
|
41224
|
-
|
|
41234
|
+
let marketType = undefined;
|
|
41235
|
+
let marginMode = undefined;
|
|
41236
|
+
let response = undefined;
|
|
41237
|
+
[marketType, params] = this.handleMarketTypeAndParams('fetchBalance', undefined, params);
|
|
41238
|
+
[marginMode, params] = this.handleMarginModeAndParams('fetchBalance', params);
|
|
41239
|
+
if ((marketType === 'swap') || (marketType === 'future')) {
|
|
41225
41240
|
let subType = undefined;
|
|
41226
41241
|
[subType, params] = this.handleSubTypeAndParams('fetchBalance', undefined, params);
|
|
41227
41242
|
let productType = (subType === 'linear') ? 'UMCBL' : 'DMCBL';
|
|
@@ -41229,45 +41244,106 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
41229
41244
|
productType = 'S' + productType;
|
|
41230
41245
|
}
|
|
41231
41246
|
request['productType'] = productType;
|
|
41247
|
+
response = await this.privateMixGetAccountAccounts(this.extend(request, params));
|
|
41248
|
+
}
|
|
41249
|
+
else if (marginMode === 'isolated') {
|
|
41250
|
+
response = await this.privateMarginGetIsolatedAccountAssets(this.extend(request, params));
|
|
41251
|
+
}
|
|
41252
|
+
else if (marginMode === 'cross') {
|
|
41253
|
+
response = await this.privateMarginGetCrossAccountAssets(this.extend(request, params));
|
|
41254
|
+
}
|
|
41255
|
+
else if (marketType === 'spot') {
|
|
41256
|
+
response = await this.privateSpotGetAccountAssets(this.extend(request, params));
|
|
41257
|
+
}
|
|
41258
|
+
else {
|
|
41259
|
+
throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.NotSupported(this.id + ' fetchBalance() does not support ' + marketType + ' accounts');
|
|
41232
41260
|
}
|
|
41233
|
-
const response = await this[method](this.extend(request, query));
|
|
41234
41261
|
// spot
|
|
41262
|
+
//
|
|
41235
41263
|
// {
|
|
41236
|
-
//
|
|
41237
|
-
//
|
|
41238
|
-
//
|
|
41239
|
-
//
|
|
41240
|
-
//
|
|
41241
|
-
//
|
|
41242
|
-
//
|
|
41243
|
-
//
|
|
41244
|
-
//
|
|
41245
|
-
//
|
|
41246
|
-
//
|
|
41247
|
-
//
|
|
41248
|
-
//
|
|
41264
|
+
// "code": "00000",
|
|
41265
|
+
// "msg": "success",
|
|
41266
|
+
// "requestTime": 1697507299139,
|
|
41267
|
+
// "data": [
|
|
41268
|
+
// {
|
|
41269
|
+
// "coinId": 1,
|
|
41270
|
+
// "coinName": "BTC",
|
|
41271
|
+
// "available": "0.00000000",
|
|
41272
|
+
// "frozen": "0.00000000",
|
|
41273
|
+
// "lock": "0.00000000",
|
|
41274
|
+
// "uTime": "1697248128000"
|
|
41275
|
+
// },
|
|
41276
|
+
// ]
|
|
41249
41277
|
// }
|
|
41250
41278
|
//
|
|
41251
41279
|
// swap
|
|
41280
|
+
//
|
|
41252
41281
|
// {
|
|
41253
|
-
//
|
|
41254
|
-
//
|
|
41255
|
-
//
|
|
41256
|
-
//
|
|
41257
|
-
//
|
|
41258
|
-
//
|
|
41259
|
-
//
|
|
41260
|
-
//
|
|
41261
|
-
//
|
|
41262
|
-
//
|
|
41263
|
-
//
|
|
41264
|
-
//
|
|
41265
|
-
//
|
|
41266
|
-
//
|
|
41267
|
-
//
|
|
41268
|
-
//
|
|
41282
|
+
// "code": "00000",
|
|
41283
|
+
// "msg": "success",
|
|
41284
|
+
// "requestTime": 1697507505367,
|
|
41285
|
+
// "data": [
|
|
41286
|
+
// {
|
|
41287
|
+
// "marginCoin": "STETH",
|
|
41288
|
+
// "locked": "0",
|
|
41289
|
+
// "available": "0",
|
|
41290
|
+
// "crossMaxAvailable": "0",
|
|
41291
|
+
// "fixedMaxAvailable": "0",
|
|
41292
|
+
// "maxTransferOut": "0",
|
|
41293
|
+
// "equity": "0",
|
|
41294
|
+
// "usdtEquity": "0",
|
|
41295
|
+
// "btcEquity": "0",
|
|
41296
|
+
// "crossRiskRate": "0",
|
|
41297
|
+
// "unrealizedPL": "0",
|
|
41298
|
+
// "bonus": "0"
|
|
41299
|
+
// },
|
|
41300
|
+
// ]
|
|
41269
41301
|
// }
|
|
41270
|
-
|
|
41302
|
+
//
|
|
41303
|
+
// isolated margin
|
|
41304
|
+
//
|
|
41305
|
+
// {
|
|
41306
|
+
// "code": "00000",
|
|
41307
|
+
// "msg": "success",
|
|
41308
|
+
// "requestTime": 1697501436571,
|
|
41309
|
+
// "data": [
|
|
41310
|
+
// {
|
|
41311
|
+
// "symbol": "BTCUSDT",
|
|
41312
|
+
// "coin": "BTC",
|
|
41313
|
+
// "totalAmount": "0.00021654",
|
|
41314
|
+
// "available": "0.00021654",
|
|
41315
|
+
// "transferable": "0.00021654",
|
|
41316
|
+
// "frozen": "0",
|
|
41317
|
+
// "borrow": "0",
|
|
41318
|
+
// "interest": "0",
|
|
41319
|
+
// "net": "0.00021654",
|
|
41320
|
+
// "ctime": "1697248128071"
|
|
41321
|
+
// },
|
|
41322
|
+
// ]
|
|
41323
|
+
// }
|
|
41324
|
+
//
|
|
41325
|
+
// cross margin
|
|
41326
|
+
//
|
|
41327
|
+
// {
|
|
41328
|
+
// "code": "00000",
|
|
41329
|
+
// "msg": "success",
|
|
41330
|
+
// "requestTime": 1697515463804,
|
|
41331
|
+
// "data": [
|
|
41332
|
+
// {
|
|
41333
|
+
// "coin": "BTC",
|
|
41334
|
+
// "totalAmount": "0.00024996",
|
|
41335
|
+
// "available": "0.00024996",
|
|
41336
|
+
// "transferable": "0.00004994",
|
|
41337
|
+
// "frozen": "0",
|
|
41338
|
+
// "borrow": "0.0001",
|
|
41339
|
+
// "interest": "0.00000001",
|
|
41340
|
+
// "net": "0.00014995",
|
|
41341
|
+
// "ctime": "1697251265504"
|
|
41342
|
+
// },
|
|
41343
|
+
// ]
|
|
41344
|
+
// }
|
|
41345
|
+
//
|
|
41346
|
+
const data = this.safeValue(response, 'data', []);
|
|
41271
41347
|
return this.parseBalance(data);
|
|
41272
41348
|
}
|
|
41273
41349
|
parseBalance(balance) {
|
|
@@ -41276,42 +41352,81 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
41276
41352
|
// spot
|
|
41277
41353
|
//
|
|
41278
41354
|
// {
|
|
41279
|
-
// coinId:
|
|
41280
|
-
// coinName:
|
|
41281
|
-
// available:
|
|
41282
|
-
// frozen:
|
|
41283
|
-
// lock:
|
|
41284
|
-
// uTime:
|
|
41355
|
+
// "coinId": 1,
|
|
41356
|
+
// "coinName": "BTC",
|
|
41357
|
+
// "available": "0.00000000",
|
|
41358
|
+
// "frozen": "0.00000000",
|
|
41359
|
+
// "lock": "0.00000000",
|
|
41360
|
+
// "uTime": "1697248128000"
|
|
41285
41361
|
// }
|
|
41286
41362
|
//
|
|
41287
41363
|
// swap
|
|
41288
41364
|
//
|
|
41289
41365
|
// {
|
|
41290
|
-
// marginCoin:
|
|
41291
|
-
// locked:
|
|
41292
|
-
// available:
|
|
41293
|
-
// crossMaxAvailable:
|
|
41294
|
-
// fixedMaxAvailable:
|
|
41295
|
-
// maxTransferOut:
|
|
41296
|
-
// equity:
|
|
41297
|
-
// usdtEquity:
|
|
41298
|
-
// btcEquity:
|
|
41299
|
-
// crossRiskRate:
|
|
41300
|
-
// unrealizedPL:
|
|
41301
|
-
// bonus:
|
|
41366
|
+
// "marginCoin": "STETH",
|
|
41367
|
+
// "locked": "0",
|
|
41368
|
+
// "available": "0",
|
|
41369
|
+
// "crossMaxAvailable": "0",
|
|
41370
|
+
// "fixedMaxAvailable": "0",
|
|
41371
|
+
// "maxTransferOut": "0",
|
|
41372
|
+
// "equity": "0",
|
|
41373
|
+
// "usdtEquity": "0",
|
|
41374
|
+
// "btcEquity": "0",
|
|
41375
|
+
// "crossRiskRate": "0",
|
|
41376
|
+
// "unrealizedPL": "0",
|
|
41377
|
+
// "bonus": "0"
|
|
41378
|
+
// }
|
|
41379
|
+
//
|
|
41380
|
+
// isolated margin
|
|
41381
|
+
//
|
|
41382
|
+
// {
|
|
41383
|
+
// "symbol": "BTCUSDT",
|
|
41384
|
+
// "coin": "BTC",
|
|
41385
|
+
// "totalAmount": "0.00021654",
|
|
41386
|
+
// "available": "0.00021654",
|
|
41387
|
+
// "transferable": "0.00021654",
|
|
41388
|
+
// "frozen": "0",
|
|
41389
|
+
// "borrow": "0",
|
|
41390
|
+
// "interest": "0",
|
|
41391
|
+
// "net": "0.00021654",
|
|
41392
|
+
// "ctime": "1697248128071"
|
|
41393
|
+
// }
|
|
41394
|
+
//
|
|
41395
|
+
// cross margin
|
|
41396
|
+
//
|
|
41397
|
+
// {
|
|
41398
|
+
// "coin": "BTC",
|
|
41399
|
+
// "totalAmount": "0.00024995",
|
|
41400
|
+
// "available": "0.00024995",
|
|
41401
|
+
// "transferable": "0.00004993",
|
|
41402
|
+
// "frozen": "0",
|
|
41403
|
+
// "borrow": "0.0001",
|
|
41404
|
+
// "interest": "0.00000001",
|
|
41405
|
+
// "net": "0.00014994",
|
|
41406
|
+
// "ctime": "1697251265504"
|
|
41302
41407
|
// }
|
|
41303
41408
|
//
|
|
41304
41409
|
for (let i = 0; i < balance.length; i++) {
|
|
41305
41410
|
const entry = balance[i];
|
|
41306
|
-
const currencyId = this.safeString2(entry, 'coinName', 'marginCoin');
|
|
41307
|
-
const code = this.safeCurrencyCode(currencyId);
|
|
41308
41411
|
const account = this.account();
|
|
41309
|
-
const
|
|
41310
|
-
const
|
|
41311
|
-
|
|
41312
|
-
|
|
41313
|
-
|
|
41314
|
-
|
|
41412
|
+
const currencyId = this.safeStringN(entry, ['coinName', 'marginCoin', 'coin']);
|
|
41413
|
+
const code = this.safeCurrencyCode(currencyId);
|
|
41414
|
+
const borrow = this.safeString(entry, 'borrow');
|
|
41415
|
+
if (borrow !== undefined) {
|
|
41416
|
+
const interest = this.safeString(entry, 'interest');
|
|
41417
|
+
account['free'] = this.safeString(entry, 'transferable');
|
|
41418
|
+
account['total'] = this.safeString(entry, 'totalAmount');
|
|
41419
|
+
account['debt'] = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringAdd */ .O.stringAdd(borrow, interest);
|
|
41420
|
+
}
|
|
41421
|
+
else {
|
|
41422
|
+
// Use transferable instead of available for swap and margin https://github.com/ccxt/ccxt/pull/19127
|
|
41423
|
+
const spotAccountFree = this.safeString(entry, 'available');
|
|
41424
|
+
const contractAccountFree = this.safeString(entry, 'maxTransferOut');
|
|
41425
|
+
account['free'] = (contractAccountFree !== undefined) ? contractAccountFree : spotAccountFree;
|
|
41426
|
+
const frozen = this.safeString(entry, 'frozen');
|
|
41427
|
+
const locked = this.safeString2(entry, 'lock', 'locked');
|
|
41428
|
+
account['used'] = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringAdd */ .O.stringAdd(frozen, locked);
|
|
41429
|
+
}
|
|
41315
41430
|
result[code] = account;
|
|
41316
41431
|
}
|
|
41317
41432
|
return this.safeBalance(result);
|
|
@@ -43770,6 +43885,194 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
43770
43885
|
'info': interest,
|
|
43771
43886
|
}, market);
|
|
43772
43887
|
}
|
|
43888
|
+
async borrowMargin(code, amount, symbol = undefined, params = {}) {
|
|
43889
|
+
/**
|
|
43890
|
+
* @method
|
|
43891
|
+
* @name bitget#borrowMargin
|
|
43892
|
+
* @description create a loan to borrow margin
|
|
43893
|
+
* @see https://bitgetlimited.github.io/apidoc/en/margin/#cross-borrow
|
|
43894
|
+
* @see https://bitgetlimited.github.io/apidoc/en/margin/#isolated-borrow
|
|
43895
|
+
* @param {string} code unified currency code of the currency to borrow
|
|
43896
|
+
* @param {string} amount the amount to borrow
|
|
43897
|
+
* @param {string} [symbol] unified market symbol
|
|
43898
|
+
* @param {object} [params] extra parameters specific to the bitget api endpoint
|
|
43899
|
+
* @param {string} [params.marginMode] 'isolated' or 'cross', symbol is required for 'isolated'
|
|
43900
|
+
* @returns {object} a [margin loan structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#margin-loan-structure}
|
|
43901
|
+
*/
|
|
43902
|
+
await this.loadMarkets();
|
|
43903
|
+
const currency = this.currency(code);
|
|
43904
|
+
const request = {
|
|
43905
|
+
'coin': currency['info']['coinName'],
|
|
43906
|
+
'borrowAmount': this.currencyToPrecision(code, amount),
|
|
43907
|
+
};
|
|
43908
|
+
let response = undefined;
|
|
43909
|
+
let marginMode = undefined;
|
|
43910
|
+
[marginMode, params] = this.handleMarginModeAndParams('borrowMargin', params);
|
|
43911
|
+
if ((symbol !== undefined) || (marginMode === 'isolated')) {
|
|
43912
|
+
this.checkRequiredSymbol('borrowMargin', symbol);
|
|
43913
|
+
const market = this.market(symbol);
|
|
43914
|
+
const marketId = market['id'];
|
|
43915
|
+
const parts = marketId.split('_');
|
|
43916
|
+
const marginMarketId = this.safeStringUpper(parts, 0);
|
|
43917
|
+
request['symbol'] = marginMarketId;
|
|
43918
|
+
response = await this.privateMarginPostIsolatedAccountBorrow(this.extend(request, params));
|
|
43919
|
+
}
|
|
43920
|
+
else {
|
|
43921
|
+
response = await this.privateMarginPostCrossAccountBorrow(this.extend(request, params));
|
|
43922
|
+
}
|
|
43923
|
+
//
|
|
43924
|
+
// isolated
|
|
43925
|
+
//
|
|
43926
|
+
// {
|
|
43927
|
+
// "code": "00000",
|
|
43928
|
+
// "msg": "success",
|
|
43929
|
+
// "requestTime": 1697250952516,
|
|
43930
|
+
// "data": {
|
|
43931
|
+
// "clientOid": null,
|
|
43932
|
+
// "symbol": "BTCUSDT",
|
|
43933
|
+
// "coin": "BTC",
|
|
43934
|
+
// "borrowAmount": "0.001"
|
|
43935
|
+
// }
|
|
43936
|
+
// }
|
|
43937
|
+
//
|
|
43938
|
+
// cross
|
|
43939
|
+
//
|
|
43940
|
+
// {
|
|
43941
|
+
// "code": "00000",
|
|
43942
|
+
// "msg": "success",
|
|
43943
|
+
// "requestTime": 1697251314271,
|
|
43944
|
+
// "data": {
|
|
43945
|
+
// "clientOid": null,
|
|
43946
|
+
// "coin": "BTC",
|
|
43947
|
+
// "borrowAmount": "0.0001"
|
|
43948
|
+
// }
|
|
43949
|
+
// }
|
|
43950
|
+
//
|
|
43951
|
+
const data = this.safeValue(response, 'data', {});
|
|
43952
|
+
return this.parseMarginLoan(data, currency);
|
|
43953
|
+
}
|
|
43954
|
+
async repayMargin(code, amount, symbol = undefined, params = {}) {
|
|
43955
|
+
/**
|
|
43956
|
+
* @method
|
|
43957
|
+
* @name bitget#repayMargin
|
|
43958
|
+
* @description repay borrowed margin and interest
|
|
43959
|
+
* @see https://bitgetlimited.github.io/apidoc/en/margin/#cross-repay
|
|
43960
|
+
* @see https://bitgetlimited.github.io/apidoc/en/margin/#isolated-repay
|
|
43961
|
+
* @param {string} code unified currency code of the currency to repay
|
|
43962
|
+
* @param {string} amount the amount to repay
|
|
43963
|
+
* @param {string} [symbol] unified market symbol
|
|
43964
|
+
* @param {object} [params] extra parameters specific to the bitget api endpoint
|
|
43965
|
+
* @param {string} [params.marginMode] 'isolated' or 'cross', symbol is required for 'isolated'
|
|
43966
|
+
* @returns {object} a [margin loan structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#margin-loan-structure}
|
|
43967
|
+
*/
|
|
43968
|
+
await this.loadMarkets();
|
|
43969
|
+
const currency = this.currency(code);
|
|
43970
|
+
const request = {
|
|
43971
|
+
'coin': currency['info']['coinName'],
|
|
43972
|
+
'repayAmount': this.currencyToPrecision(code, amount),
|
|
43973
|
+
};
|
|
43974
|
+
let response = undefined;
|
|
43975
|
+
let marginMode = undefined;
|
|
43976
|
+
[marginMode, params] = this.handleMarginModeAndParams('repayMargin', params);
|
|
43977
|
+
if ((symbol !== undefined) || (marginMode === 'isolated')) {
|
|
43978
|
+
this.checkRequiredSymbol('repayMargin', symbol);
|
|
43979
|
+
const market = this.market(symbol);
|
|
43980
|
+
const marketId = market['id'];
|
|
43981
|
+
const parts = marketId.split('_');
|
|
43982
|
+
const marginMarketId = this.safeStringUpper(parts, 0);
|
|
43983
|
+
request['symbol'] = marginMarketId;
|
|
43984
|
+
response = await this.privateMarginPostIsolatedAccountRepay(this.extend(request, params));
|
|
43985
|
+
}
|
|
43986
|
+
else {
|
|
43987
|
+
response = await this.privateMarginPostCrossAccountRepay(this.extend(request, params));
|
|
43988
|
+
}
|
|
43989
|
+
//
|
|
43990
|
+
// isolated
|
|
43991
|
+
//
|
|
43992
|
+
// {
|
|
43993
|
+
// "code": "00000",
|
|
43994
|
+
// "msg": "success",
|
|
43995
|
+
// "requestTime": 1697251988593,
|
|
43996
|
+
// "data": {
|
|
43997
|
+
// "remainDebtAmount": "0",
|
|
43998
|
+
// "clientOid": null,
|
|
43999
|
+
// "symbol": "BTCUSDT",
|
|
44000
|
+
// "coin": "BTC",
|
|
44001
|
+
// "repayAmount": "0.00100001"
|
|
44002
|
+
// }
|
|
44003
|
+
// }
|
|
44004
|
+
//
|
|
44005
|
+
// cross
|
|
44006
|
+
//
|
|
44007
|
+
// {
|
|
44008
|
+
// "code": "00000",
|
|
44009
|
+
// "msg": "success",
|
|
44010
|
+
// "requestTime": 1697252151042,
|
|
44011
|
+
// "data": {
|
|
44012
|
+
// "remainDebtAmount": "0",
|
|
44013
|
+
// "clientOid": null,
|
|
44014
|
+
// "coin": "BTC",
|
|
44015
|
+
// "repayAmount": "0.00010001"
|
|
44016
|
+
// }
|
|
44017
|
+
// }
|
|
44018
|
+
//
|
|
44019
|
+
const data = this.safeValue(response, 'data', {});
|
|
44020
|
+
return this.parseMarginLoan(data, currency);
|
|
44021
|
+
}
|
|
44022
|
+
parseMarginLoan(info, currency = undefined) {
|
|
44023
|
+
//
|
|
44024
|
+
// isolated: borrowMargin
|
|
44025
|
+
//
|
|
44026
|
+
// {
|
|
44027
|
+
// "clientOid": null,
|
|
44028
|
+
// "symbol": "BTCUSDT",
|
|
44029
|
+
// "coin": "BTC",
|
|
44030
|
+
// "borrowAmount": "0.001"
|
|
44031
|
+
// }
|
|
44032
|
+
//
|
|
44033
|
+
// cross: borrowMargin
|
|
44034
|
+
//
|
|
44035
|
+
// {
|
|
44036
|
+
// "clientOid": null,
|
|
44037
|
+
// "coin": "BTC",
|
|
44038
|
+
// "borrowAmount": "0.0001"
|
|
44039
|
+
// }
|
|
44040
|
+
//
|
|
44041
|
+
// isolated: repayMargin
|
|
44042
|
+
//
|
|
44043
|
+
// {
|
|
44044
|
+
// "remainDebtAmount": "0",
|
|
44045
|
+
// "clientOid": null,
|
|
44046
|
+
// "symbol": "BTCUSDT",
|
|
44047
|
+
// "coin": "BTC",
|
|
44048
|
+
// "repayAmount": "0.00100001"
|
|
44049
|
+
// }
|
|
44050
|
+
//
|
|
44051
|
+
// cross: repayMargin
|
|
44052
|
+
//
|
|
44053
|
+
// {
|
|
44054
|
+
// "remainDebtAmount": "0",
|
|
44055
|
+
// "clientOid": null,
|
|
44056
|
+
// "coin": "BTC",
|
|
44057
|
+
// "repayAmount": "0.00010001"
|
|
44058
|
+
// }
|
|
44059
|
+
//
|
|
44060
|
+
const currencyId = this.safeString(info, 'coin');
|
|
44061
|
+
const marketId = this.safeString(info, 'symbol');
|
|
44062
|
+
let symbol = undefined;
|
|
44063
|
+
if (marketId !== undefined) {
|
|
44064
|
+
symbol = this.safeSymbol(marketId);
|
|
44065
|
+
}
|
|
44066
|
+
return {
|
|
44067
|
+
'id': this.safeString(info, 'clientOid'),
|
|
44068
|
+
'currency': this.safeCurrencyCode(currencyId, currency),
|
|
44069
|
+
'amount': this.safeNumber2(info, 'borrowAmount', 'repayAmount'),
|
|
44070
|
+
'symbol': symbol,
|
|
44071
|
+
'timestamp': undefined,
|
|
44072
|
+
'datetime': undefined,
|
|
44073
|
+
'info': info,
|
|
44074
|
+
};
|
|
44075
|
+
}
|
|
43773
44076
|
handleErrors(code, reason, url, method, headers, body, response, requestHeaders, requestBody) {
|
|
43774
44077
|
if (!response) {
|
|
43775
44078
|
return undefined; // fallback to default error handler
|
|
@@ -45746,6 +46049,7 @@ class bitmart extends _abstract_bitmart_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
45746
46049
|
'max': undefined,
|
|
45747
46050
|
},
|
|
45748
46051
|
},
|
|
46052
|
+
'created': undefined,
|
|
45749
46053
|
'info': market,
|
|
45750
46054
|
});
|
|
45751
46055
|
}
|
|
@@ -45852,6 +46156,7 @@ class bitmart extends _abstract_bitmart_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
45852
46156
|
'max': undefined,
|
|
45853
46157
|
},
|
|
45854
46158
|
},
|
|
46159
|
+
'created': this.safeInteger(market, 'open_timestamp'),
|
|
45855
46160
|
'info': market,
|
|
45856
46161
|
});
|
|
45857
46162
|
}
|
|
@@ -49764,6 +50069,7 @@ class bitmex extends _abstract_bitmex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
49764
50069
|
'max': positionIsQuote ? maxOrderQty : undefined,
|
|
49765
50070
|
},
|
|
49766
50071
|
},
|
|
50072
|
+
'created': this.parse8601(this.safeString(market, 'listing')),
|
|
49767
50073
|
'info': market,
|
|
49768
50074
|
});
|
|
49769
50075
|
}
|
|
@@ -50144,6 +50450,7 @@ class bitmex extends _abstract_bitmex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
50144
50450
|
'Deposit': 'transaction',
|
|
50145
50451
|
'Transfer': 'transfer',
|
|
50146
50452
|
'AffiliatePayout': 'referral',
|
|
50453
|
+
'SpotTrade': 'trade',
|
|
50147
50454
|
};
|
|
50148
50455
|
return this.safeString(types, type, type);
|
|
50149
50456
|
}
|
|
@@ -50681,9 +50988,9 @@ class bitmex extends _abstract_bitmex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
50681
50988
|
const feeCurrencyCode = this.safeCurrencyCode(currencyId);
|
|
50682
50989
|
const feeRateString = this.safeString(trade, 'commission');
|
|
50683
50990
|
fee = {
|
|
50684
|
-
'cost': feeCostString,
|
|
50991
|
+
'cost': _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringAbs */ .O.stringAbs(feeCostString),
|
|
50685
50992
|
'currency': feeCurrencyCode,
|
|
50686
|
-
'rate': feeRateString,
|
|
50993
|
+
'rate': _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringAbs */ .O.stringAbs(feeRateString),
|
|
50687
50994
|
};
|
|
50688
50995
|
}
|
|
50689
50996
|
// Trade or Funding
|
|
@@ -51211,7 +51518,8 @@ class bitmex extends _abstract_bitmex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
51211
51518
|
// }
|
|
51212
51519
|
// ]
|
|
51213
51520
|
//
|
|
51214
|
-
|
|
51521
|
+
const results = this.parsePositions(response, symbols);
|
|
51522
|
+
return this.filterByArrayPositions(results, 'symbol', symbols, false);
|
|
51215
51523
|
}
|
|
51216
51524
|
parsePosition(position, market = undefined) {
|
|
51217
51525
|
//
|
|
@@ -62409,6 +62717,7 @@ class bittrex extends _abstract_bittrex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
62409
62717
|
'max': undefined,
|
|
62410
62718
|
},
|
|
62411
62719
|
},
|
|
62720
|
+
'created': this.parse8601(this.safeString(market, 'createdAt')),
|
|
62412
62721
|
'info': market,
|
|
62413
62722
|
});
|
|
62414
62723
|
}
|
|
@@ -62948,8 +63257,14 @@ class bittrex extends _abstract_bittrex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
62948
63257
|
* @param {int} [since] timestamp in ms of the earliest candle to fetch
|
|
62949
63258
|
* @param {int} [limit] the maximum amount of candles to fetch
|
|
62950
63259
|
* @param {object} [params] extra parameters specific to the bittrex api endpoint
|
|
63260
|
+
* @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)
|
|
62951
63261
|
* @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
|
|
62952
63262
|
*/
|
|
63263
|
+
let paginate = false;
|
|
63264
|
+
[paginate, params] = this.handleOptionAndParams(params, 'fetchOHLCV', 'paginate', false);
|
|
63265
|
+
if (paginate) {
|
|
63266
|
+
return await this.fetchPaginatedCallDeterministic('fetchOHLCV', symbol, since, limit, timeframe, params, 1440);
|
|
63267
|
+
}
|
|
62953
63268
|
await this.loadMarkets();
|
|
62954
63269
|
const market = this.market(symbol);
|
|
62955
63270
|
const reverseId = market['baseId'] + '-' + market['quoteId'];
|
|
@@ -68212,7 +68527,8 @@ class btcalpha extends _abstract_btcalpha_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
|
|
|
68212
68527
|
// sell: '22521.11'
|
|
68213
68528
|
// }
|
|
68214
68529
|
//
|
|
68215
|
-
const
|
|
68530
|
+
const timestampStr = this.safeString(ticker, 'timestamp');
|
|
68531
|
+
const timestamp = parseInt(_base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringMul */ .O.stringMul(timestampStr, '1000000'));
|
|
68216
68532
|
const marketId = this.safeString(ticker, 'pair');
|
|
68217
68533
|
market = this.safeMarket(marketId, market, '_');
|
|
68218
68534
|
const last = this.safeString(ticker, 'last');
|
|
@@ -71335,6 +71651,7 @@ class btcturk extends _abstract_btcturk_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
71335
71651
|
'orderbook': 1,
|
|
71336
71652
|
'ticker': 0.1,
|
|
71337
71653
|
'trades': 1,
|
|
71654
|
+
'ohlc': 1,
|
|
71338
71655
|
'server/exchangeinfo': 1,
|
|
71339
71656
|
},
|
|
71340
71657
|
},
|
|
@@ -71346,6 +71663,8 @@ class btcturk extends _abstract_btcturk_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
71346
71663
|
'users/transactions/trade': 1,
|
|
71347
71664
|
},
|
|
71348
71665
|
'post': {
|
|
71666
|
+
'users/transactions/crypto': 1,
|
|
71667
|
+
'users/transactions/fiat': 1,
|
|
71349
71668
|
'order': 1,
|
|
71350
71669
|
'cancelOrder': 1,
|
|
71351
71670
|
},
|
|
@@ -80169,6 +80488,7 @@ class cex extends _abstract_cex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
|
|
|
80169
80488
|
'max': undefined,
|
|
80170
80489
|
},
|
|
80171
80490
|
},
|
|
80491
|
+
'created': undefined,
|
|
80172
80492
|
'info': market,
|
|
80173
80493
|
});
|
|
80174
80494
|
}
|
|
@@ -82431,6 +82751,7 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
|
|
|
82431
82751
|
'max': this.safeNumber(market, 'quote_max_size'),
|
|
82432
82752
|
},
|
|
82433
82753
|
},
|
|
82754
|
+
'created': undefined,
|
|
82434
82755
|
'info': market,
|
|
82435
82756
|
});
|
|
82436
82757
|
}
|
|
@@ -84819,6 +85140,7 @@ class coinbasepro extends _abstract_coinbasepro_js__WEBPACK_IMPORTED_MODULE_0__/
|
|
|
84819
85140
|
'max': undefined,
|
|
84820
85141
|
},
|
|
84821
85142
|
},
|
|
85143
|
+
'created': undefined,
|
|
84822
85144
|
'info': market,
|
|
84823
85145
|
}));
|
|
84824
85146
|
}
|
|
@@ -87691,6 +88013,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
87691
88013
|
'max': undefined,
|
|
87692
88014
|
},
|
|
87693
88015
|
},
|
|
88016
|
+
'created': undefined,
|
|
87694
88017
|
'info': market,
|
|
87695
88018
|
});
|
|
87696
88019
|
}
|
|
@@ -87787,6 +88110,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
87787
88110
|
'max': undefined,
|
|
87788
88111
|
},
|
|
87789
88112
|
},
|
|
88113
|
+
'created': undefined,
|
|
87790
88114
|
'info': entry,
|
|
87791
88115
|
});
|
|
87792
88116
|
}
|
|
@@ -92238,6 +92562,7 @@ class coinfalcon extends _abstract_coinfalcon_js__WEBPACK_IMPORTED_MODULE_0__/*
|
|
|
92238
92562
|
'max': undefined,
|
|
92239
92563
|
},
|
|
92240
92564
|
},
|
|
92565
|
+
'created': undefined,
|
|
92241
92566
|
'info': market,
|
|
92242
92567
|
});
|
|
92243
92568
|
}
|
|
@@ -93336,6 +93661,7 @@ class coinmate extends _abstract_coinmate_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
|
|
|
93336
93661
|
'max': undefined,
|
|
93337
93662
|
},
|
|
93338
93663
|
},
|
|
93664
|
+
'created': undefined,
|
|
93339
93665
|
'info': market,
|
|
93340
93666
|
});
|
|
93341
93667
|
}
|
|
@@ -94271,6 +94597,7 @@ class coinone extends _abstract_coinone_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
94271
94597
|
'max': undefined,
|
|
94272
94598
|
},
|
|
94273
94599
|
},
|
|
94600
|
+
'created': undefined,
|
|
94274
94601
|
'info': ticker,
|
|
94275
94602
|
});
|
|
94276
94603
|
}
|
|
@@ -94665,10 +94992,19 @@ class coinone extends _abstract_coinone_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
94665
94992
|
const id = this.safeString(order, 'orderId');
|
|
94666
94993
|
const baseId = this.safeString(order, 'baseCurrency');
|
|
94667
94994
|
const quoteId = this.safeString(order, 'targetCurrency');
|
|
94668
|
-
|
|
94669
|
-
|
|
94670
|
-
|
|
94671
|
-
|
|
94995
|
+
let base = undefined;
|
|
94996
|
+
let quote = undefined;
|
|
94997
|
+
if (baseId !== undefined) {
|
|
94998
|
+
base = this.safeCurrencyCode(baseId, this.safeString(market, 'base'));
|
|
94999
|
+
}
|
|
95000
|
+
if (quoteId !== undefined) {
|
|
95001
|
+
quote = this.safeCurrencyCode(quoteId, this.safeString(market, 'quote'));
|
|
95002
|
+
}
|
|
95003
|
+
let symbol = undefined;
|
|
95004
|
+
if ((base !== undefined) && (quote !== undefined)) {
|
|
95005
|
+
symbol = base + '/' + quote;
|
|
95006
|
+
market = this.safeMarket(symbol, market, '/');
|
|
95007
|
+
}
|
|
94672
95008
|
const timestamp = this.safeTimestamp2(order, 'timestamp', 'updatedAt');
|
|
94673
95009
|
let side = this.safeString2(order, 'type', 'side');
|
|
94674
95010
|
if (side === 'ask') {
|
|
@@ -94928,7 +95264,7 @@ class coinone extends _abstract_coinone_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
94928
95264
|
const payload = this.stringToBase64(json);
|
|
94929
95265
|
body = payload;
|
|
94930
95266
|
const secret = this.secret.toUpperCase();
|
|
94931
|
-
const signature = this.hmac(payload, this.encode(secret), _static_dependencies_noble_hashes_sha512_js__WEBPACK_IMPORTED_MODULE_4__/* .sha512 */ .o);
|
|
95267
|
+
const signature = this.hmac(this.encode(payload), this.encode(secret), _static_dependencies_noble_hashes_sha512_js__WEBPACK_IMPORTED_MODULE_4__/* .sha512 */ .o);
|
|
94932
95268
|
headers = {
|
|
94933
95269
|
'Content-Type': 'application/json',
|
|
94934
95270
|
'X-COINONE-PAYLOAD': payload,
|
|
@@ -97507,11 +97843,11 @@ class cryptocom extends _abstract_cryptocom_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
97507
97843
|
'fetchAccounts': true,
|
|
97508
97844
|
'fetchBalance': true,
|
|
97509
97845
|
'fetchBidsAsks': false,
|
|
97510
|
-
'fetchBorrowInterest':
|
|
97846
|
+
'fetchBorrowInterest': false,
|
|
97511
97847
|
'fetchBorrowRate': false,
|
|
97512
97848
|
'fetchBorrowRateHistories': false,
|
|
97513
97849
|
'fetchBorrowRateHistory': false,
|
|
97514
|
-
'fetchBorrowRates':
|
|
97850
|
+
'fetchBorrowRates': false,
|
|
97515
97851
|
'fetchClosedOrders': 'emulated',
|
|
97516
97852
|
'fetchCurrencies': false,
|
|
97517
97853
|
'fetchDepositAddress': true,
|
|
@@ -97805,6 +98141,7 @@ class cryptocom extends _abstract_cryptocom_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
97805
98141
|
'precisionMode': _base_functions_number_js__WEBPACK_IMPORTED_MODULE_1__/* .TICK_SIZE */ .sh,
|
|
97806
98142
|
'exceptions': {
|
|
97807
98143
|
'exact': {
|
|
98144
|
+
'219': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
|
|
97808
98145
|
'10001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
|
|
97809
98146
|
'10002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
|
|
97810
98147
|
'10003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
|
|
@@ -98034,6 +98371,7 @@ class cryptocom extends _abstract_cryptocom_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
98034
98371
|
'max': undefined,
|
|
98035
98372
|
},
|
|
98036
98373
|
},
|
|
98374
|
+
'created': undefined,
|
|
98037
98375
|
'info': market,
|
|
98038
98376
|
});
|
|
98039
98377
|
}
|
|
@@ -98526,7 +98864,7 @@ class cryptocom extends _abstract_cryptocom_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
98526
98864
|
}
|
|
98527
98865
|
const postOnly = this.safeValue(params, 'postOnly', false);
|
|
98528
98866
|
if ((postOnly) || (timeInForce === 'PO')) {
|
|
98529
|
-
request['exec_inst'] = 'POST_ONLY';
|
|
98867
|
+
request['exec_inst'] = ['POST_ONLY'];
|
|
98530
98868
|
request['time_in_force'] = 'GOOD_TILL_CANCEL';
|
|
98531
98869
|
}
|
|
98532
98870
|
const triggerPrice = this.safeStringN(params, ['stopPrice', 'triggerPrice', 'ref_price']);
|
|
@@ -99334,8 +99672,8 @@ class cryptocom extends _abstract_cryptocom_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
99334
99672
|
'close': last,
|
|
99335
99673
|
'last': last,
|
|
99336
99674
|
'previousClose': undefined,
|
|
99337
|
-
'change':
|
|
99338
|
-
'percentage':
|
|
99675
|
+
'change': undefined,
|
|
99676
|
+
'percentage': this.safeString(ticker, 'c'),
|
|
99339
99677
|
'average': undefined,
|
|
99340
99678
|
'baseVolume': this.safeString(ticker, 'v'),
|
|
99341
99679
|
'quoteVolume': this.safeString(ticker, 'vv'),
|
|
@@ -99479,10 +99817,16 @@ class cryptocom extends _abstract_cryptocom_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
99479
99817
|
const created = this.safeInteger(order, 'create_time');
|
|
99480
99818
|
const marketId = this.safeString(order, 'instrument_name');
|
|
99481
99819
|
const symbol = this.safeSymbol(marketId, market);
|
|
99482
|
-
const execInst = this.
|
|
99483
|
-
let postOnly =
|
|
99820
|
+
const execInst = this.safeValue(order, 'exec_inst');
|
|
99821
|
+
let postOnly = false;
|
|
99484
99822
|
if (execInst !== undefined) {
|
|
99485
|
-
|
|
99823
|
+
for (let i = 0; i < execInst.length; i++) {
|
|
99824
|
+
const inst = execInst[i];
|
|
99825
|
+
if (inst === 'POST_ONLY') {
|
|
99826
|
+
postOnly = true;
|
|
99827
|
+
break;
|
|
99828
|
+
}
|
|
99829
|
+
}
|
|
99486
99830
|
}
|
|
99487
99831
|
const feeCurrency = this.safeString(order, 'fee_instrument_name');
|
|
99488
99832
|
return this.safeOrder({
|
|
@@ -99715,52 +100059,6 @@ class cryptocom extends _abstract_cryptocom_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
99715
100059
|
'info': info,
|
|
99716
100060
|
};
|
|
99717
100061
|
}
|
|
99718
|
-
async fetchBorrowInterest(code = undefined, symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
99719
|
-
await this.loadMarkets();
|
|
99720
|
-
const request = {};
|
|
99721
|
-
let market = undefined;
|
|
99722
|
-
let currency = undefined;
|
|
99723
|
-
if (symbol !== undefined) {
|
|
99724
|
-
market = this.market(symbol);
|
|
99725
|
-
}
|
|
99726
|
-
if (code !== undefined) {
|
|
99727
|
-
currency = this.currency(code);
|
|
99728
|
-
request['currency'] = currency['id'];
|
|
99729
|
-
}
|
|
99730
|
-
if (since !== undefined) {
|
|
99731
|
-
request['start_ts'] = since;
|
|
99732
|
-
}
|
|
99733
|
-
if (limit !== undefined) {
|
|
99734
|
-
request['page_size'] = limit;
|
|
99735
|
-
}
|
|
99736
|
-
const response = await this.v2PrivatePostPrivateMarginGetInterestHistory(this.extend(request, params));
|
|
99737
|
-
//
|
|
99738
|
-
// {
|
|
99739
|
-
// "id": 1656705829020,
|
|
99740
|
-
// "method": "private/margin/get-interest-history",
|
|
99741
|
-
// "code": 0,
|
|
99742
|
-
// "result": {
|
|
99743
|
-
// "list": [
|
|
99744
|
-
// {
|
|
99745
|
-
// "loan_id": "2643528867803765921",
|
|
99746
|
-
// "currency": "USDT",
|
|
99747
|
-
// "interest": 0.00000004,
|
|
99748
|
-
// "time": 1656702899559,
|
|
99749
|
-
// "stake_amount": 6,
|
|
99750
|
-
// "interest_rate": 0.000025
|
|
99751
|
-
// },
|
|
99752
|
-
// ]
|
|
99753
|
-
// }
|
|
99754
|
-
// }
|
|
99755
|
-
//
|
|
99756
|
-
const data = this.safeValue(response, 'result', {});
|
|
99757
|
-
const rows = this.safeValue(data, 'list', []);
|
|
99758
|
-
let interest = undefined;
|
|
99759
|
-
for (let i = 0; i < rows.length; i++) {
|
|
99760
|
-
interest = this.parseBorrowInterests(rows, market);
|
|
99761
|
-
}
|
|
99762
|
-
return this.filterByCurrencySinceLimit(interest, code, since, limit);
|
|
99763
|
-
}
|
|
99764
100062
|
parseBorrowInterest(info, market = undefined) {
|
|
99765
100063
|
//
|
|
99766
100064
|
// {
|
|
@@ -99789,38 +100087,6 @@ class cryptocom extends _abstract_cryptocom_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
99789
100087
|
'info': info,
|
|
99790
100088
|
};
|
|
99791
100089
|
}
|
|
99792
|
-
async fetchBorrowRates(params = {}) {
|
|
99793
|
-
/**
|
|
99794
|
-
* @method
|
|
99795
|
-
* @name cryptocom#fetchBorrowRates
|
|
99796
|
-
* @description fetch the borrow interest rates of all currencies
|
|
99797
|
-
* @param {object} [params] extra parameters specific to the cryptocom api endpoint
|
|
99798
|
-
* @returns {object} a list of [borrow rate structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#borrow-rate-structure}
|
|
99799
|
-
*/
|
|
99800
|
-
await this.loadMarkets();
|
|
99801
|
-
const response = await this.v2PrivatePostPrivateMarginGetUserConfig(params);
|
|
99802
|
-
//
|
|
99803
|
-
// {
|
|
99804
|
-
// "id": 1656707947456,
|
|
99805
|
-
// "method": "private/margin/get-user-config",
|
|
99806
|
-
// "code": 0,
|
|
99807
|
-
// "result": {
|
|
99808
|
-
// "stake_amount": 6,
|
|
99809
|
-
// "currency_configs": [
|
|
99810
|
-
// {
|
|
99811
|
-
// "currency": "AGLD",
|
|
99812
|
-
// "hourly_rate": 0.00003334,
|
|
99813
|
-
// "max_borrow_limit": 342.4032393,
|
|
99814
|
-
// "min_borrow_limit": 30
|
|
99815
|
-
// },
|
|
99816
|
-
// ]
|
|
99817
|
-
// }
|
|
99818
|
-
// }
|
|
99819
|
-
//
|
|
99820
|
-
const data = this.safeValue(response, 'result', {});
|
|
99821
|
-
const rates = this.safeValue(data, 'currency_configs', []);
|
|
99822
|
-
return this.parseBorrowRates(rates, 'currency');
|
|
99823
|
-
}
|
|
99824
100090
|
parseBorrowRates(info, codeKey) {
|
|
99825
100091
|
//
|
|
99826
100092
|
// {
|
|
@@ -100493,7 +100759,15 @@ class cryptocom extends _abstract_cryptocom_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
100493
100759
|
const paramsKeys = Object.keys(keysorted);
|
|
100494
100760
|
let strSortKey = '';
|
|
100495
100761
|
for (let i = 0; i < paramsKeys.length; i++) {
|
|
100496
|
-
|
|
100762
|
+
const key = paramsKeys[i].toString();
|
|
100763
|
+
let value = requestParams[paramsKeys[i]];
|
|
100764
|
+
if (Array.isArray(value)) {
|
|
100765
|
+
value = value.join(',');
|
|
100766
|
+
}
|
|
100767
|
+
else {
|
|
100768
|
+
value = value.toString();
|
|
100769
|
+
}
|
|
100770
|
+
strSortKey = strSortKey + key + value;
|
|
100497
100771
|
}
|
|
100498
100772
|
const payload = path + nonce + this.apiKey + strSortKey + nonce;
|
|
100499
100773
|
const signature = this.hmac(this.encode(payload), this.encode(this.secret), _static_dependencies_noble_hashes_sha256_js__WEBPACK_IMPORTED_MODULE_4__/* .sha256 */ .J);
|
|
@@ -101113,6 +101387,7 @@ class currencycom extends _abstract_currencycom_js__WEBPACK_IMPORTED_MODULE_0__/
|
|
|
101113
101387
|
'max': undefined,
|
|
101114
101388
|
},
|
|
101115
101389
|
},
|
|
101390
|
+
'created': undefined,
|
|
101116
101391
|
'info': market,
|
|
101117
101392
|
});
|
|
101118
101393
|
}
|
|
@@ -103374,6 +103649,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
103374
103649
|
'max': undefined,
|
|
103375
103650
|
},
|
|
103376
103651
|
},
|
|
103652
|
+
'created': this.parse8601(this.safeString(market, 'launch_time')),
|
|
103377
103653
|
'info': market,
|
|
103378
103654
|
});
|
|
103379
103655
|
}
|
|
@@ -106452,6 +106728,7 @@ class deribit extends _abstract_deribit_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
106452
106728
|
'max': undefined,
|
|
106453
106729
|
},
|
|
106454
106730
|
},
|
|
106731
|
+
'created': this.safeInteger(market, 'creation_timestamp'),
|
|
106455
106732
|
'info': market,
|
|
106456
106733
|
});
|
|
106457
106734
|
}
|
|
@@ -109441,6 +109718,7 @@ class digifinex extends _abstract_digifinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
109441
109718
|
'max': undefined,
|
|
109442
109719
|
},
|
|
109443
109720
|
},
|
|
109721
|
+
'created': undefined,
|
|
109444
109722
|
'info': market,
|
|
109445
109723
|
});
|
|
109446
109724
|
}
|
|
@@ -111595,14 +111873,16 @@ class digifinex extends _abstract_digifinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
111595
111873
|
// "leverage_ratio": 3
|
|
111596
111874
|
// }
|
|
111597
111875
|
//
|
|
111598
|
-
const
|
|
111876
|
+
const marketId = this.safeString(info, 'symbol');
|
|
111599
111877
|
const amountString = this.safeString(info, 'amount');
|
|
111600
111878
|
const leverageString = this.safeString(info, 'leverage_ratio');
|
|
111601
111879
|
const amountInvested = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringDiv */ .O.stringDiv(amountString, leverageString);
|
|
111602
111880
|
const amountBorrowed = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise.stringSub */ .O.stringSub(amountString, amountInvested);
|
|
111603
111881
|
const currency = (market === undefined) ? undefined : market['base'];
|
|
111882
|
+
const symbol = this.safeSymbol(marketId, market);
|
|
111604
111883
|
return {
|
|
111605
|
-
'account':
|
|
111884
|
+
'account': symbol,
|
|
111885
|
+
'symbol': symbol,
|
|
111606
111886
|
'currency': currency,
|
|
111607
111887
|
'interest': undefined,
|
|
111608
111888
|
'interestRate': 0.001,
|
|
@@ -112082,10 +112362,9 @@ class digifinex extends _abstract_digifinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
112082
112362
|
return position;
|
|
112083
112363
|
}
|
|
112084
112364
|
else {
|
|
112085
|
-
|
|
112086
|
-
|
|
112087
|
-
|
|
112088
|
-
});
|
|
112365
|
+
position['collateral'] = this.safeNumber(response, 'margin');
|
|
112366
|
+
position['marginRatio'] = this.safeNumber(response, 'margin_rate');
|
|
112367
|
+
return position;
|
|
112089
112368
|
}
|
|
112090
112369
|
}
|
|
112091
112370
|
parsePosition(position, market = undefined) {
|
|
@@ -112145,7 +112424,7 @@ class digifinex extends _abstract_digifinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
112145
112424
|
else if (side === 'go_short') {
|
|
112146
112425
|
side = 'short';
|
|
112147
112426
|
}
|
|
112148
|
-
return {
|
|
112427
|
+
return this.safePosition({
|
|
112149
112428
|
'info': position,
|
|
112150
112429
|
'id': undefined,
|
|
112151
112430
|
'symbol': symbol,
|
|
@@ -112171,7 +112450,7 @@ class digifinex extends _abstract_digifinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
112171
112450
|
'percentage': undefined,
|
|
112172
112451
|
'stopLossPrice': undefined,
|
|
112173
112452
|
'takeProfitPrice': undefined,
|
|
112174
|
-
};
|
|
112453
|
+
});
|
|
112175
112454
|
}
|
|
112176
112455
|
async setLeverage(leverage, symbol = undefined, params = {}) {
|
|
112177
112456
|
/**
|
|
@@ -113511,6 +113790,7 @@ class exmo extends _abstract_exmo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
|
|
|
113511
113790
|
'max': this.safeNumber(market, 'max_amount'),
|
|
113512
113791
|
},
|
|
113513
113792
|
},
|
|
113793
|
+
'created': undefined,
|
|
113514
113794
|
'info': market,
|
|
113515
113795
|
});
|
|
113516
113796
|
}
|
|
@@ -116469,6 +116749,7 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
|
|
|
116469
116749
|
'max': margin ? this.safeNumber(market, 'max_quote_amount') : undefined,
|
|
116470
116750
|
},
|
|
116471
116751
|
},
|
|
116752
|
+
'created': undefined,
|
|
116472
116753
|
'info': market,
|
|
116473
116754
|
});
|
|
116474
116755
|
}
|
|
@@ -116666,6 +116947,7 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
|
|
|
116666
116947
|
'max': undefined,
|
|
116667
116948
|
},
|
|
116668
116949
|
},
|
|
116950
|
+
'created': undefined,
|
|
116669
116951
|
'info': market,
|
|
116670
116952
|
};
|
|
116671
116953
|
}
|
|
@@ -116786,6 +117068,7 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
|
|
|
116786
117068
|
'max': undefined,
|
|
116787
117069
|
},
|
|
116788
117070
|
},
|
|
117071
|
+
'created': this.safeIntegerProduct(market, 'create_time', 1000),
|
|
116789
117072
|
'info': market,
|
|
116790
117073
|
});
|
|
116791
117074
|
}
|
|
@@ -122587,6 +122870,7 @@ class gemini extends _abstract_gemini_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
122587
122870
|
'max': undefined,
|
|
122588
122871
|
},
|
|
122589
122872
|
},
|
|
122873
|
+
'created': undefined,
|
|
122590
122874
|
'info': response,
|
|
122591
122875
|
};
|
|
122592
122876
|
}
|
|
@@ -124475,6 +124759,7 @@ class hitbtc extends _abstract_hitbtc_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
124475
124759
|
'max': undefined,
|
|
124476
124760
|
},
|
|
124477
124761
|
},
|
|
124762
|
+
'created': undefined,
|
|
124478
124763
|
'info': market,
|
|
124479
124764
|
});
|
|
124480
124765
|
}
|
|
@@ -127214,6 +127499,7 @@ class hollaex extends _abstract_hollaex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
127214
127499
|
'max': undefined,
|
|
127215
127500
|
},
|
|
127216
127501
|
},
|
|
127502
|
+
'created': this.parse8601(this.safeString(market, 'created_at')),
|
|
127217
127503
|
'info': market,
|
|
127218
127504
|
});
|
|
127219
127505
|
}
|
|
@@ -130494,6 +130780,13 @@ class huobi extends _abstract_huobi_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
130494
130780
|
// 7 Settlement Completed
|
|
130495
130781
|
// 8 Delivered
|
|
130496
130782
|
// 9 Suspending of Trade
|
|
130783
|
+
let created = undefined;
|
|
130784
|
+
let createdDate = this.safeString(market, 'create_date'); // i.e 20230101
|
|
130785
|
+
if (createdDate !== undefined) {
|
|
130786
|
+
const createdArray = this.stringToCharsArray(createdDate);
|
|
130787
|
+
createdDate = createdArray[0] + createdArray[1] + createdArray[2] + createdArray[3] + '-' + createdArray[4] + createdArray[5] + '-' + createdArray[6] + createdArray[7] + ' 00:00:00';
|
|
130788
|
+
created = this.parse8601(createdDate);
|
|
130789
|
+
}
|
|
130497
130790
|
result.push({
|
|
130498
130791
|
'id': id,
|
|
130499
130792
|
'lowercaseId': lowercaseId,
|
|
@@ -130546,6 +130839,7 @@ class huobi extends _abstract_huobi_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
130546
130839
|
'max': undefined,
|
|
130547
130840
|
},
|
|
130548
130841
|
},
|
|
130842
|
+
'created': created,
|
|
130549
130843
|
'info': market,
|
|
130550
130844
|
});
|
|
130551
130845
|
}
|
|
@@ -137648,6 +137942,7 @@ class huobijp extends _abstract_huobijp_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
137648
137942
|
'max': undefined,
|
|
137649
137943
|
},
|
|
137650
137944
|
},
|
|
137945
|
+
'created': undefined,
|
|
137651
137946
|
'info': market,
|
|
137652
137947
|
});
|
|
137653
137948
|
}
|
|
@@ -139369,6 +139664,7 @@ class idex extends _abstract_idex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
|
|
|
139369
139664
|
'max': undefined,
|
|
139370
139665
|
},
|
|
139371
139666
|
},
|
|
139667
|
+
'created': undefined,
|
|
139372
139668
|
'info': entry,
|
|
139373
139669
|
});
|
|
139374
139670
|
}
|
|
@@ -141035,6 +141331,7 @@ class independentreserve extends _abstract_independentreserve_js__WEBPACK_IMPORT
|
|
|
141035
141331
|
'max': undefined,
|
|
141036
141332
|
},
|
|
141037
141333
|
},
|
|
141334
|
+
'created': undefined,
|
|
141038
141335
|
'info': id,
|
|
141039
141336
|
});
|
|
141040
141337
|
}
|
|
@@ -141867,6 +142164,7 @@ class indodax extends _abstract_indodax_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
141867
142164
|
'max': undefined,
|
|
141868
142165
|
},
|
|
141869
142166
|
},
|
|
142167
|
+
'created': undefined,
|
|
141870
142168
|
'info': market,
|
|
141871
142169
|
});
|
|
141872
142170
|
}
|
|
@@ -142818,6 +143116,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
142818
143116
|
'Depth': 1,
|
|
142819
143117
|
'OHLC': 1,
|
|
142820
143118
|
'Spread': 1,
|
|
143119
|
+
'SystemStatus': 1,
|
|
142821
143120
|
'Ticker': 1,
|
|
142822
143121
|
'Time': 1,
|
|
142823
143122
|
'Trades': 1,
|
|
@@ -142830,6 +143129,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
142830
143129
|
'AddExport': 3,
|
|
142831
143130
|
'Balance': 3,
|
|
142832
143131
|
'CancelAll': 3,
|
|
143132
|
+
'CancelAllOrdersAfter': 3,
|
|
142833
143133
|
'CancelOrder': 0,
|
|
142834
143134
|
'CancelOrderBatch': 0,
|
|
142835
143135
|
'ClosedOrders': 6,
|
|
@@ -142865,6 +143165,13 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
142865
143165
|
// sub accounts
|
|
142866
143166
|
'CreateSubaccount': 3,
|
|
142867
143167
|
'AccountTransfer': 3,
|
|
143168
|
+
// earn
|
|
143169
|
+
'Earn/Allocate': 3,
|
|
143170
|
+
'Earn/Deallocate': 3,
|
|
143171
|
+
'Earn/AllocateStatus': 3,
|
|
143172
|
+
'Earn/DeallocateStatus': 3,
|
|
143173
|
+
'Earn/Strategies': 3,
|
|
143174
|
+
'Earn/Allocations': 3,
|
|
142868
143175
|
},
|
|
142869
143176
|
},
|
|
142870
143177
|
},
|
|
@@ -143152,6 +143459,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
143152
143459
|
'max': undefined,
|
|
143153
143460
|
},
|
|
143154
143461
|
},
|
|
143462
|
+
'created': undefined,
|
|
143155
143463
|
'info': market,
|
|
143156
143464
|
});
|
|
143157
143465
|
}
|
|
@@ -145739,6 +146047,7 @@ class krakenfutures extends _abstract_krakenfutures_js__WEBPACK_IMPORTED_MODULE_
|
|
|
145739
146047
|
'max': undefined,
|
|
145740
146048
|
},
|
|
145741
146049
|
},
|
|
146050
|
+
'created': this.parse8601(this.safeString(market, 'openingDate')),
|
|
145742
146051
|
'info': market,
|
|
145743
146052
|
});
|
|
145744
146053
|
}
|
|
@@ -148523,6 +148832,7 @@ class kucoin extends _abstract_kucoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
148523
148832
|
'max': this.safeNumber(market, 'quoteMaxSize'),
|
|
148524
148833
|
},
|
|
148525
148834
|
},
|
|
148835
|
+
'created': undefined,
|
|
148526
148836
|
'info': market,
|
|
148527
148837
|
});
|
|
148528
148838
|
}
|
|
@@ -152293,6 +152603,7 @@ class kucoinfutures extends _abstract_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_
|
|
|
152293
152603
|
'max': this.safeNumber(market, 'quoteMaxSize'),
|
|
152294
152604
|
},
|
|
152295
152605
|
},
|
|
152606
|
+
'created': this.safeInteger(market, 'firstOpenDate'),
|
|
152296
152607
|
'info': market,
|
|
152297
152608
|
});
|
|
152298
152609
|
}
|
|
@@ -154640,6 +154951,7 @@ class kuna extends _abstract_kuna_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
|
|
|
154640
154951
|
'max': undefined,
|
|
154641
154952
|
},
|
|
154642
154953
|
},
|
|
154954
|
+
'created': undefined,
|
|
154643
154955
|
'info': undefined,
|
|
154644
154956
|
});
|
|
154645
154957
|
}
|
|
@@ -155564,6 +155876,7 @@ class latoken extends _abstract_latoken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
155564
155876
|
'max': this.safeNumber(market, 'maxOrderCost' + capitalizedQuote),
|
|
155565
155877
|
},
|
|
155566
155878
|
},
|
|
155879
|
+
'created': this.safeInteger(market, 'created'),
|
|
155567
155880
|
'info': market,
|
|
155568
155881
|
});
|
|
155569
155882
|
}
|
|
@@ -157157,6 +157470,7 @@ class lbank extends _abstract_lbank_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
157157
157470
|
'max': undefined,
|
|
157158
157471
|
},
|
|
157159
157472
|
},
|
|
157473
|
+
'created': undefined,
|
|
157160
157474
|
'info': id,
|
|
157161
157475
|
});
|
|
157162
157476
|
}
|
|
@@ -158247,6 +158561,7 @@ class lbank2 extends _abstract_lbank2_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
158247
158561
|
'max': undefined,
|
|
158248
158562
|
},
|
|
158249
158563
|
},
|
|
158564
|
+
'created': undefined,
|
|
158250
158565
|
'info': market,
|
|
158251
158566
|
});
|
|
158252
158567
|
}
|
|
@@ -158343,6 +158658,7 @@ class lbank2 extends _abstract_lbank2_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
158343
158658
|
'max': undefined,
|
|
158344
158659
|
},
|
|
158345
158660
|
},
|
|
158661
|
+
'created': undefined,
|
|
158346
158662
|
'info': market,
|
|
158347
158663
|
});
|
|
158348
158664
|
}
|
|
@@ -160848,6 +161164,7 @@ class luno extends _abstract_luno_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
|
|
|
160848
161164
|
'max': undefined,
|
|
160849
161165
|
},
|
|
160850
161166
|
},
|
|
161167
|
+
'created': undefined,
|
|
160851
161168
|
'info': market,
|
|
160852
161169
|
});
|
|
160853
161170
|
}
|
|
@@ -161969,7 +162286,6 @@ class lykke extends _abstract_lykke_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
161969
162286
|
'option': false,
|
|
161970
162287
|
'contract': false,
|
|
161971
162288
|
'active': true,
|
|
161972
|
-
'info': market,
|
|
161973
162289
|
'linear': undefined,
|
|
161974
162290
|
'inverse': undefined,
|
|
161975
162291
|
'contractSize': undefined,
|
|
@@ -161999,6 +162315,8 @@ class lykke extends _abstract_lykke_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
161999
162315
|
'max': undefined,
|
|
162000
162316
|
},
|
|
162001
162317
|
},
|
|
162318
|
+
'created': undefined,
|
|
162319
|
+
'info': market,
|
|
162002
162320
|
});
|
|
162003
162321
|
}
|
|
162004
162322
|
return result;
|
|
@@ -163190,6 +163508,7 @@ class mercado extends _abstract_mercado_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
163190
163508
|
'max': undefined,
|
|
163191
163509
|
},
|
|
163192
163510
|
},
|
|
163511
|
+
'created': undefined,
|
|
163193
163512
|
'info': coin,
|
|
163194
163513
|
});
|
|
163195
163514
|
}
|
|
@@ -165020,6 +165339,7 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
|
|
|
165020
165339
|
'max': maxQuoteAmount,
|
|
165021
165340
|
},
|
|
165022
165341
|
},
|
|
165342
|
+
'created': undefined,
|
|
165023
165343
|
'info': market,
|
|
165024
165344
|
});
|
|
165025
165345
|
}
|
|
@@ -165131,6 +165451,7 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
|
|
|
165131
165451
|
'max': undefined,
|
|
165132
165452
|
},
|
|
165133
165453
|
},
|
|
165454
|
+
'created': undefined,
|
|
165134
165455
|
'info': market,
|
|
165135
165456
|
});
|
|
165136
165457
|
}
|
|
@@ -166593,7 +166914,7 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
|
|
|
166593
166914
|
}
|
|
166594
166915
|
const [marketType] = this.handleMarketTypeAndParams('fetchOrdersByState', market, params);
|
|
166595
166916
|
if (marketType === 'spot') {
|
|
166596
|
-
throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.
|
|
166917
|
+
throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported(this.id + ' fetchOrdersByState() is not supported for ' + marketType);
|
|
166597
166918
|
}
|
|
166598
166919
|
else {
|
|
166599
166920
|
request['states'] = state;
|
|
@@ -167898,6 +168219,7 @@ class mexc extends _abstract_mexc_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
|
|
|
167898
168219
|
* @returns {object} a dictionary of [leverage tiers structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#leverage-tiers-structure}, indexed by market symbols
|
|
167899
168220
|
*/
|
|
167900
168221
|
await this.loadMarkets();
|
|
168222
|
+
symbols = this.marketSymbols(symbols, 'swap', true, true);
|
|
167901
168223
|
const response = await this.contractPublicGetDetail(params);
|
|
167902
168224
|
//
|
|
167903
168225
|
// {
|
|
@@ -169731,6 +170053,7 @@ class ndax extends _abstract_ndax_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
|
|
|
169731
170053
|
'max': undefined,
|
|
169732
170054
|
},
|
|
169733
170055
|
},
|
|
170056
|
+
'created': undefined,
|
|
169734
170057
|
'info': market,
|
|
169735
170058
|
});
|
|
169736
170059
|
}
|
|
@@ -171975,6 +172298,7 @@ class novadax extends _abstract_novadax_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
171975
172298
|
'max': undefined,
|
|
171976
172299
|
},
|
|
171977
172300
|
},
|
|
172301
|
+
'created': undefined,
|
|
171978
172302
|
'info': market,
|
|
171979
172303
|
});
|
|
171980
172304
|
}
|
|
@@ -173453,6 +173777,7 @@ class oceanex extends _abstract_oceanex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
173453
173777
|
'max': undefined,
|
|
173454
173778
|
},
|
|
173455
173779
|
},
|
|
173780
|
+
'created': undefined,
|
|
173456
173781
|
'info': market,
|
|
173457
173782
|
});
|
|
173458
173783
|
}
|
|
@@ -186240,6 +186565,7 @@ class phemex extends _abstract_phemex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
186240
186565
|
'max': this.parseNumber(this.safeString(market, 'maxOrderQty')),
|
|
186241
186566
|
},
|
|
186242
186567
|
},
|
|
186568
|
+
'created': undefined,
|
|
186243
186569
|
'info': market,
|
|
186244
186570
|
};
|
|
186245
186571
|
}
|
|
@@ -186338,6 +186664,7 @@ class phemex extends _abstract_phemex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
186338
186664
|
'max': this.parseSafeNumber(this.safeString(market, 'maxOrderValue')),
|
|
186339
186665
|
},
|
|
186340
186666
|
},
|
|
186667
|
+
'created': undefined,
|
|
186341
186668
|
'info': market,
|
|
186342
186669
|
};
|
|
186343
186670
|
}
|
|
@@ -190638,6 +190965,7 @@ class poloniex extends _abstract_poloniex_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
|
|
|
190638
190965
|
'max': undefined,
|
|
190639
190966
|
},
|
|
190640
190967
|
},
|
|
190968
|
+
'created': this.safeInteger(market, 'tradableStartTime'),
|
|
190641
190969
|
'info': market,
|
|
190642
190970
|
});
|
|
190643
190971
|
}
|
|
@@ -192525,22 +192853,27 @@ class poloniexfutures extends _abstract_poloniexfutures_js__WEBPACK_IMPORTED_MOD
|
|
|
192525
192853
|
'get': {
|
|
192526
192854
|
'account-overview': 1,
|
|
192527
192855
|
'transaction-history': 1,
|
|
192856
|
+
'maxActiveOrders': 1,
|
|
192857
|
+
'maxRiskLimit': 1,
|
|
192858
|
+
'userFeeRate': 1,
|
|
192859
|
+
'marginType/query': 1,
|
|
192528
192860
|
'orders': 1,
|
|
192529
192861
|
'stopOrders': 1,
|
|
192530
192862
|
'recentDoneOrders': 1,
|
|
192531
192863
|
'orders/{order-id}': 1,
|
|
192864
|
+
'clientOrderId/{clientOid}': 1,
|
|
192532
192865
|
'fills': 1,
|
|
192533
192866
|
'openOrderStatistics': 1,
|
|
192534
192867
|
'position': 1.5,
|
|
192535
192868
|
'positions': 1.5,
|
|
192536
192869
|
'funding-history': 1,
|
|
192537
|
-
'marginType/query': 1,
|
|
192538
192870
|
},
|
|
192539
192871
|
'post': {
|
|
192540
192872
|
'orders': 1.5,
|
|
192541
192873
|
'batchOrders': 1.5,
|
|
192542
192874
|
'position/margin/auto-deposit-status': 1.5,
|
|
192543
192875
|
'position/margin/deposit-margin': 1.5,
|
|
192876
|
+
'position/margin/withdraw-margin': 1.5,
|
|
192544
192877
|
'bullet-private': 1,
|
|
192545
192878
|
'marginType/change': 1,
|
|
192546
192879
|
},
|
|
@@ -192757,6 +193090,7 @@ class poloniexfutures extends _abstract_poloniexfutures_js__WEBPACK_IMPORTED_MOD
|
|
|
192757
193090
|
'max': undefined,
|
|
192758
193091
|
},
|
|
192759
193092
|
},
|
|
193093
|
+
'created': this.safeInteger(market, 'firstOpenDate'),
|
|
192760
193094
|
'info': market,
|
|
192761
193095
|
});
|
|
192762
193096
|
}
|
|
@@ -193681,7 +194015,7 @@ class poloniexfutures extends _abstract_poloniexfutures_js__WEBPACK_IMPORTED_MOD
|
|
|
193681
194015
|
}
|
|
193682
194016
|
const request = {};
|
|
193683
194017
|
if (!stop) {
|
|
193684
|
-
request['status'] = status === 'open' ? 'active' : 'done';
|
|
194018
|
+
request['status'] = (status === 'open') ? 'active' : 'done';
|
|
193685
194019
|
}
|
|
193686
194020
|
else if (status !== 'open') {
|
|
193687
194021
|
throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest(this.id + ' fetchOrdersByStatus() can only fetch untriggered stop orders');
|
|
@@ -227516,6 +227850,9 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
227516
227850
|
};
|
|
227517
227851
|
const marketIds = [];
|
|
227518
227852
|
let messageHash = name;
|
|
227853
|
+
if (symbols === undefined) {
|
|
227854
|
+
symbols = [];
|
|
227855
|
+
}
|
|
227519
227856
|
for (let i = 0; i < symbols.length; i++) {
|
|
227520
227857
|
const symbol = symbols[i];
|
|
227521
227858
|
marketIds.push(this.marketId(symbol));
|
|
@@ -227581,6 +227918,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
227581
227918
|
const method = this.safeString(this.options, 'watchTickerMethod', 'ticker'); // or ticker_lite
|
|
227582
227919
|
const name = this.safeString2(params, 'method', 'watchTickerMethod', method);
|
|
227583
227920
|
params = this.omit(params, ['watchTickerMethod', 'method']);
|
|
227921
|
+
symbols = this.marketSymbols(symbols, undefined, false);
|
|
227584
227922
|
return await this.subscribePublic(name, symbols, params);
|
|
227585
227923
|
}
|
|
227586
227924
|
async watchTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -227732,7 +228070,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
227732
228070
|
// }
|
|
227733
228071
|
//
|
|
227734
228072
|
const channel = this.safeString(message, 'feed');
|
|
227735
|
-
const marketId = this.
|
|
228073
|
+
const marketId = this.safeString(message, 'product_id');
|
|
227736
228074
|
if (marketId !== undefined) {
|
|
227737
228075
|
const market = this.market(marketId);
|
|
227738
228076
|
const symbol = market['symbol'];
|
|
@@ -227773,7 +228111,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
227773
228111
|
// "price": 34893
|
|
227774
228112
|
// }
|
|
227775
228113
|
//
|
|
227776
|
-
const marketId = this.
|
|
228114
|
+
const marketId = this.safeString(trade, 'product_id');
|
|
227777
228115
|
market = this.safeMarket(marketId, market);
|
|
227778
228116
|
const timestamp = this.safeInteger(trade, 'time');
|
|
227779
228117
|
return this.safeTrade({
|
|
@@ -227826,7 +228164,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
227826
228164
|
// }
|
|
227827
228165
|
//
|
|
227828
228166
|
const timestamp = this.safeInteger(trade, 'tradeTime');
|
|
227829
|
-
const marketId = this.
|
|
228167
|
+
const marketId = this.safeString(trade, 'symbol');
|
|
227830
228168
|
return this.safeTrade({
|
|
227831
228169
|
'info': trade,
|
|
227832
228170
|
'id': this.safeString(trade, 'tradeId'),
|
|
@@ -227905,7 +228243,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
227905
228243
|
}
|
|
227906
228244
|
const order = this.safeValue(message, 'order');
|
|
227907
228245
|
if (order !== undefined) {
|
|
227908
|
-
const marketId = this.
|
|
228246
|
+
const marketId = this.safeString(order, 'instrument');
|
|
227909
228247
|
const messageHash = 'orders';
|
|
227910
228248
|
const symbol = this.safeSymbol(marketId);
|
|
227911
228249
|
const orderId = this.safeString(order, 'order_id');
|
|
@@ -228098,7 +228436,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
228098
228436
|
status = 'cancelled';
|
|
228099
228437
|
}
|
|
228100
228438
|
}
|
|
228101
|
-
const marketId = this.
|
|
228439
|
+
const marketId = this.safeString(unparsedOrder, 'instrument');
|
|
228102
228440
|
const timestamp = this.safeString(unparsedOrder, 'time');
|
|
228103
228441
|
const direction = this.safeInteger(unparsedOrder, 'direction');
|
|
228104
228442
|
return this.safeOrder({
|
|
@@ -228179,7 +228517,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
228179
228517
|
// "volumeQuote": 6899673.0
|
|
228180
228518
|
// }
|
|
228181
228519
|
//
|
|
228182
|
-
const marketId = this.
|
|
228520
|
+
const marketId = this.safeString(message, 'product_id');
|
|
228183
228521
|
const feed = this.safeString(message, 'feed');
|
|
228184
228522
|
if (marketId !== undefined) {
|
|
228185
228523
|
const ticker = this.parseWsTicker(message);
|
|
@@ -228240,7 +228578,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
228240
228578
|
// "volumeQuote": 6899673.0
|
|
228241
228579
|
// }
|
|
228242
228580
|
//
|
|
228243
|
-
const marketId = this.
|
|
228581
|
+
const marketId = this.safeString(ticker, 'product_id');
|
|
228244
228582
|
market = this.safeMarket(marketId, market);
|
|
228245
228583
|
const symbol = market['symbol'];
|
|
228246
228584
|
const timestamp = this.parse8601(this.safeString(ticker, 'lastTime'));
|
|
@@ -228298,7 +228636,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
228298
228636
|
// ]
|
|
228299
228637
|
// }
|
|
228300
228638
|
//
|
|
228301
|
-
const marketId = this.
|
|
228639
|
+
const marketId = this.safeString(message, 'product_id');
|
|
228302
228640
|
const market = this.safeMarket(marketId);
|
|
228303
228641
|
const symbol = market['symbol'];
|
|
228304
228642
|
const messageHash = 'book:' + symbol;
|
|
@@ -228338,7 +228676,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
228338
228676
|
// "timestamp": 1612269953629
|
|
228339
228677
|
// }
|
|
228340
228678
|
//
|
|
228341
|
-
const marketId = this.
|
|
228679
|
+
const marketId = this.safeString(message, 'product_id');
|
|
228342
228680
|
const market = this.safeMarket(marketId);
|
|
228343
228681
|
const symbol = market['symbol'];
|
|
228344
228682
|
const messageHash = 'book:' + symbol;
|
|
@@ -228642,7 +228980,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
228642
228980
|
// }
|
|
228643
228981
|
//
|
|
228644
228982
|
const timestamp = this.safeInteger(trade, 'time');
|
|
228645
|
-
const marketId = this.
|
|
228983
|
+
const marketId = this.safeString(trade, 'instrument');
|
|
228646
228984
|
market = this.safeMarket(marketId, market);
|
|
228647
228985
|
const isBuy = this.safeValue(trade, 'buy');
|
|
228648
228986
|
const feeCurrencyId = this.safeString(trade, 'fee_currency');
|
|
@@ -242120,6 +242458,7 @@ class probit extends _abstract_probit_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
242120
242458
|
'max': this.safeNumber(market, 'max_cost'),
|
|
242121
242459
|
},
|
|
242122
242460
|
},
|
|
242461
|
+
'created': undefined,
|
|
242123
242462
|
'info': market,
|
|
242124
242463
|
});
|
|
242125
242464
|
}
|
|
@@ -252879,6 +253218,7 @@ class tidex extends _abstract_tidex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
252879
253218
|
'max': undefined,
|
|
252880
253219
|
},
|
|
252881
253220
|
},
|
|
253221
|
+
'created': undefined,
|
|
252882
253222
|
'info': market,
|
|
252883
253223
|
});
|
|
252884
253224
|
}
|
|
@@ -254852,6 +255192,7 @@ class timex extends _abstract_timex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
254852
255192
|
'max': undefined,
|
|
254853
255193
|
},
|
|
254854
255194
|
},
|
|
255195
|
+
'created': undefined,
|
|
254855
255196
|
'info': market,
|
|
254856
255197
|
};
|
|
254857
255198
|
}
|
|
@@ -255925,6 +256266,7 @@ class tokocrypto extends _abstract_tokocrypto_js__WEBPACK_IMPORTED_MODULE_0__/*
|
|
|
255925
256266
|
'max': undefined,
|
|
255926
256267
|
},
|
|
255927
256268
|
},
|
|
256269
|
+
'created': undefined,
|
|
255928
256270
|
'info': market,
|
|
255929
256271
|
};
|
|
255930
256272
|
if ('PRICE_FILTER' in filtersByType) {
|
|
@@ -258195,6 +258537,7 @@ class upbit extends _abstract_upbit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
258195
258537
|
'max': undefined,
|
|
258196
258538
|
},
|
|
258197
258539
|
},
|
|
258540
|
+
'created': undefined,
|
|
258198
258541
|
'info': market,
|
|
258199
258542
|
});
|
|
258200
258543
|
}
|
|
@@ -260145,6 +260488,7 @@ class wavesexchange extends _abstract_wavesexchange_js__WEBPACK_IMPORTED_MODULE_
|
|
|
260145
260488
|
'max': undefined,
|
|
260146
260489
|
},
|
|
260147
260490
|
},
|
|
260491
|
+
'created': undefined,
|
|
260148
260492
|
'info': entry,
|
|
260149
260493
|
});
|
|
260150
260494
|
}
|
|
@@ -262441,6 +262785,7 @@ class wazirx extends _abstract_wazirx_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
262441
262785
|
'max': undefined,
|
|
262442
262786
|
},
|
|
262443
262787
|
},
|
|
262788
|
+
'created': undefined,
|
|
262444
262789
|
'info': market,
|
|
262445
262790
|
});
|
|
262446
262791
|
}
|
|
@@ -262769,7 +263114,7 @@ class wazirx extends _abstract_wazirx_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
262769
263114
|
}, market);
|
|
262770
263115
|
}
|
|
262771
263116
|
parseBalance(response) {
|
|
262772
|
-
const result = {};
|
|
263117
|
+
const result = { 'info': response };
|
|
262773
263118
|
for (let i = 0; i < response.length; i++) {
|
|
262774
263119
|
const balance = response[i];
|
|
262775
263120
|
const id = this.safeString(balance, 'asset');
|
|
@@ -263497,6 +263842,7 @@ class whitebit extends _abstract_whitebit_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
|
|
|
263497
263842
|
'max': this.safeNumber(market, 'maxTotal'),
|
|
263498
263843
|
},
|
|
263499
263844
|
},
|
|
263845
|
+
'created': undefined,
|
|
263500
263846
|
'info': market,
|
|
263501
263847
|
};
|
|
263502
263848
|
result.push(entry);
|
|
@@ -265796,6 +266142,7 @@ class woo extends _abstract_woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
|
|
|
265796
266142
|
'max': undefined,
|
|
265797
266143
|
},
|
|
265798
266144
|
},
|
|
266145
|
+
'created': this.safeIntegerProduct(market, 'created_time', 1000),
|
|
265799
266146
|
'info': market,
|
|
265800
266147
|
});
|
|
265801
266148
|
}
|
|
@@ -268448,6 +268795,7 @@ class yobit extends _abstract_yobit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
268448
268795
|
'max': undefined,
|
|
268449
268796
|
},
|
|
268450
268797
|
},
|
|
268798
|
+
'created': undefined,
|
|
268451
268799
|
'info': market,
|
|
268452
268800
|
});
|
|
268453
268801
|
}
|
|
@@ -269577,6 +269925,7 @@ class zaif extends _abstract_zaif_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
|
|
|
269577
269925
|
'max': undefined,
|
|
269578
269926
|
},
|
|
269579
269927
|
},
|
|
269928
|
+
'created': undefined,
|
|
269580
269929
|
'info': market,
|
|
269581
269930
|
});
|
|
269582
269931
|
}
|
|
@@ -270485,6 +270834,7 @@ class zonda extends _abstract_zonda_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
270485
270834
|
'max': undefined,
|
|
270486
270835
|
},
|
|
270487
270836
|
},
|
|
270837
|
+
'created': undefined,
|
|
270488
270838
|
'info': item,
|
|
270489
270839
|
});
|
|
270490
270840
|
}
|
|
@@ -277545,7 +277895,7 @@ SOFTWARE.
|
|
|
277545
277895
|
|
|
277546
277896
|
//-----------------------------------------------------------------------------
|
|
277547
277897
|
// this is updated by vss.js when building
|
|
277548
|
-
const version = '4.1.
|
|
277898
|
+
const version = '4.1.16';
|
|
277549
277899
|
_src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange.ccxtVersion */ .e.ccxtVersion = version;
|
|
277550
277900
|
//-----------------------------------------------------------------------------
|
|
277551
277901
|
|