ccxt 4.2.15 → 4.2.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/README.md +3 -3
- package/dist/ccxt.browser.js +622 -155
- package/dist/ccxt.browser.min.js +2 -2
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/js/ccxt.js +3 -1
- package/dist/cjs/js/src/ascendex.js +11 -6
- package/dist/cjs/js/src/base/Exchange.js +12 -12
- package/dist/cjs/js/src/bingx.js +37 -3
- package/dist/cjs/js/src/bitmex.js +3 -6
- package/dist/cjs/js/src/coinone.js +1 -1
- package/dist/cjs/js/src/phemex.js +28 -25
- package/dist/cjs/js/src/pro/coinone.js +411 -0
- package/dist/cjs/js/src/pro/krakenfutures.js +7 -1
- package/js/ccxt.d.ts +4 -1
- package/js/ccxt.js +3 -1
- package/js/src/ascendex.js +11 -6
- package/js/src/base/Exchange.js +12 -12
- package/js/src/bingx.d.ts +1 -0
- package/js/src/bingx.js +38 -4
- package/js/src/bitmex.js +3 -6
- package/js/src/coinone.js +1 -1
- package/js/src/phemex.js +28 -25
- package/js/src/pro/coinone.d.ts +21 -0
- package/js/src/pro/coinone.js +412 -0
- package/js/src/pro/krakenfutures.js +7 -1
- package/package.json +1 -1
- package/skip-tests.json +1 -0
package/dist/ccxt.browser.js
CHANGED
|
@@ -4429,12 +4429,14 @@ class ascendex extends _abstract_ascendex_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
|
|
|
4429
4429
|
*/
|
|
4430
4430
|
await this.loadMarkets();
|
|
4431
4431
|
await this.loadAccounts();
|
|
4432
|
-
let query = undefined;
|
|
4433
4432
|
let marketType = undefined;
|
|
4434
|
-
|
|
4433
|
+
let marginMode = undefined;
|
|
4434
|
+
[marketType, params] = this.handleMarketTypeAndParams('fetchBalance', undefined, params);
|
|
4435
|
+
[marginMode, params] = this.handleMarginModeAndParams('fetchBalance', params);
|
|
4435
4436
|
const isMargin = this.safeValue(params, 'margin', false);
|
|
4436
|
-
|
|
4437
|
-
|
|
4437
|
+
const isCross = marginMode === 'cross';
|
|
4438
|
+
marketType = (isMargin || isCross) ? 'margin' : marketType;
|
|
4439
|
+
params = this.omit(params, 'margin');
|
|
4438
4440
|
const accountsByType = this.safeValue(this.options, 'accountsByType', {});
|
|
4439
4441
|
const accountCategory = this.safeString(accountsByType, marketType, 'cash');
|
|
4440
4442
|
const account = this.safeValue(this.accounts, 0, {});
|
|
@@ -4442,15 +4444,18 @@ class ascendex extends _abstract_ascendex_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
|
|
|
4442
4444
|
const request = {
|
|
4443
4445
|
'account-group': accountGroup,
|
|
4444
4446
|
};
|
|
4447
|
+
if ((marginMode === 'isolated') && (marketType !== 'swap')) {
|
|
4448
|
+
throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest(this.id + ' does not supported isolated margin trading');
|
|
4449
|
+
}
|
|
4445
4450
|
if ((accountCategory === 'cash') || (accountCategory === 'margin')) {
|
|
4446
4451
|
request['account-category'] = accountCategory;
|
|
4447
4452
|
}
|
|
4448
4453
|
let response = undefined;
|
|
4449
4454
|
if ((marketType === 'spot') || (marketType === 'margin')) {
|
|
4450
|
-
response = await this.v1PrivateAccountCategoryGetBalance(this.extend(request,
|
|
4455
|
+
response = await this.v1PrivateAccountCategoryGetBalance(this.extend(request, params));
|
|
4451
4456
|
}
|
|
4452
4457
|
else if (marketType === 'swap') {
|
|
4453
|
-
response = await this.v2PrivateAccountGroupGetFuturesPosition(this.extend(request,
|
|
4458
|
+
response = await this.v2PrivateAccountGroupGetFuturesPosition(this.extend(request, params));
|
|
4454
4459
|
}
|
|
4455
4460
|
else {
|
|
4456
4461
|
throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported(this.id + ' fetchBalance() is not currently supported for ' + marketType + ' markets');
|
|
@@ -8441,11 +8446,11 @@ class Exchange {
|
|
|
8441
8446
|
let httpsProxy = undefined;
|
|
8442
8447
|
let socksProxy = undefined;
|
|
8443
8448
|
// httpProxy
|
|
8444
|
-
if (this.httpProxy
|
|
8449
|
+
if (this.valueIsDefined(this.httpProxy)) {
|
|
8445
8450
|
usedProxies.push('httpProxy');
|
|
8446
8451
|
httpProxy = this.httpProxy;
|
|
8447
8452
|
}
|
|
8448
|
-
if (this.http_proxy
|
|
8453
|
+
if (this.valueIsDefined(this.http_proxy)) {
|
|
8449
8454
|
usedProxies.push('http_proxy');
|
|
8450
8455
|
httpProxy = this.http_proxy;
|
|
8451
8456
|
}
|
|
@@ -8458,11 +8463,11 @@ class Exchange {
|
|
|
8458
8463
|
httpProxy = this.http_proxy_callback(url, method, headers, body);
|
|
8459
8464
|
}
|
|
8460
8465
|
// httpsProxy
|
|
8461
|
-
if (this.httpsProxy
|
|
8466
|
+
if (this.valueIsDefined(this.httpsProxy)) {
|
|
8462
8467
|
usedProxies.push('httpsProxy');
|
|
8463
8468
|
httpsProxy = this.httpsProxy;
|
|
8464
8469
|
}
|
|
8465
|
-
if (this.https_proxy
|
|
8470
|
+
if (this.valueIsDefined(this.https_proxy)) {
|
|
8466
8471
|
usedProxies.push('https_proxy');
|
|
8467
8472
|
httpsProxy = this.https_proxy;
|
|
8468
8473
|
}
|
|
@@ -8475,11 +8480,11 @@ class Exchange {
|
|
|
8475
8480
|
httpsProxy = this.https_proxy_callback(url, method, headers, body);
|
|
8476
8481
|
}
|
|
8477
8482
|
// socksProxy
|
|
8478
|
-
if (this.socksProxy
|
|
8483
|
+
if (this.valueIsDefined(this.socksProxy)) {
|
|
8479
8484
|
usedProxies.push('socksProxy');
|
|
8480
8485
|
socksProxy = this.socksProxy;
|
|
8481
8486
|
}
|
|
8482
|
-
if (this.socks_proxy
|
|
8487
|
+
if (this.valueIsDefined(this.socks_proxy)) {
|
|
8483
8488
|
usedProxies.push('socks_proxy');
|
|
8484
8489
|
socksProxy = this.socks_proxy;
|
|
8485
8490
|
}
|
|
@@ -8505,29 +8510,29 @@ class Exchange {
|
|
|
8505
8510
|
let wssProxy = undefined;
|
|
8506
8511
|
let wsSocksProxy = undefined;
|
|
8507
8512
|
// ws proxy
|
|
8508
|
-
if (this.wsProxy
|
|
8513
|
+
if (this.valueIsDefined(this.wsProxy)) {
|
|
8509
8514
|
usedProxies.push('wsProxy');
|
|
8510
8515
|
wsProxy = this.wsProxy;
|
|
8511
8516
|
}
|
|
8512
|
-
if (this.ws_proxy
|
|
8517
|
+
if (this.valueIsDefined(this.ws_proxy)) {
|
|
8513
8518
|
usedProxies.push('ws_proxy');
|
|
8514
8519
|
wsProxy = this.ws_proxy;
|
|
8515
8520
|
}
|
|
8516
8521
|
// wss proxy
|
|
8517
|
-
if (this.wssProxy
|
|
8522
|
+
if (this.valueIsDefined(this.wssProxy)) {
|
|
8518
8523
|
usedProxies.push('wssProxy');
|
|
8519
8524
|
wssProxy = this.wssProxy;
|
|
8520
8525
|
}
|
|
8521
|
-
if (this.wss_proxy
|
|
8526
|
+
if (this.valueIsDefined(this.wss_proxy)) {
|
|
8522
8527
|
usedProxies.push('wss_proxy');
|
|
8523
8528
|
wssProxy = this.wss_proxy;
|
|
8524
8529
|
}
|
|
8525
8530
|
// ws socks proxy
|
|
8526
|
-
if (this.wsSocksProxy
|
|
8531
|
+
if (this.valueIsDefined(this.wsSocksProxy)) {
|
|
8527
8532
|
usedProxies.push('wsSocksProxy');
|
|
8528
8533
|
wsSocksProxy = this.wsSocksProxy;
|
|
8529
8534
|
}
|
|
8530
|
-
if (this.ws_socks_proxy
|
|
8535
|
+
if (this.valueIsDefined(this.ws_socks_proxy)) {
|
|
8531
8536
|
usedProxies.push('ws_socks_proxy');
|
|
8532
8537
|
wsSocksProxy = this.ws_socks_proxy;
|
|
8533
8538
|
}
|
|
@@ -27792,7 +27797,7 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
27792
27797
|
'has': {
|
|
27793
27798
|
'CORS': undefined,
|
|
27794
27799
|
'spot': true,
|
|
27795
|
-
'margin':
|
|
27800
|
+
'margin': false,
|
|
27796
27801
|
'swap': true,
|
|
27797
27802
|
'future': false,
|
|
27798
27803
|
'option': false,
|
|
@@ -27855,6 +27860,9 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
27855
27860
|
'account': 'https://open-api.{hostname}/openApi',
|
|
27856
27861
|
'copyTrading': 'https://open-api.{hostname}/openApi',
|
|
27857
27862
|
},
|
|
27863
|
+
'test': {
|
|
27864
|
+
'swap': 'https://open-api-vst.{hostname}/openApi', // only swap is really "test" but since the API keys are the same, we want to keep all the functionalities when the user enables the sandboxmode
|
|
27865
|
+
},
|
|
27858
27866
|
'www': 'https://bingx.com/',
|
|
27859
27867
|
'doc': 'https://bingx-api.github.io/docs/',
|
|
27860
27868
|
'referral': 'https://bingx.com/invite/OHETOM',
|
|
@@ -28188,6 +28196,10 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
28188
28196
|
if (!this.checkRequiredCredentials(false)) {
|
|
28189
28197
|
return undefined;
|
|
28190
28198
|
}
|
|
28199
|
+
const isSandbox = this.safeValue(this.options, 'sandboxMode', false);
|
|
28200
|
+
if (isSandbox) {
|
|
28201
|
+
return undefined;
|
|
28202
|
+
}
|
|
28191
28203
|
const response = await this.walletsV1PrivateGetCapitalConfigGetall(params);
|
|
28192
28204
|
//
|
|
28193
28205
|
// {
|
|
@@ -28427,7 +28439,11 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
28427
28439
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
28428
28440
|
* @returns {object[]} an array of objects representing market data
|
|
28429
28441
|
*/
|
|
28430
|
-
const requests = [this.
|
|
28442
|
+
const requests = [this.fetchSwapMarkets(params)];
|
|
28443
|
+
const isSandbox = this.safeValue(this.options, 'sandboxMode', false);
|
|
28444
|
+
if (!isSandbox) {
|
|
28445
|
+
requests.push(this.fetchSpotMarkets(params)); // sandbox is swap only
|
|
28446
|
+
}
|
|
28431
28447
|
const promises = await Promise.all(requests);
|
|
28432
28448
|
const spotMarkets = this.safeValue(promises, 0, []);
|
|
28433
28449
|
const swapMarkets = this.safeValue(promises, 1, []);
|
|
@@ -30858,6 +30874,21 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
30858
30874
|
// "txId": "0xb5ef8c13b968a406cc62a93a8bd80f9e9a906ef1b3fcf20a2e48573c17659268"
|
|
30859
30875
|
// }
|
|
30860
30876
|
//
|
|
30877
|
+
// withdraw
|
|
30878
|
+
//
|
|
30879
|
+
// {
|
|
30880
|
+
// "code":0,
|
|
30881
|
+
// "timestamp":1705274263621,
|
|
30882
|
+
// "data":{
|
|
30883
|
+
// "id":"1264246141278773252"
|
|
30884
|
+
// }
|
|
30885
|
+
// }
|
|
30886
|
+
//
|
|
30887
|
+
// parse withdraw-type output first...
|
|
30888
|
+
//
|
|
30889
|
+
const data = this.safeValue(transaction, 'data');
|
|
30890
|
+
const dataId = (data === undefined) ? undefined : this.safeString(data, 'id');
|
|
30891
|
+
const id = this.safeString(transaction, 'id', dataId);
|
|
30861
30892
|
const address = this.safeString(transaction, 'address');
|
|
30862
30893
|
const tag = this.safeString(transaction, 'addressTag');
|
|
30863
30894
|
let timestamp = this.safeInteger(transaction, 'insertTime');
|
|
@@ -30878,7 +30909,7 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
30878
30909
|
const type = (rawType === '0') ? 'deposit' : 'withdrawal';
|
|
30879
30910
|
return {
|
|
30880
30911
|
'info': transaction,
|
|
30881
|
-
'id':
|
|
30912
|
+
'id': id,
|
|
30882
30913
|
'txid': this.safeString(transaction, 'txId'),
|
|
30883
30914
|
'type': type,
|
|
30884
30915
|
'currency': code,
|
|
@@ -31512,6 +31543,10 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
31512
31543
|
const type = section[0];
|
|
31513
31544
|
const version = section[1];
|
|
31514
31545
|
const access = section[2];
|
|
31546
|
+
const isSandbox = this.safeValue(this.options, 'sandboxMode', false);
|
|
31547
|
+
if (isSandbox && (type !== 'swap')) {
|
|
31548
|
+
throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported(this.id + ' does not have a testnet/sandbox URL for ' + type + ' endpoints');
|
|
31549
|
+
}
|
|
31515
31550
|
let url = this.implodeHostname(this.urls['api'][type]);
|
|
31516
31551
|
if (type === 'spot' && version === 'v3') {
|
|
31517
31552
|
url += '/api';
|
|
@@ -31554,6 +31589,10 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
31554
31589
|
nonce() {
|
|
31555
31590
|
return this.milliseconds();
|
|
31556
31591
|
}
|
|
31592
|
+
setSandboxMode(enable) {
|
|
31593
|
+
super.setSandboxMode(enable);
|
|
31594
|
+
this.options['sandboxMode'] = enable;
|
|
31595
|
+
}
|
|
31557
31596
|
handleErrors(httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody) {
|
|
31558
31597
|
if (response === undefined) {
|
|
31559
31598
|
return undefined; // fallback to default error handler
|
|
@@ -56768,8 +56807,8 @@ class bitmex extends _abstract_bitmex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
56768
56807
|
if (fetchOHLCVOpenTimestamp) {
|
|
56769
56808
|
timestamp = this.sum(timestamp, duration);
|
|
56770
56809
|
}
|
|
56771
|
-
const
|
|
56772
|
-
request['startTime'] =
|
|
56810
|
+
const startTime = this.iso8601(timestamp);
|
|
56811
|
+
request['startTime'] = startTime; // starting date filter for results
|
|
56773
56812
|
}
|
|
56774
56813
|
else {
|
|
56775
56814
|
request['reverse'] = true;
|
|
@@ -57879,12 +57918,9 @@ class bitmex extends _abstract_bitmex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
57879
57918
|
throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ArgumentsRequired(this.id + ' fetchDepositAddress requires params["network"]');
|
|
57880
57919
|
}
|
|
57881
57920
|
const currency = this.currency(code);
|
|
57882
|
-
let currencyId = currency['id'];
|
|
57883
|
-
const idLength = currencyId.length;
|
|
57884
|
-
currencyId = currencyId.slice(0, idLength - 1) + currencyId.slice(idLength - 1, idLength).toLowerCase(); // make the last letter lowercase
|
|
57885
57921
|
params = this.omit(params, 'network');
|
|
57886
57922
|
const request = {
|
|
57887
|
-
'currency':
|
|
57923
|
+
'currency': currency['id'],
|
|
57888
57924
|
'network': this.networkCodeToId(networkCode, currency['code']),
|
|
57889
57925
|
};
|
|
57890
57926
|
const response = await this.privateGetUserDepositAddress(this.extend(request, params));
|
|
@@ -103124,7 +103160,7 @@ class coinone extends _abstract_coinone_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
103124
103160
|
'setLeverage': false,
|
|
103125
103161
|
'setMarginMode': false,
|
|
103126
103162
|
'setPositionMode': false,
|
|
103127
|
-
'ws':
|
|
103163
|
+
'ws': true,
|
|
103128
103164
|
},
|
|
103129
103165
|
'urls': {
|
|
103130
103166
|
'logo': 'https://user-images.githubusercontent.com/1294454/38003300-adc12fba-323f-11e8-8525-725f53c4a659.jpg',
|
|
@@ -202601,12 +202637,14 @@ class phemex extends _abstract_phemex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
202601
202637
|
* @description fetch all unfilled currently open orders
|
|
202602
202638
|
* @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#queryopenorder
|
|
202603
202639
|
* @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Contract-API-en.md
|
|
202640
|
+
* @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Spot-API-en.md#spotListAllOpenOrder
|
|
202604
202641
|
* @param {string} symbol unified market symbol
|
|
202605
202642
|
* @param {int} [since] the earliest time in ms to fetch open orders for
|
|
202606
202643
|
* @param {int} [limit] the maximum number of open order structures to retrieve
|
|
202607
202644
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
202608
202645
|
* @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
202609
202646
|
*/
|
|
202647
|
+
await this.loadMarkets();
|
|
202610
202648
|
if (symbol === undefined) {
|
|
202611
202649
|
throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' fetchOpenOrders() requires a symbol argument');
|
|
202612
202650
|
}
|
|
@@ -202648,20 +202686,25 @@ class phemex extends _abstract_phemex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
202648
202686
|
* @name phemex#fetchClosedOrders
|
|
202649
202687
|
* @description fetches information on multiple closed orders made by the user
|
|
202650
202688
|
* @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#queryorder
|
|
202689
|
+
* @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Contract-API-en.md#queryorder
|
|
202690
|
+
* @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedgedd-Perpetual-API.md#query-closed-orders-by-symbol
|
|
202691
|
+
* @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Spot-API-en.md#spotDataOrdersByIds
|
|
202651
202692
|
* @param {string} symbol unified market symbol of the market orders were made in
|
|
202652
202693
|
* @param {int} [since] the earliest time in ms to fetch orders for
|
|
202653
202694
|
* @param {int} [limit] the maximum number of order structures to retrieve
|
|
202654
202695
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
202696
|
+
* @param {string} [params.settle] the settlement currency to fetch orders for
|
|
202655
202697
|
* @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
202656
202698
|
*/
|
|
202657
|
-
if (symbol === undefined) {
|
|
202658
|
-
throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' fetchClosedOrders() requires a symbol argument');
|
|
202659
|
-
}
|
|
202660
202699
|
await this.loadMarkets();
|
|
202661
|
-
|
|
202662
|
-
|
|
202663
|
-
|
|
202664
|
-
}
|
|
202700
|
+
let market = undefined;
|
|
202701
|
+
if (symbol !== undefined) {
|
|
202702
|
+
market = this.market(symbol);
|
|
202703
|
+
}
|
|
202704
|
+
const request = {};
|
|
202705
|
+
if (market !== undefined) {
|
|
202706
|
+
request['symbol'] = market['id'];
|
|
202707
|
+
}
|
|
202665
202708
|
if (since !== undefined) {
|
|
202666
202709
|
request['start'] = since;
|
|
202667
202710
|
}
|
|
@@ -202669,8 +202712,8 @@ class phemex extends _abstract_phemex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
202669
202712
|
request['limit'] = limit;
|
|
202670
202713
|
}
|
|
202671
202714
|
let response = undefined;
|
|
202672
|
-
if (market
|
|
202673
|
-
request['currency'] =
|
|
202715
|
+
if ((symbol === undefined) || (this.safeString(market, 'settle') === 'USDT')) {
|
|
202716
|
+
request['currency'] = this.safeString(params, 'settle', 'USDT');
|
|
202674
202717
|
response = await this.privateGetExchangeOrderV2OrderList(this.extend(request, params));
|
|
202675
202718
|
}
|
|
202676
202719
|
else if (market['swap']) {
|
|
@@ -202731,23 +202774,25 @@ class phemex extends _abstract_phemex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
202731
202774
|
* @description fetch all trades made by the user
|
|
202732
202775
|
* @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Contract-API-en.md#query-user-trade
|
|
202733
202776
|
* @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#query-user-trade
|
|
202777
|
+
* @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Spot-API-en.md#spotDataTradesHist
|
|
202734
202778
|
* @param {string} symbol unified market symbol
|
|
202735
202779
|
* @param {int} [since] the earliest time in ms to fetch trades for
|
|
202736
202780
|
* @param {int} [limit] the maximum number of trades structures to retrieve
|
|
202737
202781
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
202738
202782
|
* @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
|
|
202739
202783
|
*/
|
|
202740
|
-
if (symbol === undefined) {
|
|
202741
|
-
throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' fetchMyTrades() requires a symbol argument');
|
|
202742
|
-
}
|
|
202743
202784
|
await this.loadMarkets();
|
|
202744
|
-
|
|
202785
|
+
let market = undefined;
|
|
202786
|
+
if (symbol !== undefined) {
|
|
202787
|
+
market = this.market(symbol);
|
|
202788
|
+
}
|
|
202745
202789
|
const request = {};
|
|
202746
202790
|
if (limit !== undefined) {
|
|
202747
202791
|
limit = Math.min(200, limit);
|
|
202748
202792
|
request['limit'] = limit;
|
|
202749
202793
|
}
|
|
202750
|
-
|
|
202794
|
+
const isUSDTSettled = (symbol === undefined) || (this.safeString(market, 'settle') === 'USDT');
|
|
202795
|
+
if (isUSDTSettled) {
|
|
202751
202796
|
request['currency'] = 'USDT';
|
|
202752
202797
|
request['offset'] = 0;
|
|
202753
202798
|
if (limit === undefined) {
|
|
@@ -202760,18 +202805,12 @@ class phemex extends _abstract_phemex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
202760
202805
|
if (since !== undefined) {
|
|
202761
202806
|
request['start'] = since;
|
|
202762
202807
|
}
|
|
202763
|
-
if (market['swap'] && (limit !== undefined)) {
|
|
202764
|
-
request['limit'] = limit;
|
|
202765
|
-
}
|
|
202766
|
-
const isUSDTSettled = market['settle'] === 'USDT';
|
|
202767
202808
|
let response = undefined;
|
|
202768
|
-
if (
|
|
202769
|
-
|
|
202770
|
-
|
|
202771
|
-
|
|
202772
|
-
|
|
202773
|
-
response = await this.privateGetExchangeOrderTrade(this.extend(request, params));
|
|
202774
|
-
}
|
|
202809
|
+
if (isUSDTSettled) {
|
|
202810
|
+
response = await this.privateGetExchangeOrderV2TradingList(this.extend(request, params));
|
|
202811
|
+
}
|
|
202812
|
+
else if (market['swap']) {
|
|
202813
|
+
response = await this.privateGetExchangeOrderTrade(this.extend(request, params));
|
|
202775
202814
|
}
|
|
202776
202815
|
else {
|
|
202777
202816
|
response = await this.privateGetExchangeSpotOrderTrades(this.extend(request, params));
|
|
@@ -231088,6 +231127,425 @@ class coinex extends _coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z
|
|
|
231088
231127
|
}
|
|
231089
231128
|
|
|
231090
231129
|
|
|
231130
|
+
/***/ }),
|
|
231131
|
+
|
|
231132
|
+
/***/ 5208:
|
|
231133
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
231134
|
+
|
|
231135
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
231136
|
+
/* harmony export */ Z: () => (/* binding */ coinone)
|
|
231137
|
+
/* harmony export */ });
|
|
231138
|
+
/* harmony import */ var _coinone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7811);
|
|
231139
|
+
/* harmony import */ var _base_errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6689);
|
|
231140
|
+
/* harmony import */ var _base_ws_Cache_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3020);
|
|
231141
|
+
// ---------------------------------------------------------------------------
|
|
231142
|
+
|
|
231143
|
+
|
|
231144
|
+
|
|
231145
|
+
// ---------------------------------------------------------------------------
|
|
231146
|
+
class coinone extends _coinone_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
|
|
231147
|
+
describe() {
|
|
231148
|
+
return this.deepExtend(super.describe(), {
|
|
231149
|
+
'has': {
|
|
231150
|
+
'ws': true,
|
|
231151
|
+
'watchOrderBook': true,
|
|
231152
|
+
'watchOrders': false,
|
|
231153
|
+
'watchTrades': true,
|
|
231154
|
+
'watchOHLCV': false,
|
|
231155
|
+
'watchTicker': true,
|
|
231156
|
+
'watchTickers': false,
|
|
231157
|
+
},
|
|
231158
|
+
'urls': {
|
|
231159
|
+
'api': {
|
|
231160
|
+
'ws': 'wss://stream.coinone.co.kr',
|
|
231161
|
+
},
|
|
231162
|
+
},
|
|
231163
|
+
'options': {
|
|
231164
|
+
'expiresIn': '',
|
|
231165
|
+
'userId': '',
|
|
231166
|
+
'wsSessionToken': '',
|
|
231167
|
+
'watchOrderBook': {
|
|
231168
|
+
'snapshotDelay': 6,
|
|
231169
|
+
'snapshotMaxRetries': 3,
|
|
231170
|
+
},
|
|
231171
|
+
'tradesLimit': 1000,
|
|
231172
|
+
'OHLCVLimit': 1000,
|
|
231173
|
+
},
|
|
231174
|
+
'exceptions': {
|
|
231175
|
+
'exact': {
|
|
231176
|
+
'4009': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.AuthenticationError,
|
|
231177
|
+
},
|
|
231178
|
+
},
|
|
231179
|
+
'streaming': {
|
|
231180
|
+
'ping': this.ping,
|
|
231181
|
+
'keepAlive': 20000,
|
|
231182
|
+
},
|
|
231183
|
+
});
|
|
231184
|
+
}
|
|
231185
|
+
async watchOrderBook(symbol, limit = undefined, params = {}) {
|
|
231186
|
+
/**
|
|
231187
|
+
* @method
|
|
231188
|
+
* @name coinone#watchOrderBook
|
|
231189
|
+
* @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
|
|
231190
|
+
* @see https://docs.coinone.co.kr/reference/public-websocket-orderbook
|
|
231191
|
+
* @param {string} symbol unified symbol of the market to fetch the order book for
|
|
231192
|
+
* @param {int} [limit] the maximum amount of order book entries to return
|
|
231193
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
231194
|
+
* @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
|
|
231195
|
+
*/
|
|
231196
|
+
await this.loadMarkets();
|
|
231197
|
+
const market = this.market(symbol);
|
|
231198
|
+
const messageHash = 'orderbook:' + market['symbol'];
|
|
231199
|
+
const url = this.urls['api']['ws'];
|
|
231200
|
+
const request = {
|
|
231201
|
+
'request_type': 'SUBSCRIBE',
|
|
231202
|
+
'channel': 'ORDERBOOK',
|
|
231203
|
+
'topic': {
|
|
231204
|
+
'quote_currency': market['quote'],
|
|
231205
|
+
'target_currency': market['base'],
|
|
231206
|
+
},
|
|
231207
|
+
};
|
|
231208
|
+
const message = this.extend(request, params);
|
|
231209
|
+
const orderbook = await this.watch(url, messageHash, message, messageHash);
|
|
231210
|
+
return orderbook.limit();
|
|
231211
|
+
}
|
|
231212
|
+
handleOrderBook(client, message) {
|
|
231213
|
+
//
|
|
231214
|
+
// {
|
|
231215
|
+
// "response_type": "DATA",
|
|
231216
|
+
// "channel": "ORDERBOOK",
|
|
231217
|
+
// "data": {
|
|
231218
|
+
// "quote_currency": "KRW",
|
|
231219
|
+
// "target_currency": "BTC",
|
|
231220
|
+
// "timestamp": 1705288918649,
|
|
231221
|
+
// "id": "1705288918649001",
|
|
231222
|
+
// "asks": [
|
|
231223
|
+
// {
|
|
231224
|
+
// "price": "58412000",
|
|
231225
|
+
// "qty": "0.59919807"
|
|
231226
|
+
// }
|
|
231227
|
+
// ],
|
|
231228
|
+
// "bids": [
|
|
231229
|
+
// {
|
|
231230
|
+
// "price": "58292000",
|
|
231231
|
+
// "qty": "0.1045"
|
|
231232
|
+
// }
|
|
231233
|
+
// ]
|
|
231234
|
+
// }
|
|
231235
|
+
// }
|
|
231236
|
+
//
|
|
231237
|
+
const data = this.safeValue(message, 'data', {});
|
|
231238
|
+
const baseId = this.safeStringUpper(data, 'target_currency');
|
|
231239
|
+
const quoteId = this.safeStringUpper(data, 'quote_currency');
|
|
231240
|
+
const base = this.safeCurrencyCode(baseId);
|
|
231241
|
+
const quote = this.safeCurrencyCode(quoteId);
|
|
231242
|
+
const symbol = this.symbol(base + '/' + quote);
|
|
231243
|
+
const timestamp = this.safeInteger(data, 'timestamp');
|
|
231244
|
+
let orderbook = this.safeValue(this.orderbooks, symbol);
|
|
231245
|
+
if (orderbook === undefined) {
|
|
231246
|
+
orderbook = this.orderBook();
|
|
231247
|
+
}
|
|
231248
|
+
else {
|
|
231249
|
+
orderbook.reset();
|
|
231250
|
+
}
|
|
231251
|
+
orderbook['symbol'] = symbol;
|
|
231252
|
+
const asks = this.safeValue(data, 'asks', []);
|
|
231253
|
+
const bids = this.safeValue(data, 'bids', []);
|
|
231254
|
+
this.handleDeltas(orderbook['asks'], asks);
|
|
231255
|
+
this.handleDeltas(orderbook['bids'], bids);
|
|
231256
|
+
orderbook['timestamp'] = timestamp;
|
|
231257
|
+
orderbook['datetime'] = this.iso8601(timestamp);
|
|
231258
|
+
const messageHash = 'orderbook:' + symbol;
|
|
231259
|
+
this.orderbooks[symbol] = orderbook;
|
|
231260
|
+
client.resolve(orderbook, messageHash);
|
|
231261
|
+
}
|
|
231262
|
+
handleDelta(bookside, delta) {
|
|
231263
|
+
const bidAsk = this.parseBidAsk(delta, 'price', 'qty');
|
|
231264
|
+
bookside.storeArray(bidAsk);
|
|
231265
|
+
}
|
|
231266
|
+
async watchTicker(symbol, params = {}) {
|
|
231267
|
+
/**
|
|
231268
|
+
* @method
|
|
231269
|
+
* @name coinone#watchTicker
|
|
231270
|
+
* @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
|
231271
|
+
* @see https://docs.coinone.co.kr/reference/public-websocket-ticker
|
|
231272
|
+
* @param {string} symbol unified symbol of the market to fetch the ticker for
|
|
231273
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
231274
|
+
* @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
|
|
231275
|
+
*/
|
|
231276
|
+
await this.loadMarkets();
|
|
231277
|
+
const market = this.market(symbol);
|
|
231278
|
+
const messageHash = 'ticker:' + market['symbol'];
|
|
231279
|
+
const url = this.urls['api']['ws'];
|
|
231280
|
+
const request = {
|
|
231281
|
+
'request_type': 'SUBSCRIBE',
|
|
231282
|
+
'channel': 'TICKER',
|
|
231283
|
+
'topic': {
|
|
231284
|
+
'quote_currency': market['quote'],
|
|
231285
|
+
'target_currency': market['base'],
|
|
231286
|
+
},
|
|
231287
|
+
};
|
|
231288
|
+
const message = this.extend(request, params);
|
|
231289
|
+
return await this.watch(url, messageHash, message, messageHash);
|
|
231290
|
+
}
|
|
231291
|
+
handleTicker(client, message) {
|
|
231292
|
+
//
|
|
231293
|
+
// {
|
|
231294
|
+
// "response_type": "DATA",
|
|
231295
|
+
// "channel": "TICKER",
|
|
231296
|
+
// "data": {
|
|
231297
|
+
// "quote_currency": "KRW",
|
|
231298
|
+
// "target_currency": "BTC",
|
|
231299
|
+
// "timestamp": 1705301117198,
|
|
231300
|
+
// "quote_volume": "19521465345.504",
|
|
231301
|
+
// "target_volume": "334.81445168",
|
|
231302
|
+
// "high": "58710000",
|
|
231303
|
+
// "low": "57276000",
|
|
231304
|
+
// "first": "57293000",
|
|
231305
|
+
// "last": "58532000",
|
|
231306
|
+
// "volume_power": "100",
|
|
231307
|
+
// "ask_best_price": "58537000",
|
|
231308
|
+
// "ask_best_qty": "0.1961",
|
|
231309
|
+
// "bid_best_price": "58532000",
|
|
231310
|
+
// "bid_best_qty": "0.00009258",
|
|
231311
|
+
// "id": "1705301117198001",
|
|
231312
|
+
// "yesterday_high": "59140000",
|
|
231313
|
+
// "yesterday_low": "57273000",
|
|
231314
|
+
// "yesterday_first": "58897000",
|
|
231315
|
+
// "yesterday_last": "57301000",
|
|
231316
|
+
// "yesterday_quote_volume": "12967227517.4262",
|
|
231317
|
+
// "yesterday_target_volume": "220.09232233"
|
|
231318
|
+
// }
|
|
231319
|
+
// }
|
|
231320
|
+
//
|
|
231321
|
+
const data = this.safeValue(message, 'data', {});
|
|
231322
|
+
const ticker = this.parseWsTicker(data);
|
|
231323
|
+
const symbol = ticker['symbol'];
|
|
231324
|
+
this.tickers[symbol] = ticker;
|
|
231325
|
+
const messageHash = 'ticker:' + symbol;
|
|
231326
|
+
client.resolve(this.tickers[symbol], messageHash);
|
|
231327
|
+
}
|
|
231328
|
+
parseWsTicker(ticker, market = undefined) {
|
|
231329
|
+
//
|
|
231330
|
+
// {
|
|
231331
|
+
// "quote_currency": "KRW",
|
|
231332
|
+
// "target_currency": "BTC",
|
|
231333
|
+
// "timestamp": 1705301117198,
|
|
231334
|
+
// "quote_volume": "19521465345.504",
|
|
231335
|
+
// "target_volume": "334.81445168",
|
|
231336
|
+
// "high": "58710000",
|
|
231337
|
+
// "low": "57276000",
|
|
231338
|
+
// "first": "57293000",
|
|
231339
|
+
// "last": "58532000",
|
|
231340
|
+
// "volume_power": "100",
|
|
231341
|
+
// "ask_best_price": "58537000",
|
|
231342
|
+
// "ask_best_qty": "0.1961",
|
|
231343
|
+
// "bid_best_price": "58532000",
|
|
231344
|
+
// "bid_best_qty": "0.00009258",
|
|
231345
|
+
// "id": "1705301117198001",
|
|
231346
|
+
// "yesterday_high": "59140000",
|
|
231347
|
+
// "yesterday_low": "57273000",
|
|
231348
|
+
// "yesterday_first": "58897000",
|
|
231349
|
+
// "yesterday_last": "57301000",
|
|
231350
|
+
// "yesterday_quote_volume": "12967227517.4262",
|
|
231351
|
+
// "yesterday_target_volume": "220.09232233"
|
|
231352
|
+
// }
|
|
231353
|
+
//
|
|
231354
|
+
const timestamp = this.safeInteger(ticker, 'timestamp');
|
|
231355
|
+
const last = this.safeString(ticker, 'last');
|
|
231356
|
+
const baseId = this.safeString(ticker, 'target_currency');
|
|
231357
|
+
const quoteId = this.safeString(ticker, 'quote_currency');
|
|
231358
|
+
const base = this.safeCurrencyCode(baseId);
|
|
231359
|
+
const quote = this.safeCurrencyCode(quoteId);
|
|
231360
|
+
const symbol = this.symbol(base + '/' + quote);
|
|
231361
|
+
return this.safeTicker({
|
|
231362
|
+
'symbol': symbol,
|
|
231363
|
+
'timestamp': timestamp,
|
|
231364
|
+
'datetime': this.iso8601(timestamp),
|
|
231365
|
+
'high': this.safeString(ticker, 'high'),
|
|
231366
|
+
'low': this.safeString(ticker, 'low'),
|
|
231367
|
+
'bid': this.safeNumber(ticker, 'bid_best_price'),
|
|
231368
|
+
'bidVolume': this.safeNumber(ticker, 'bid_best_qty'),
|
|
231369
|
+
'ask': this.safeNumber(ticker, 'ask_best_price'),
|
|
231370
|
+
'askVolume': this.safeNumber(ticker, 'ask_best_qty'),
|
|
231371
|
+
'vwap': undefined,
|
|
231372
|
+
'open': this.safeString(ticker, 'first'),
|
|
231373
|
+
'close': last,
|
|
231374
|
+
'last': last,
|
|
231375
|
+
'previousClose': undefined,
|
|
231376
|
+
'change': undefined,
|
|
231377
|
+
'percentage': undefined,
|
|
231378
|
+
'average': undefined,
|
|
231379
|
+
'baseVolume': this.safeString(ticker, 'target_volume'),
|
|
231380
|
+
'quoteVolume': this.safeString(ticker, 'quote_volume'),
|
|
231381
|
+
'info': ticker,
|
|
231382
|
+
}, market);
|
|
231383
|
+
}
|
|
231384
|
+
async watchTrades(symbol, since = undefined, limit = undefined, params = {}) {
|
|
231385
|
+
/**
|
|
231386
|
+
* @method
|
|
231387
|
+
* @name coinone#watchTrades
|
|
231388
|
+
* @description watches information on multiple trades made in a market
|
|
231389
|
+
* @see https://docs.coinone.co.kr/reference/public-websocket-trade
|
|
231390
|
+
* @param {string} symbol unified market symbol of the market trades were made in
|
|
231391
|
+
* @param {int} [since] the earliest time in ms to fetch trades for
|
|
231392
|
+
* @param {int} [limit] the maximum number of trade structures to retrieve
|
|
231393
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
231394
|
+
* @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure
|
|
231395
|
+
*/
|
|
231396
|
+
await this.loadMarkets();
|
|
231397
|
+
const market = this.market(symbol);
|
|
231398
|
+
const messageHash = 'trade:' + market['symbol'];
|
|
231399
|
+
const url = this.urls['api']['ws'];
|
|
231400
|
+
const request = {
|
|
231401
|
+
'request_type': 'SUBSCRIBE',
|
|
231402
|
+
'channel': 'TRADE',
|
|
231403
|
+
'topic': {
|
|
231404
|
+
'quote_currency': market['quote'],
|
|
231405
|
+
'target_currency': market['base'],
|
|
231406
|
+
},
|
|
231407
|
+
};
|
|
231408
|
+
const message = this.extend(request, params);
|
|
231409
|
+
const trades = await this.watch(url, messageHash, message, messageHash);
|
|
231410
|
+
if (this.newUpdates) {
|
|
231411
|
+
limit = trades.getLimit(market['symbol'], limit);
|
|
231412
|
+
}
|
|
231413
|
+
return this.filterBySinceLimit(trades, since, limit, 'timestamp', true);
|
|
231414
|
+
}
|
|
231415
|
+
handleTrades(client, message) {
|
|
231416
|
+
//
|
|
231417
|
+
// {
|
|
231418
|
+
// "response_type": "DATA",
|
|
231419
|
+
// "channel": "TRADE",
|
|
231420
|
+
// "data": {
|
|
231421
|
+
// "quote_currency": "KRW",
|
|
231422
|
+
// "target_currency": "BTC",
|
|
231423
|
+
// "id": "1705303667916001",
|
|
231424
|
+
// "timestamp": 1705303667916,
|
|
231425
|
+
// "price": "58490000",
|
|
231426
|
+
// "qty": "0.0008",
|
|
231427
|
+
// "is_seller_maker": false
|
|
231428
|
+
// }
|
|
231429
|
+
// }
|
|
231430
|
+
//
|
|
231431
|
+
const data = this.safeValue(message, 'data', {});
|
|
231432
|
+
const trade = this.parseWsTrade(data);
|
|
231433
|
+
const symbol = trade['symbol'];
|
|
231434
|
+
let stored = this.safeValue(this.trades, symbol);
|
|
231435
|
+
if (stored === undefined) {
|
|
231436
|
+
const limit = this.safeInteger(this.options, 'tradesLimit', 1000);
|
|
231437
|
+
stored = new _base_ws_Cache_js__WEBPACK_IMPORTED_MODULE_2__/* .ArrayCache */ .ZL(limit);
|
|
231438
|
+
this.trades[symbol] = stored;
|
|
231439
|
+
}
|
|
231440
|
+
stored.append(trade);
|
|
231441
|
+
const messageHash = 'trade:' + symbol;
|
|
231442
|
+
client.resolve(stored, messageHash);
|
|
231443
|
+
}
|
|
231444
|
+
parseWsTrade(trade, market = undefined) {
|
|
231445
|
+
//
|
|
231446
|
+
// {
|
|
231447
|
+
// "quote_currency": "KRW",
|
|
231448
|
+
// "target_currency": "BTC",
|
|
231449
|
+
// "id": "1705303667916001",
|
|
231450
|
+
// "timestamp": 1705303667916,
|
|
231451
|
+
// "price": "58490000",
|
|
231452
|
+
// "qty": "0.0008",
|
|
231453
|
+
// "is_seller_maker": false
|
|
231454
|
+
// }
|
|
231455
|
+
//
|
|
231456
|
+
const baseId = this.safeStringUpper(trade, 'target_currency');
|
|
231457
|
+
const quoteId = this.safeStringUpper(trade, 'quote_currency');
|
|
231458
|
+
const base = this.safeCurrencyCode(baseId);
|
|
231459
|
+
const quote = this.safeCurrencyCode(quoteId);
|
|
231460
|
+
const symbol = base + '/' + quote;
|
|
231461
|
+
const timestamp = this.safeInteger(trade, 'timestamp');
|
|
231462
|
+
market = this.safeMarket(symbol, market);
|
|
231463
|
+
const isSellerMaker = this.safeValue(trade, 'is_seller_maker');
|
|
231464
|
+
let side = undefined;
|
|
231465
|
+
if (isSellerMaker !== undefined) {
|
|
231466
|
+
side = isSellerMaker ? 'sell' : 'buy';
|
|
231467
|
+
}
|
|
231468
|
+
const priceString = this.safeString(trade, 'price');
|
|
231469
|
+
const amountString = this.safeString(trade, 'qty');
|
|
231470
|
+
return this.safeTrade({
|
|
231471
|
+
'id': this.safeString(trade, 'id'),
|
|
231472
|
+
'info': trade,
|
|
231473
|
+
'timestamp': timestamp,
|
|
231474
|
+
'datetime': this.iso8601(timestamp),
|
|
231475
|
+
'order': undefined,
|
|
231476
|
+
'symbol': market['symbol'],
|
|
231477
|
+
'type': undefined,
|
|
231478
|
+
'side': side,
|
|
231479
|
+
'takerOrMaker': undefined,
|
|
231480
|
+
'price': priceString,
|
|
231481
|
+
'amount': amountString,
|
|
231482
|
+
'cost': undefined,
|
|
231483
|
+
'fee': undefined,
|
|
231484
|
+
}, market);
|
|
231485
|
+
}
|
|
231486
|
+
handleErrorMessage(client, message) {
|
|
231487
|
+
//
|
|
231488
|
+
// {
|
|
231489
|
+
// "response_type": "ERROR",
|
|
231490
|
+
// "error_code": 160012,
|
|
231491
|
+
// "message": "Invalid Topic"
|
|
231492
|
+
// }
|
|
231493
|
+
//
|
|
231494
|
+
const type = this.safeString(message, 'response_type', '');
|
|
231495
|
+
if (type === 'ERROR') {
|
|
231496
|
+
return true;
|
|
231497
|
+
}
|
|
231498
|
+
return false;
|
|
231499
|
+
}
|
|
231500
|
+
handleMessage(client, message) {
|
|
231501
|
+
if (this.handleErrorMessage(client, message)) {
|
|
231502
|
+
return;
|
|
231503
|
+
}
|
|
231504
|
+
const type = this.safeString(message, 'response_type');
|
|
231505
|
+
if (type === 'PONG') {
|
|
231506
|
+
this.handlePong(client, message);
|
|
231507
|
+
return;
|
|
231508
|
+
}
|
|
231509
|
+
if (type === 'DATA') {
|
|
231510
|
+
const topic = this.safeString(message, 'channel', '');
|
|
231511
|
+
const methods = {
|
|
231512
|
+
'ORDERBOOK': this.handleOrderBook,
|
|
231513
|
+
'TICKER': this.handleTicker,
|
|
231514
|
+
'TRADE': this.handleTrades,
|
|
231515
|
+
};
|
|
231516
|
+
const exacMethod = this.safeValue(methods, topic);
|
|
231517
|
+
if (exacMethod !== undefined) {
|
|
231518
|
+
exacMethod.call(this, client, message);
|
|
231519
|
+
return;
|
|
231520
|
+
}
|
|
231521
|
+
const keys = Object.keys(methods);
|
|
231522
|
+
for (let i = 0; i < keys.length; i++) {
|
|
231523
|
+
const key = keys[i];
|
|
231524
|
+
if (topic.indexOf(keys[i]) >= 0) {
|
|
231525
|
+
const method = methods[key];
|
|
231526
|
+
method.call(this, client, message);
|
|
231527
|
+
return;
|
|
231528
|
+
}
|
|
231529
|
+
}
|
|
231530
|
+
}
|
|
231531
|
+
}
|
|
231532
|
+
ping(client) {
|
|
231533
|
+
return {
|
|
231534
|
+
'request_type': 'PING',
|
|
231535
|
+
};
|
|
231536
|
+
}
|
|
231537
|
+
handlePong(client, message) {
|
|
231538
|
+
//
|
|
231539
|
+
// {
|
|
231540
|
+
// "response_type":"PONG"
|
|
231541
|
+
// }
|
|
231542
|
+
//
|
|
231543
|
+
client.lastPong = this.milliseconds();
|
|
231544
|
+
return message;
|
|
231545
|
+
}
|
|
231546
|
+
}
|
|
231547
|
+
|
|
231548
|
+
|
|
231091
231549
|
/***/ }),
|
|
231092
231550
|
|
|
231093
231551
|
/***/ 6820:
|
|
@@ -243713,7 +244171,13 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
243713
244171
|
const name = this.safeString2(params, 'method', 'watchTickerMethod', method);
|
|
243714
244172
|
params = this.omit(params, ['watchTickerMethod', 'method']);
|
|
243715
244173
|
symbols = this.marketSymbols(symbols, undefined, false);
|
|
243716
|
-
|
|
244174
|
+
const ticker = await this.subscribePublic(name, symbols, params);
|
|
244175
|
+
if (this.newUpdates) {
|
|
244176
|
+
const tickers = {};
|
|
244177
|
+
tickers[ticker['symbol']] = ticker;
|
|
244178
|
+
return tickers;
|
|
244179
|
+
}
|
|
244180
|
+
return this.filterByArray(this.tickers, 'symbol', symbols);
|
|
243717
244181
|
}
|
|
243718
244182
|
async watchTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
243719
244183
|
/**
|
|
@@ -293450,39 +293914,39 @@ var __webpack_exports__ = {};
|
|
|
293450
293914
|
(() => {
|
|
293451
293915
|
__webpack_require__.r(__webpack_exports__);
|
|
293452
293916
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
293453
|
-
/* harmony export */ AccountNotEnabled: () => (/* reexport safe */
|
|
293454
|
-
/* harmony export */ AccountSuspended: () => (/* reexport safe */
|
|
293455
|
-
/* harmony export */ AddressPending: () => (/* reexport safe */
|
|
293456
|
-
/* harmony export */ ArgumentsRequired: () => (/* reexport safe */
|
|
293457
|
-
/* harmony export */ AuthenticationError: () => (/* reexport safe */
|
|
293458
|
-
/* harmony export */ BadRequest: () => (/* reexport safe */
|
|
293459
|
-
/* harmony export */ BadResponse: () => (/* reexport safe */
|
|
293460
|
-
/* harmony export */ BadSymbol: () => (/* reexport safe */
|
|
293461
|
-
/* harmony export */ BaseError: () => (/* reexport safe */
|
|
293462
|
-
/* harmony export */ CancelPending: () => (/* reexport safe */
|
|
293463
|
-
/* harmony export */ DDoSProtection: () => (/* reexport safe */
|
|
293464
|
-
/* harmony export */ DuplicateOrderId: () => (/* reexport safe */
|
|
293917
|
+
/* harmony export */ AccountNotEnabled: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.AccountNotEnabled),
|
|
293918
|
+
/* harmony export */ AccountSuspended: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.AccountSuspended),
|
|
293919
|
+
/* harmony export */ AddressPending: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.AddressPending),
|
|
293920
|
+
/* harmony export */ ArgumentsRequired: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.ArgumentsRequired),
|
|
293921
|
+
/* harmony export */ AuthenticationError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.AuthenticationError),
|
|
293922
|
+
/* harmony export */ BadRequest: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.BadRequest),
|
|
293923
|
+
/* harmony export */ BadResponse: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.BadResponse),
|
|
293924
|
+
/* harmony export */ BadSymbol: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.BadSymbol),
|
|
293925
|
+
/* harmony export */ BaseError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.BaseError),
|
|
293926
|
+
/* harmony export */ CancelPending: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.CancelPending),
|
|
293927
|
+
/* harmony export */ DDoSProtection: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.DDoSProtection),
|
|
293928
|
+
/* harmony export */ DuplicateOrderId: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.DuplicateOrderId),
|
|
293465
293929
|
/* harmony export */ Exchange: () => (/* reexport safe */ _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__.e),
|
|
293466
|
-
/* harmony export */ ExchangeError: () => (/* reexport safe */
|
|
293467
|
-
/* harmony export */ ExchangeNotAvailable: () => (/* reexport safe */
|
|
293468
|
-
/* harmony export */ InsufficientFunds: () => (/* reexport safe */
|
|
293469
|
-
/* harmony export */ InvalidAddress: () => (/* reexport safe */
|
|
293470
|
-
/* harmony export */ InvalidNonce: () => (/* reexport safe */
|
|
293471
|
-
/* harmony export */ InvalidOrder: () => (/* reexport safe */
|
|
293472
|
-
/* harmony export */ MarginModeAlreadySet: () => (/* reexport safe */
|
|
293473
|
-
/* harmony export */ NetworkError: () => (/* reexport safe */
|
|
293474
|
-
/* harmony export */ NoChange: () => (/* reexport safe */
|
|
293475
|
-
/* harmony export */ NotSupported: () => (/* reexport safe */
|
|
293476
|
-
/* harmony export */ NullResponse: () => (/* reexport safe */
|
|
293477
|
-
/* harmony export */ OnMaintenance: () => (/* reexport safe */
|
|
293478
|
-
/* harmony export */ OrderImmediatelyFillable: () => (/* reexport safe */
|
|
293479
|
-
/* harmony export */ OrderNotCached: () => (/* reexport safe */
|
|
293480
|
-
/* harmony export */ OrderNotFillable: () => (/* reexport safe */
|
|
293481
|
-
/* harmony export */ OrderNotFound: () => (/* reexport safe */
|
|
293482
|
-
/* harmony export */ PermissionDenied: () => (/* reexport safe */
|
|
293483
|
-
/* harmony export */ Precise: () => (/* reexport safe */
|
|
293484
|
-
/* harmony export */ RateLimitExceeded: () => (/* reexport safe */
|
|
293485
|
-
/* harmony export */ RequestTimeout: () => (/* reexport safe */
|
|
293930
|
+
/* harmony export */ ExchangeError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.ExchangeError),
|
|
293931
|
+
/* harmony export */ ExchangeNotAvailable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.ExchangeNotAvailable),
|
|
293932
|
+
/* harmony export */ InsufficientFunds: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.InsufficientFunds),
|
|
293933
|
+
/* harmony export */ InvalidAddress: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.InvalidAddress),
|
|
293934
|
+
/* harmony export */ InvalidNonce: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.InvalidNonce),
|
|
293935
|
+
/* harmony export */ InvalidOrder: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.InvalidOrder),
|
|
293936
|
+
/* harmony export */ MarginModeAlreadySet: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.MarginModeAlreadySet),
|
|
293937
|
+
/* harmony export */ NetworkError: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.NetworkError),
|
|
293938
|
+
/* harmony export */ NoChange: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.NoChange),
|
|
293939
|
+
/* harmony export */ NotSupported: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.NotSupported),
|
|
293940
|
+
/* harmony export */ NullResponse: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.NullResponse),
|
|
293941
|
+
/* harmony export */ OnMaintenance: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.OnMaintenance),
|
|
293942
|
+
/* harmony export */ OrderImmediatelyFillable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.OrderImmediatelyFillable),
|
|
293943
|
+
/* harmony export */ OrderNotCached: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.OrderNotCached),
|
|
293944
|
+
/* harmony export */ OrderNotFillable: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.OrderNotFillable),
|
|
293945
|
+
/* harmony export */ OrderNotFound: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.OrderNotFound),
|
|
293946
|
+
/* harmony export */ PermissionDenied: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.PermissionDenied),
|
|
293947
|
+
/* harmony export */ Precise: () => (/* reexport safe */ _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_156__.O),
|
|
293948
|
+
/* harmony export */ RateLimitExceeded: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.RateLimitExceeded),
|
|
293949
|
+
/* harmony export */ RequestTimeout: () => (/* reexport safe */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__.RequestTimeout),
|
|
293486
293950
|
/* harmony export */ ace: () => (/* reexport safe */ _src_ace_js__WEBPACK_IMPORTED_MODULE_1__.Z),
|
|
293487
293951
|
/* harmony export */ alpaca: () => (/* reexport safe */ _src_alpaca_js__WEBPACK_IMPORTED_MODULE_2__.Z),
|
|
293488
293952
|
/* harmony export */ ascendex: () => (/* reexport safe */ _src_ascendex_js__WEBPACK_IMPORTED_MODULE_3__.Z),
|
|
@@ -293536,11 +294000,11 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
293536
294000
|
/* harmony export */ delta: () => (/* reexport safe */ _src_delta_js__WEBPACK_IMPORTED_MODULE_50__.Z),
|
|
293537
294001
|
/* harmony export */ deribit: () => (/* reexport safe */ _src_deribit_js__WEBPACK_IMPORTED_MODULE_51__.Z),
|
|
293538
294002
|
/* harmony export */ digifinex: () => (/* reexport safe */ _src_digifinex_js__WEBPACK_IMPORTED_MODULE_52__.Z),
|
|
293539
|
-
/* harmony export */ errors: () => (/* reexport module object */
|
|
294003
|
+
/* harmony export */ errors: () => (/* reexport module object */ _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__),
|
|
293540
294004
|
/* harmony export */ exchanges: () => (/* binding */ exchanges),
|
|
293541
294005
|
/* harmony export */ exmo: () => (/* reexport safe */ _src_exmo_js__WEBPACK_IMPORTED_MODULE_53__.Z),
|
|
293542
294006
|
/* harmony export */ fmfwio: () => (/* reexport safe */ _src_fmfwio_js__WEBPACK_IMPORTED_MODULE_54__.Z),
|
|
293543
|
-
/* harmony export */ functions: () => (/* reexport module object */
|
|
294007
|
+
/* harmony export */ functions: () => (/* reexport module object */ _src_base_functions_js__WEBPACK_IMPORTED_MODULE_157__),
|
|
293544
294008
|
/* harmony export */ gate: () => (/* reexport safe */ _src_gate_js__WEBPACK_IMPORTED_MODULE_55__.Z),
|
|
293545
294009
|
/* harmony export */ gateio: () => (/* reexport safe */ _src_gateio_js__WEBPACK_IMPORTED_MODULE_56__.Z),
|
|
293546
294010
|
/* harmony export */ gemini: () => (/* reexport safe */ _src_gemini_js__WEBPACK_IMPORTED_MODULE_57__.Z),
|
|
@@ -293589,9 +294053,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
293589
294053
|
/* harmony export */ zonda: () => (/* reexport safe */ _src_zonda_js__WEBPACK_IMPORTED_MODULE_98__.Z)
|
|
293590
294054
|
/* harmony export */ });
|
|
293591
294055
|
/* harmony import */ var _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3043);
|
|
293592
|
-
/* harmony import */ var
|
|
293593
|
-
/* harmony import */ var
|
|
293594
|
-
/* harmony import */ var
|
|
294056
|
+
/* harmony import */ var _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(2194);
|
|
294057
|
+
/* harmony import */ var _src_base_functions_js__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(7100);
|
|
294058
|
+
/* harmony import */ var _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(6689);
|
|
293595
294059
|
/* harmony import */ var _src_ace_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9869);
|
|
293596
294060
|
/* harmony import */ var _src_alpaca_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5660);
|
|
293597
294061
|
/* harmony import */ var _src_ascendex_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9612);
|
|
@@ -293715,37 +294179,38 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
293715
294179
|
/* harmony import */ var _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(3414);
|
|
293716
294180
|
/* harmony import */ var _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(8368);
|
|
293717
294181
|
/* harmony import */ var _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(204);
|
|
293718
|
-
/* harmony import */ var
|
|
293719
|
-
/* harmony import */ var
|
|
293720
|
-
/* harmony import */ var
|
|
293721
|
-
/* harmony import */ var
|
|
293722
|
-
/* harmony import */ var
|
|
293723
|
-
/* harmony import */ var
|
|
293724
|
-
/* harmony import */ var
|
|
293725
|
-
/* harmony import */ var
|
|
293726
|
-
/* harmony import */ var
|
|
293727
|
-
/* harmony import */ var
|
|
293728
|
-
/* harmony import */ var
|
|
293729
|
-
/* harmony import */ var
|
|
293730
|
-
/* harmony import */ var
|
|
293731
|
-
/* harmony import */ var
|
|
293732
|
-
/* harmony import */ var
|
|
293733
|
-
/* harmony import */ var
|
|
293734
|
-
/* harmony import */ var
|
|
293735
|
-
/* harmony import */ var
|
|
293736
|
-
/* harmony import */ var
|
|
293737
|
-
/* harmony import */ var
|
|
293738
|
-
/* harmony import */ var
|
|
293739
|
-
/* harmony import */ var
|
|
293740
|
-
/* harmony import */ var
|
|
293741
|
-
/* harmony import */ var
|
|
293742
|
-
/* harmony import */ var
|
|
293743
|
-
/* harmony import */ var
|
|
293744
|
-
/* harmony import */ var
|
|
293745
|
-
/* harmony import */ var
|
|
293746
|
-
/* harmony import */ var
|
|
293747
|
-
/* harmony import */ var
|
|
293748
|
-
/* harmony import */ var
|
|
294182
|
+
/* harmony import */ var _src_pro_coinone_js__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(5208);
|
|
294183
|
+
/* harmony import */ var _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(6820);
|
|
294184
|
+
/* harmony import */ var _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(2952);
|
|
294185
|
+
/* harmony import */ var _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(1788);
|
|
294186
|
+
/* harmony import */ var _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(9004);
|
|
294187
|
+
/* harmony import */ var _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(8335);
|
|
294188
|
+
/* harmony import */ var _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(1465);
|
|
294189
|
+
/* harmony import */ var _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(9488);
|
|
294190
|
+
/* harmony import */ var _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(5189);
|
|
294191
|
+
/* harmony import */ var _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(8559);
|
|
294192
|
+
/* harmony import */ var _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(7474);
|
|
294193
|
+
/* harmony import */ var _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(8384);
|
|
294194
|
+
/* harmony import */ var _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(9021);
|
|
294195
|
+
/* harmony import */ var _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(3484);
|
|
294196
|
+
/* harmony import */ var _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(1311);
|
|
294197
|
+
/* harmony import */ var _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(736);
|
|
294198
|
+
/* harmony import */ var _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(449);
|
|
294199
|
+
/* harmony import */ var _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(2387);
|
|
294200
|
+
/* harmony import */ var _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(7181);
|
|
294201
|
+
/* harmony import */ var _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(627);
|
|
294202
|
+
/* harmony import */ var _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(6484);
|
|
294203
|
+
/* harmony import */ var _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(8080);
|
|
294204
|
+
/* harmony import */ var _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(7105);
|
|
294205
|
+
/* harmony import */ var _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(2214);
|
|
294206
|
+
/* harmony import */ var _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(4360);
|
|
294207
|
+
/* harmony import */ var _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(7924);
|
|
294208
|
+
/* harmony import */ var _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(3541);
|
|
294209
|
+
/* harmony import */ var _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(9782);
|
|
294210
|
+
/* harmony import */ var _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(7614);
|
|
294211
|
+
/* harmony import */ var _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(4828);
|
|
294212
|
+
/* harmony import */ var _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(5630);
|
|
294213
|
+
/* harmony import */ var _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(3910);
|
|
293749
294214
|
/*
|
|
293750
294215
|
|
|
293751
294216
|
MIT License
|
|
@@ -293780,7 +294245,7 @@ SOFTWARE.
|
|
|
293780
294245
|
|
|
293781
294246
|
//-----------------------------------------------------------------------------
|
|
293782
294247
|
// this is updated by vss.js when building
|
|
293783
|
-
const version = '4.2.
|
|
294248
|
+
const version = '4.2.16';
|
|
293784
294249
|
_src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e.ccxtVersion = version;
|
|
293785
294250
|
//-----------------------------------------------------------------------------
|
|
293786
294251
|
|
|
@@ -293936,6 +294401,7 @@ _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e.ccxtVersion
|
|
|
293936
294401
|
|
|
293937
294402
|
|
|
293938
294403
|
|
|
294404
|
+
|
|
293939
294405
|
|
|
293940
294406
|
|
|
293941
294407
|
const exchanges = {
|
|
@@ -294064,37 +294530,38 @@ const pro = {
|
|
|
294064
294530
|
'coinbase': _src_pro_coinbase_js__WEBPACK_IMPORTED_MODULE_121__/* ["default"] */ .Z,
|
|
294065
294531
|
'coinbasepro': _src_pro_coinbasepro_js__WEBPACK_IMPORTED_MODULE_122__/* ["default"] */ .Z,
|
|
294066
294532
|
'coinex': _src_pro_coinex_js__WEBPACK_IMPORTED_MODULE_123__/* ["default"] */ .Z,
|
|
294067
|
-
'
|
|
294068
|
-
'
|
|
294069
|
-
'
|
|
294070
|
-
'
|
|
294071
|
-
'
|
|
294072
|
-
'
|
|
294073
|
-
'
|
|
294074
|
-
'
|
|
294075
|
-
'
|
|
294076
|
-
'
|
|
294077
|
-
'
|
|
294078
|
-
'
|
|
294079
|
-
'
|
|
294080
|
-
'
|
|
294081
|
-
'
|
|
294082
|
-
'
|
|
294083
|
-
'
|
|
294084
|
-
'
|
|
294085
|
-
'
|
|
294086
|
-
'
|
|
294087
|
-
'
|
|
294088
|
-
'
|
|
294089
|
-
'
|
|
294090
|
-
'
|
|
294091
|
-
'
|
|
294092
|
-
'
|
|
294093
|
-
'
|
|
294094
|
-
'
|
|
294095
|
-
'
|
|
294096
|
-
'
|
|
294097
|
-
'
|
|
294533
|
+
'coinone': _src_pro_coinone_js__WEBPACK_IMPORTED_MODULE_124__/* ["default"] */ .Z,
|
|
294534
|
+
'cryptocom': _src_pro_cryptocom_js__WEBPACK_IMPORTED_MODULE_125__/* ["default"] */ .Z,
|
|
294535
|
+
'currencycom': _src_pro_currencycom_js__WEBPACK_IMPORTED_MODULE_126__/* ["default"] */ .Z,
|
|
294536
|
+
'deribit': _src_pro_deribit_js__WEBPACK_IMPORTED_MODULE_127__/* ["default"] */ .Z,
|
|
294537
|
+
'exmo': _src_pro_exmo_js__WEBPACK_IMPORTED_MODULE_128__/* ["default"] */ .Z,
|
|
294538
|
+
'gate': _src_pro_gate_js__WEBPACK_IMPORTED_MODULE_129__/* ["default"] */ .Z,
|
|
294539
|
+
'gateio': _src_pro_gateio_js__WEBPACK_IMPORTED_MODULE_130__/* ["default"] */ .Z,
|
|
294540
|
+
'gemini': _src_pro_gemini_js__WEBPACK_IMPORTED_MODULE_131__/* ["default"] */ .Z,
|
|
294541
|
+
'hitbtc': _src_pro_hitbtc_js__WEBPACK_IMPORTED_MODULE_132__/* ["default"] */ .Z,
|
|
294542
|
+
'hollaex': _src_pro_hollaex_js__WEBPACK_IMPORTED_MODULE_133__/* ["default"] */ .Z,
|
|
294543
|
+
'htx': _src_pro_htx_js__WEBPACK_IMPORTED_MODULE_134__/* ["default"] */ .Z,
|
|
294544
|
+
'huobi': _src_pro_huobi_js__WEBPACK_IMPORTED_MODULE_135__/* ["default"] */ .Z,
|
|
294545
|
+
'huobijp': _src_pro_huobijp_js__WEBPACK_IMPORTED_MODULE_136__/* ["default"] */ .Z,
|
|
294546
|
+
'idex': _src_pro_idex_js__WEBPACK_IMPORTED_MODULE_137__/* ["default"] */ .Z,
|
|
294547
|
+
'independentreserve': _src_pro_independentreserve_js__WEBPACK_IMPORTED_MODULE_138__/* ["default"] */ .Z,
|
|
294548
|
+
'kraken': _src_pro_kraken_js__WEBPACK_IMPORTED_MODULE_139__/* ["default"] */ .Z,
|
|
294549
|
+
'krakenfutures': _src_pro_krakenfutures_js__WEBPACK_IMPORTED_MODULE_140__/* ["default"] */ .Z,
|
|
294550
|
+
'kucoin': _src_pro_kucoin_js__WEBPACK_IMPORTED_MODULE_141__/* ["default"] */ .Z,
|
|
294551
|
+
'kucoinfutures': _src_pro_kucoinfutures_js__WEBPACK_IMPORTED_MODULE_142__/* ["default"] */ .Z,
|
|
294552
|
+
'luno': _src_pro_luno_js__WEBPACK_IMPORTED_MODULE_143__/* ["default"] */ .Z,
|
|
294553
|
+
'mexc': _src_pro_mexc_js__WEBPACK_IMPORTED_MODULE_144__/* ["default"] */ .Z,
|
|
294554
|
+
'ndax': _src_pro_ndax_js__WEBPACK_IMPORTED_MODULE_145__/* ["default"] */ .Z,
|
|
294555
|
+
'okcoin': _src_pro_okcoin_js__WEBPACK_IMPORTED_MODULE_146__/* ["default"] */ .Z,
|
|
294556
|
+
'okx': _src_pro_okx_js__WEBPACK_IMPORTED_MODULE_147__/* ["default"] */ .Z,
|
|
294557
|
+
'phemex': _src_pro_phemex_js__WEBPACK_IMPORTED_MODULE_148__/* ["default"] */ .Z,
|
|
294558
|
+
'poloniex': _src_pro_poloniex_js__WEBPACK_IMPORTED_MODULE_149__/* ["default"] */ .Z,
|
|
294559
|
+
'poloniexfutures': _src_pro_poloniexfutures_js__WEBPACK_IMPORTED_MODULE_150__/* ["default"] */ .Z,
|
|
294560
|
+
'probit': _src_pro_probit_js__WEBPACK_IMPORTED_MODULE_151__/* ["default"] */ .Z,
|
|
294561
|
+
'upbit': _src_pro_upbit_js__WEBPACK_IMPORTED_MODULE_152__/* ["default"] */ .Z,
|
|
294562
|
+
'wazirx': _src_pro_wazirx_js__WEBPACK_IMPORTED_MODULE_153__/* ["default"] */ .Z,
|
|
294563
|
+
'whitebit': _src_pro_whitebit_js__WEBPACK_IMPORTED_MODULE_154__/* ["default"] */ .Z,
|
|
294564
|
+
'woo': _src_pro_woo_js__WEBPACK_IMPORTED_MODULE_155__/* ["default"] */ .Z,
|
|
294098
294565
|
};
|
|
294099
294566
|
for (const exchange in pro) {
|
|
294100
294567
|
// const ccxtExchange = exchanges[exchange]
|
|
@@ -294107,7 +294574,7 @@ for (const exchange in pro) {
|
|
|
294107
294574
|
pro.exchanges = Object.keys(pro);
|
|
294108
294575
|
pro['Exchange'] = _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e; // now the same for rest and ts
|
|
294109
294576
|
//-----------------------------------------------------------------------------
|
|
294110
|
-
const ccxt = Object.assign({ version, Exchange: _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e, Precise:
|
|
294577
|
+
const ccxt = Object.assign({ version, Exchange: _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e, Precise: _src_base_Precise_js__WEBPACK_IMPORTED_MODULE_156__/* .Precise */ .O, 'exchanges': Object.keys(exchanges), 'pro': pro }, exchanges, _src_base_functions_js__WEBPACK_IMPORTED_MODULE_157__, _src_base_errors_js__WEBPACK_IMPORTED_MODULE_158__);
|
|
294111
294578
|
|
|
294112
294579
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ccxt);
|
|
294113
294580
|
//-----------------------------------------------------------------------------
|