ccxt 4.1.13 → 4.1.14
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 +296 -106
- package/dist/ccxt.browser.min.js +3 -3
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/ascendex.js +1 -0
- package/dist/cjs/src/binance.js +6 -2
- package/dist/cjs/src/bingx.js +4 -2
- package/dist/cjs/src/bitget.js +192 -1
- package/dist/cjs/src/bitmart.js +2 -0
- package/dist/cjs/src/bittrex.js +6 -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 +2 -1
- 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 +1 -0
- 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/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 +9 -0
- package/dist/cjs/src/krakenfutures.js +1 -0
- package/dist/cjs/src/latoken.js +1 -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/woo.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/kraken.d.ts +8 -0
- package/js/src/abstract/poloniexfutures.d.ts +6 -1
- package/js/src/ascendex.js +1 -0
- package/js/src/binance.js +6 -2
- package/js/src/bingx.js +4 -2
- package/js/src/bitget.d.ts +28 -0
- package/js/src/bitget.js +192 -1
- package/js/src/bitmart.js +2 -0
- package/js/src/bittrex.d.ts +2 -2
- package/js/src/bittrex.js +6 -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 +2 -1
- 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.js +1 -0
- 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/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 +9 -0
- package/js/src/krakenfutures.js +1 -0
- package/js/src/latoken.js +1 -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/woo.js +1 -0
- package/package.json +1 -1
- package/skip-tests.json +33 -7
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
|
}
|
|
@@ -16262,7 +16263,8 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
16262
16263
|
'margin/exchange-small-liability-history': 0.6667,
|
|
16263
16264
|
'margin/next-hourly-interest-rate': 0.6667,
|
|
16264
16265
|
'margin/capital-flow': 10,
|
|
16265
|
-
'margin/delist-schedule':
|
|
16266
|
+
'margin/delist-schedule': 10,
|
|
16267
|
+
'margin/available-inventory': 0.3334,
|
|
16266
16268
|
'loan/vip/loanable/data': 40,
|
|
16267
16269
|
'loan/vip/collateral/data': 40,
|
|
16268
16270
|
'loan/vip/request/data': 2.6668,
|
|
@@ -16653,7 +16655,8 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
16653
16655
|
'premiumIndexKlines': { 'cost': 1, 'byLimit': [[99, 1], [499, 2], [1000, 5], [10000, 10]] },
|
|
16654
16656
|
'ticker/24hr': { 'cost': 1, 'noSymbol': 40 },
|
|
16655
16657
|
'ticker/price': { 'cost': 1, 'noSymbol': 2 },
|
|
16656
|
-
'ticker/bookTicker': { 'cost':
|
|
16658
|
+
'ticker/bookTicker': { 'cost': 2, 'noSymbol': 5 },
|
|
16659
|
+
'constituents': 2,
|
|
16657
16660
|
'openInterest': 1,
|
|
16658
16661
|
},
|
|
16659
16662
|
},
|
|
@@ -16738,6 +16741,8 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
16738
16741
|
'ticker/bookTicker': { 'cost': 1, 'noSymbol': 2 },
|
|
16739
16742
|
'openInterest': 1,
|
|
16740
16743
|
'indexInfo': 1,
|
|
16744
|
+
'assetIndex': { 'cost': 1, 'noSymbol': 10 },
|
|
16745
|
+
'constituents': 2,
|
|
16741
16746
|
'apiTradingStatus': { 'cost': 1, 'noSymbol': 10 },
|
|
16742
16747
|
'lvtKlines': 1,
|
|
16743
16748
|
},
|
|
@@ -28352,8 +28357,10 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
28352
28357
|
const network = this.safeString(transaction, 'network');
|
|
28353
28358
|
const currencyId = this.safeString(transaction, 'coin');
|
|
28354
28359
|
let code = this.safeCurrencyCode(currencyId, currency);
|
|
28355
|
-
if (code !== undefined && code.indexOf(network) >= 0) {
|
|
28356
|
-
|
|
28360
|
+
if ((code !== undefined) && (code !== network) && code.indexOf(network) >= 0) {
|
|
28361
|
+
if (network !== undefined) {
|
|
28362
|
+
code = code.replace(network, '');
|
|
28363
|
+
}
|
|
28357
28364
|
}
|
|
28358
28365
|
const rawType = this.safeString(transaction, 'transferType');
|
|
28359
28366
|
const type = (rawType === '0') ? 'deposit' : 'withdrawal';
|
|
@@ -38597,11 +38604,12 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
38597
38604
|
'has': {
|
|
38598
38605
|
'CORS': undefined,
|
|
38599
38606
|
'spot': true,
|
|
38600
|
-
'margin':
|
|
38607
|
+
'margin': undefined,
|
|
38601
38608
|
'swap': true,
|
|
38602
38609
|
'future': true,
|
|
38603
38610
|
'option': false,
|
|
38604
38611
|
'addMargin': true,
|
|
38612
|
+
'borrowMargin': true,
|
|
38605
38613
|
'cancelAllOrders': true,
|
|
38606
38614
|
'cancelOrder': true,
|
|
38607
38615
|
'cancelOrders': true,
|
|
@@ -38660,6 +38668,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
38660
38668
|
'fetchWithdrawal': false,
|
|
38661
38669
|
'fetchWithdrawals': true,
|
|
38662
38670
|
'reduceMargin': true,
|
|
38671
|
+
'repayMargin': true,
|
|
38663
38672
|
'setLeverage': true,
|
|
38664
38673
|
'setMarginMode': true,
|
|
38665
38674
|
'setPositionMode': true,
|
|
@@ -39864,6 +39873,7 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
39864
39873
|
'max': undefined,
|
|
39865
39874
|
},
|
|
39866
39875
|
},
|
|
39876
|
+
'created': undefined,
|
|
39867
39877
|
'info': market,
|
|
39868
39878
|
};
|
|
39869
39879
|
}
|
|
@@ -43770,6 +43780,194 @@ class bitget extends _abstract_bitget_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
43770
43780
|
'info': interest,
|
|
43771
43781
|
}, market);
|
|
43772
43782
|
}
|
|
43783
|
+
async borrowMargin(code, amount, symbol = undefined, params = {}) {
|
|
43784
|
+
/**
|
|
43785
|
+
* @method
|
|
43786
|
+
* @name bitget#borrowMargin
|
|
43787
|
+
* @description create a loan to borrow margin
|
|
43788
|
+
* @see https://bitgetlimited.github.io/apidoc/en/margin/#cross-borrow
|
|
43789
|
+
* @see https://bitgetlimited.github.io/apidoc/en/margin/#isolated-borrow
|
|
43790
|
+
* @param {string} code unified currency code of the currency to borrow
|
|
43791
|
+
* @param {string} amount the amount to borrow
|
|
43792
|
+
* @param {string} [symbol] unified market symbol
|
|
43793
|
+
* @param {object} [params] extra parameters specific to the bitget api endpoint
|
|
43794
|
+
* @param {string} [params.marginMode] 'isolated' or 'cross', symbol is required for 'isolated'
|
|
43795
|
+
* @returns {object} a [margin loan structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#margin-loan-structure}
|
|
43796
|
+
*/
|
|
43797
|
+
await this.loadMarkets();
|
|
43798
|
+
const currency = this.currency(code);
|
|
43799
|
+
const request = {
|
|
43800
|
+
'coin': currency['info']['coinName'],
|
|
43801
|
+
'borrowAmount': this.currencyToPrecision(code, amount),
|
|
43802
|
+
};
|
|
43803
|
+
let response = undefined;
|
|
43804
|
+
let marginMode = undefined;
|
|
43805
|
+
[marginMode, params] = this.handleMarginModeAndParams('borrowMargin', params);
|
|
43806
|
+
if ((symbol !== undefined) || (marginMode === 'isolated')) {
|
|
43807
|
+
this.checkRequiredSymbol('borrowMargin', symbol);
|
|
43808
|
+
const market = this.market(symbol);
|
|
43809
|
+
const marketId = market['id'];
|
|
43810
|
+
const parts = marketId.split('_');
|
|
43811
|
+
const marginMarketId = this.safeStringUpper(parts, 0);
|
|
43812
|
+
request['symbol'] = marginMarketId;
|
|
43813
|
+
response = await this.privateMarginPostIsolatedAccountBorrow(this.extend(request, params));
|
|
43814
|
+
}
|
|
43815
|
+
else {
|
|
43816
|
+
response = await this.privateMarginPostCrossAccountBorrow(this.extend(request, params));
|
|
43817
|
+
}
|
|
43818
|
+
//
|
|
43819
|
+
// isolated
|
|
43820
|
+
//
|
|
43821
|
+
// {
|
|
43822
|
+
// "code": "00000",
|
|
43823
|
+
// "msg": "success",
|
|
43824
|
+
// "requestTime": 1697250952516,
|
|
43825
|
+
// "data": {
|
|
43826
|
+
// "clientOid": null,
|
|
43827
|
+
// "symbol": "BTCUSDT",
|
|
43828
|
+
// "coin": "BTC",
|
|
43829
|
+
// "borrowAmount": "0.001"
|
|
43830
|
+
// }
|
|
43831
|
+
// }
|
|
43832
|
+
//
|
|
43833
|
+
// cross
|
|
43834
|
+
//
|
|
43835
|
+
// {
|
|
43836
|
+
// "code": "00000",
|
|
43837
|
+
// "msg": "success",
|
|
43838
|
+
// "requestTime": 1697251314271,
|
|
43839
|
+
// "data": {
|
|
43840
|
+
// "clientOid": null,
|
|
43841
|
+
// "coin": "BTC",
|
|
43842
|
+
// "borrowAmount": "0.0001"
|
|
43843
|
+
// }
|
|
43844
|
+
// }
|
|
43845
|
+
//
|
|
43846
|
+
const data = this.safeValue(response, 'data', {});
|
|
43847
|
+
return this.parseMarginLoan(data, currency);
|
|
43848
|
+
}
|
|
43849
|
+
async repayMargin(code, amount, symbol = undefined, params = {}) {
|
|
43850
|
+
/**
|
|
43851
|
+
* @method
|
|
43852
|
+
* @name bitget#repayMargin
|
|
43853
|
+
* @description repay borrowed margin and interest
|
|
43854
|
+
* @see https://bitgetlimited.github.io/apidoc/en/margin/#cross-repay
|
|
43855
|
+
* @see https://bitgetlimited.github.io/apidoc/en/margin/#isolated-repay
|
|
43856
|
+
* @param {string} code unified currency code of the currency to repay
|
|
43857
|
+
* @param {string} amount the amount to repay
|
|
43858
|
+
* @param {string} [symbol] unified market symbol
|
|
43859
|
+
* @param {object} [params] extra parameters specific to the bitget api endpoint
|
|
43860
|
+
* @param {string} [params.marginMode] 'isolated' or 'cross', symbol is required for 'isolated'
|
|
43861
|
+
* @returns {object} a [margin loan structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#margin-loan-structure}
|
|
43862
|
+
*/
|
|
43863
|
+
await this.loadMarkets();
|
|
43864
|
+
const currency = this.currency(code);
|
|
43865
|
+
const request = {
|
|
43866
|
+
'coin': currency['info']['coinName'],
|
|
43867
|
+
'repayAmount': this.currencyToPrecision(code, amount),
|
|
43868
|
+
};
|
|
43869
|
+
let response = undefined;
|
|
43870
|
+
let marginMode = undefined;
|
|
43871
|
+
[marginMode, params] = this.handleMarginModeAndParams('repayMargin', params);
|
|
43872
|
+
if ((symbol !== undefined) || (marginMode === 'isolated')) {
|
|
43873
|
+
this.checkRequiredSymbol('repayMargin', symbol);
|
|
43874
|
+
const market = this.market(symbol);
|
|
43875
|
+
const marketId = market['id'];
|
|
43876
|
+
const parts = marketId.split('_');
|
|
43877
|
+
const marginMarketId = this.safeStringUpper(parts, 0);
|
|
43878
|
+
request['symbol'] = marginMarketId;
|
|
43879
|
+
response = await this.privateMarginPostIsolatedAccountRepay(this.extend(request, params));
|
|
43880
|
+
}
|
|
43881
|
+
else {
|
|
43882
|
+
response = await this.privateMarginPostCrossAccountRepay(this.extend(request, params));
|
|
43883
|
+
}
|
|
43884
|
+
//
|
|
43885
|
+
// isolated
|
|
43886
|
+
//
|
|
43887
|
+
// {
|
|
43888
|
+
// "code": "00000",
|
|
43889
|
+
// "msg": "success",
|
|
43890
|
+
// "requestTime": 1697251988593,
|
|
43891
|
+
// "data": {
|
|
43892
|
+
// "remainDebtAmount": "0",
|
|
43893
|
+
// "clientOid": null,
|
|
43894
|
+
// "symbol": "BTCUSDT",
|
|
43895
|
+
// "coin": "BTC",
|
|
43896
|
+
// "repayAmount": "0.00100001"
|
|
43897
|
+
// }
|
|
43898
|
+
// }
|
|
43899
|
+
//
|
|
43900
|
+
// cross
|
|
43901
|
+
//
|
|
43902
|
+
// {
|
|
43903
|
+
// "code": "00000",
|
|
43904
|
+
// "msg": "success",
|
|
43905
|
+
// "requestTime": 1697252151042,
|
|
43906
|
+
// "data": {
|
|
43907
|
+
// "remainDebtAmount": "0",
|
|
43908
|
+
// "clientOid": null,
|
|
43909
|
+
// "coin": "BTC",
|
|
43910
|
+
// "repayAmount": "0.00010001"
|
|
43911
|
+
// }
|
|
43912
|
+
// }
|
|
43913
|
+
//
|
|
43914
|
+
const data = this.safeValue(response, 'data', {});
|
|
43915
|
+
return this.parseMarginLoan(data, currency);
|
|
43916
|
+
}
|
|
43917
|
+
parseMarginLoan(info, currency = undefined) {
|
|
43918
|
+
//
|
|
43919
|
+
// isolated: borrowMargin
|
|
43920
|
+
//
|
|
43921
|
+
// {
|
|
43922
|
+
// "clientOid": null,
|
|
43923
|
+
// "symbol": "BTCUSDT",
|
|
43924
|
+
// "coin": "BTC",
|
|
43925
|
+
// "borrowAmount": "0.001"
|
|
43926
|
+
// }
|
|
43927
|
+
//
|
|
43928
|
+
// cross: borrowMargin
|
|
43929
|
+
//
|
|
43930
|
+
// {
|
|
43931
|
+
// "clientOid": null,
|
|
43932
|
+
// "coin": "BTC",
|
|
43933
|
+
// "borrowAmount": "0.0001"
|
|
43934
|
+
// }
|
|
43935
|
+
//
|
|
43936
|
+
// isolated: repayMargin
|
|
43937
|
+
//
|
|
43938
|
+
// {
|
|
43939
|
+
// "remainDebtAmount": "0",
|
|
43940
|
+
// "clientOid": null,
|
|
43941
|
+
// "symbol": "BTCUSDT",
|
|
43942
|
+
// "coin": "BTC",
|
|
43943
|
+
// "repayAmount": "0.00100001"
|
|
43944
|
+
// }
|
|
43945
|
+
//
|
|
43946
|
+
// cross: repayMargin
|
|
43947
|
+
//
|
|
43948
|
+
// {
|
|
43949
|
+
// "remainDebtAmount": "0",
|
|
43950
|
+
// "clientOid": null,
|
|
43951
|
+
// "coin": "BTC",
|
|
43952
|
+
// "repayAmount": "0.00010001"
|
|
43953
|
+
// }
|
|
43954
|
+
//
|
|
43955
|
+
const currencyId = this.safeString(info, 'coin');
|
|
43956
|
+
const marketId = this.safeString(info, 'symbol');
|
|
43957
|
+
let symbol = undefined;
|
|
43958
|
+
if (marketId !== undefined) {
|
|
43959
|
+
symbol = this.safeSymbol(marketId);
|
|
43960
|
+
}
|
|
43961
|
+
return {
|
|
43962
|
+
'id': this.safeString(info, 'clientOid'),
|
|
43963
|
+
'currency': this.safeCurrencyCode(currencyId, currency),
|
|
43964
|
+
'amount': this.safeNumber2(info, 'borrowAmount', 'repayAmount'),
|
|
43965
|
+
'symbol': symbol,
|
|
43966
|
+
'timestamp': undefined,
|
|
43967
|
+
'datetime': undefined,
|
|
43968
|
+
'info': info,
|
|
43969
|
+
};
|
|
43970
|
+
}
|
|
43773
43971
|
handleErrors(code, reason, url, method, headers, body, response, requestHeaders, requestBody) {
|
|
43774
43972
|
if (!response) {
|
|
43775
43973
|
return undefined; // fallback to default error handler
|
|
@@ -45746,6 +45944,7 @@ class bitmart extends _abstract_bitmart_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
45746
45944
|
'max': undefined,
|
|
45747
45945
|
},
|
|
45748
45946
|
},
|
|
45947
|
+
'created': undefined,
|
|
45749
45948
|
'info': market,
|
|
45750
45949
|
});
|
|
45751
45950
|
}
|
|
@@ -45852,6 +46051,7 @@ class bitmart extends _abstract_bitmart_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
45852
46051
|
'max': undefined,
|
|
45853
46052
|
},
|
|
45854
46053
|
},
|
|
46054
|
+
'created': this.safeInteger(market, 'open_timestamp'),
|
|
45855
46055
|
'info': market,
|
|
45856
46056
|
});
|
|
45857
46057
|
}
|
|
@@ -62948,8 +63148,14 @@ class bittrex extends _abstract_bittrex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
62948
63148
|
* @param {int} [since] timestamp in ms of the earliest candle to fetch
|
|
62949
63149
|
* @param {int} [limit] the maximum amount of candles to fetch
|
|
62950
63150
|
* @param {object} [params] extra parameters specific to the bittrex api endpoint
|
|
63151
|
+
* @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
63152
|
* @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
|
|
62952
63153
|
*/
|
|
63154
|
+
let paginate = false;
|
|
63155
|
+
[paginate, params] = this.handleOptionAndParams(params, 'fetchOHLCV', 'paginate', false);
|
|
63156
|
+
if (paginate) {
|
|
63157
|
+
return await this.fetchPaginatedCallDeterministic('fetchOHLCV', symbol, since, limit, timeframe, params, 1440);
|
|
63158
|
+
}
|
|
62953
63159
|
await this.loadMarkets();
|
|
62954
63160
|
const market = this.market(symbol);
|
|
62955
63161
|
const reverseId = market['baseId'] + '-' + market['quoteId'];
|
|
@@ -80169,6 +80375,7 @@ class cex extends _abstract_cex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
|
|
|
80169
80375
|
'max': undefined,
|
|
80170
80376
|
},
|
|
80171
80377
|
},
|
|
80378
|
+
'created': undefined,
|
|
80172
80379
|
'info': market,
|
|
80173
80380
|
});
|
|
80174
80381
|
}
|
|
@@ -82431,6 +82638,7 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
|
|
|
82431
82638
|
'max': this.safeNumber(market, 'quote_max_size'),
|
|
82432
82639
|
},
|
|
82433
82640
|
},
|
|
82641
|
+
'created': undefined,
|
|
82434
82642
|
'info': market,
|
|
82435
82643
|
});
|
|
82436
82644
|
}
|
|
@@ -84819,6 +85027,7 @@ class coinbasepro extends _abstract_coinbasepro_js__WEBPACK_IMPORTED_MODULE_0__/
|
|
|
84819
85027
|
'max': undefined,
|
|
84820
85028
|
},
|
|
84821
85029
|
},
|
|
85030
|
+
'created': undefined,
|
|
84822
85031
|
'info': market,
|
|
84823
85032
|
}));
|
|
84824
85033
|
}
|
|
@@ -87691,6 +87900,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
87691
87900
|
'max': undefined,
|
|
87692
87901
|
},
|
|
87693
87902
|
},
|
|
87903
|
+
'created': undefined,
|
|
87694
87904
|
'info': market,
|
|
87695
87905
|
});
|
|
87696
87906
|
}
|
|
@@ -87787,6 +87997,7 @@ class coinex extends _abstract_coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
87787
87997
|
'max': undefined,
|
|
87788
87998
|
},
|
|
87789
87999
|
},
|
|
88000
|
+
'created': undefined,
|
|
87790
88001
|
'info': entry,
|
|
87791
88002
|
});
|
|
87792
88003
|
}
|
|
@@ -92238,6 +92449,7 @@ class coinfalcon extends _abstract_coinfalcon_js__WEBPACK_IMPORTED_MODULE_0__/*
|
|
|
92238
92449
|
'max': undefined,
|
|
92239
92450
|
},
|
|
92240
92451
|
},
|
|
92452
|
+
'created': undefined,
|
|
92241
92453
|
'info': market,
|
|
92242
92454
|
});
|
|
92243
92455
|
}
|
|
@@ -93336,6 +93548,7 @@ class coinmate extends _abstract_coinmate_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
|
|
|
93336
93548
|
'max': undefined,
|
|
93337
93549
|
},
|
|
93338
93550
|
},
|
|
93551
|
+
'created': undefined,
|
|
93339
93552
|
'info': market,
|
|
93340
93553
|
});
|
|
93341
93554
|
}
|
|
@@ -94271,6 +94484,7 @@ class coinone extends _abstract_coinone_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
94271
94484
|
'max': undefined,
|
|
94272
94485
|
},
|
|
94273
94486
|
},
|
|
94487
|
+
'created': undefined,
|
|
94274
94488
|
'info': ticker,
|
|
94275
94489
|
});
|
|
94276
94490
|
}
|
|
@@ -94928,7 +95142,7 @@ class coinone extends _abstract_coinone_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
94928
95142
|
const payload = this.stringToBase64(json);
|
|
94929
95143
|
body = payload;
|
|
94930
95144
|
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);
|
|
95145
|
+
const signature = this.hmac(this.encode(payload), this.encode(secret), _static_dependencies_noble_hashes_sha512_js__WEBPACK_IMPORTED_MODULE_4__/* .sha512 */ .o);
|
|
94932
95146
|
headers = {
|
|
94933
95147
|
'Content-Type': 'application/json',
|
|
94934
95148
|
'X-COINONE-PAYLOAD': payload,
|
|
@@ -97507,11 +97721,11 @@ class cryptocom extends _abstract_cryptocom_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
97507
97721
|
'fetchAccounts': true,
|
|
97508
97722
|
'fetchBalance': true,
|
|
97509
97723
|
'fetchBidsAsks': false,
|
|
97510
|
-
'fetchBorrowInterest':
|
|
97724
|
+
'fetchBorrowInterest': false,
|
|
97511
97725
|
'fetchBorrowRate': false,
|
|
97512
97726
|
'fetchBorrowRateHistories': false,
|
|
97513
97727
|
'fetchBorrowRateHistory': false,
|
|
97514
|
-
'fetchBorrowRates':
|
|
97728
|
+
'fetchBorrowRates': false,
|
|
97515
97729
|
'fetchClosedOrders': 'emulated',
|
|
97516
97730
|
'fetchCurrencies': false,
|
|
97517
97731
|
'fetchDepositAddress': true,
|
|
@@ -97805,6 +98019,7 @@ class cryptocom extends _abstract_cryptocom_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
97805
98019
|
'precisionMode': _base_functions_number_js__WEBPACK_IMPORTED_MODULE_1__/* .TICK_SIZE */ .sh,
|
|
97806
98020
|
'exceptions': {
|
|
97807
98021
|
'exact': {
|
|
98022
|
+
'219': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
|
|
97808
98023
|
'10001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
|
|
97809
98024
|
'10002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
|
|
97810
98025
|
'10003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
|
|
@@ -98034,6 +98249,7 @@ class cryptocom extends _abstract_cryptocom_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
98034
98249
|
'max': undefined,
|
|
98035
98250
|
},
|
|
98036
98251
|
},
|
|
98252
|
+
'created': undefined,
|
|
98037
98253
|
'info': market,
|
|
98038
98254
|
});
|
|
98039
98255
|
}
|
|
@@ -98526,7 +98742,7 @@ class cryptocom extends _abstract_cryptocom_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
98526
98742
|
}
|
|
98527
98743
|
const postOnly = this.safeValue(params, 'postOnly', false);
|
|
98528
98744
|
if ((postOnly) || (timeInForce === 'PO')) {
|
|
98529
|
-
request['exec_inst'] = 'POST_ONLY';
|
|
98745
|
+
request['exec_inst'] = ['POST_ONLY'];
|
|
98530
98746
|
request['time_in_force'] = 'GOOD_TILL_CANCEL';
|
|
98531
98747
|
}
|
|
98532
98748
|
const triggerPrice = this.safeStringN(params, ['stopPrice', 'triggerPrice', 'ref_price']);
|
|
@@ -99334,8 +99550,8 @@ class cryptocom extends _abstract_cryptocom_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
99334
99550
|
'close': last,
|
|
99335
99551
|
'last': last,
|
|
99336
99552
|
'previousClose': undefined,
|
|
99337
|
-
'change':
|
|
99338
|
-
'percentage':
|
|
99553
|
+
'change': undefined,
|
|
99554
|
+
'percentage': this.safeString(ticker, 'c'),
|
|
99339
99555
|
'average': undefined,
|
|
99340
99556
|
'baseVolume': this.safeString(ticker, 'v'),
|
|
99341
99557
|
'quoteVolume': this.safeString(ticker, 'vv'),
|
|
@@ -99479,10 +99695,16 @@ class cryptocom extends _abstract_cryptocom_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
99479
99695
|
const created = this.safeInteger(order, 'create_time');
|
|
99480
99696
|
const marketId = this.safeString(order, 'instrument_name');
|
|
99481
99697
|
const symbol = this.safeSymbol(marketId, market);
|
|
99482
|
-
const execInst = this.
|
|
99483
|
-
let postOnly =
|
|
99698
|
+
const execInst = this.safeValue(order, 'exec_inst');
|
|
99699
|
+
let postOnly = false;
|
|
99484
99700
|
if (execInst !== undefined) {
|
|
99485
|
-
|
|
99701
|
+
for (let i = 0; i < execInst.length; i++) {
|
|
99702
|
+
const inst = execInst[i];
|
|
99703
|
+
if (inst === 'POST_ONLY') {
|
|
99704
|
+
postOnly = true;
|
|
99705
|
+
break;
|
|
99706
|
+
}
|
|
99707
|
+
}
|
|
99486
99708
|
}
|
|
99487
99709
|
const feeCurrency = this.safeString(order, 'fee_instrument_name');
|
|
99488
99710
|
return this.safeOrder({
|
|
@@ -99715,52 +99937,6 @@ class cryptocom extends _abstract_cryptocom_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
99715
99937
|
'info': info,
|
|
99716
99938
|
};
|
|
99717
99939
|
}
|
|
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
99940
|
parseBorrowInterest(info, market = undefined) {
|
|
99765
99941
|
//
|
|
99766
99942
|
// {
|
|
@@ -99789,38 +99965,6 @@ class cryptocom extends _abstract_cryptocom_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
99789
99965
|
'info': info,
|
|
99790
99966
|
};
|
|
99791
99967
|
}
|
|
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
99968
|
parseBorrowRates(info, codeKey) {
|
|
99825
99969
|
//
|
|
99826
99970
|
// {
|
|
@@ -100493,7 +100637,15 @@ class cryptocom extends _abstract_cryptocom_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
100493
100637
|
const paramsKeys = Object.keys(keysorted);
|
|
100494
100638
|
let strSortKey = '';
|
|
100495
100639
|
for (let i = 0; i < paramsKeys.length; i++) {
|
|
100496
|
-
|
|
100640
|
+
const key = paramsKeys[i].toString();
|
|
100641
|
+
let value = requestParams[paramsKeys[i]];
|
|
100642
|
+
if (Array.isArray(value)) {
|
|
100643
|
+
value = value.join(',');
|
|
100644
|
+
}
|
|
100645
|
+
else {
|
|
100646
|
+
value = value.toString();
|
|
100647
|
+
}
|
|
100648
|
+
strSortKey = strSortKey + key + value;
|
|
100497
100649
|
}
|
|
100498
100650
|
const payload = path + nonce + this.apiKey + strSortKey + nonce;
|
|
100499
100651
|
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 +101265,7 @@ class currencycom extends _abstract_currencycom_js__WEBPACK_IMPORTED_MODULE_0__/
|
|
|
101113
101265
|
'max': undefined,
|
|
101114
101266
|
},
|
|
101115
101267
|
},
|
|
101268
|
+
'created': undefined,
|
|
101116
101269
|
'info': market,
|
|
101117
101270
|
});
|
|
101118
101271
|
}
|
|
@@ -103374,6 +103527,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
|
|
|
103374
103527
|
'max': undefined,
|
|
103375
103528
|
},
|
|
103376
103529
|
},
|
|
103530
|
+
'created': this.parse8601(this.safeString(market, 'launch_time')),
|
|
103377
103531
|
'info': market,
|
|
103378
103532
|
});
|
|
103379
103533
|
}
|
|
@@ -106452,6 +106606,7 @@ class deribit extends _abstract_deribit_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
106452
106606
|
'max': undefined,
|
|
106453
106607
|
},
|
|
106454
106608
|
},
|
|
106609
|
+
'created': this.safeInteger(market, 'creation_timestamp'),
|
|
106455
106610
|
'info': market,
|
|
106456
106611
|
});
|
|
106457
106612
|
}
|
|
@@ -109441,6 +109596,7 @@ class digifinex extends _abstract_digifinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["
|
|
|
109441
109596
|
'max': undefined,
|
|
109442
109597
|
},
|
|
109443
109598
|
},
|
|
109599
|
+
'created': undefined,
|
|
109444
109600
|
'info': market,
|
|
109445
109601
|
});
|
|
109446
109602
|
}
|
|
@@ -113511,6 +113667,7 @@ class exmo extends _abstract_exmo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
|
|
|
113511
113667
|
'max': this.safeNumber(market, 'max_amount'),
|
|
113512
113668
|
},
|
|
113513
113669
|
},
|
|
113670
|
+
'created': undefined,
|
|
113514
113671
|
'info': market,
|
|
113515
113672
|
});
|
|
113516
113673
|
}
|
|
@@ -116469,6 +116626,7 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
|
|
|
116469
116626
|
'max': margin ? this.safeNumber(market, 'max_quote_amount') : undefined,
|
|
116470
116627
|
},
|
|
116471
116628
|
},
|
|
116629
|
+
'created': undefined,
|
|
116472
116630
|
'info': market,
|
|
116473
116631
|
});
|
|
116474
116632
|
}
|
|
@@ -116666,6 +116824,7 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
|
|
|
116666
116824
|
'max': undefined,
|
|
116667
116825
|
},
|
|
116668
116826
|
},
|
|
116827
|
+
'created': undefined,
|
|
116669
116828
|
'info': market,
|
|
116670
116829
|
};
|
|
116671
116830
|
}
|
|
@@ -116786,6 +116945,7 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
|
|
|
116786
116945
|
'max': undefined,
|
|
116787
116946
|
},
|
|
116788
116947
|
},
|
|
116948
|
+
'created': this.safeIntegerProduct(market, 'create_time', 1000),
|
|
116789
116949
|
'info': market,
|
|
116790
116950
|
});
|
|
116791
116951
|
}
|
|
@@ -122587,6 +122747,7 @@ class gemini extends _abstract_gemini_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
122587
122747
|
'max': undefined,
|
|
122588
122748
|
},
|
|
122589
122749
|
},
|
|
122750
|
+
'created': undefined,
|
|
122590
122751
|
'info': response,
|
|
122591
122752
|
};
|
|
122592
122753
|
}
|
|
@@ -124475,6 +124636,7 @@ class hitbtc extends _abstract_hitbtc_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
124475
124636
|
'max': undefined,
|
|
124476
124637
|
},
|
|
124477
124638
|
},
|
|
124639
|
+
'created': undefined,
|
|
124478
124640
|
'info': market,
|
|
124479
124641
|
});
|
|
124480
124642
|
}
|
|
@@ -127214,6 +127376,7 @@ class hollaex extends _abstract_hollaex_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
127214
127376
|
'max': undefined,
|
|
127215
127377
|
},
|
|
127216
127378
|
},
|
|
127379
|
+
'created': this.parse8601(this.safeString(market, 'created_at')),
|
|
127217
127380
|
'info': market,
|
|
127218
127381
|
});
|
|
127219
127382
|
}
|
|
@@ -137648,6 +137811,7 @@ class huobijp extends _abstract_huobijp_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
137648
137811
|
'max': undefined,
|
|
137649
137812
|
},
|
|
137650
137813
|
},
|
|
137814
|
+
'created': undefined,
|
|
137651
137815
|
'info': market,
|
|
137652
137816
|
});
|
|
137653
137817
|
}
|
|
@@ -139369,6 +139533,7 @@ class idex extends _abstract_idex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
|
|
|
139369
139533
|
'max': undefined,
|
|
139370
139534
|
},
|
|
139371
139535
|
},
|
|
139536
|
+
'created': undefined,
|
|
139372
139537
|
'info': entry,
|
|
139373
139538
|
});
|
|
139374
139539
|
}
|
|
@@ -141035,6 +141200,7 @@ class independentreserve extends _abstract_independentreserve_js__WEBPACK_IMPORT
|
|
|
141035
141200
|
'max': undefined,
|
|
141036
141201
|
},
|
|
141037
141202
|
},
|
|
141203
|
+
'created': undefined,
|
|
141038
141204
|
'info': id,
|
|
141039
141205
|
});
|
|
141040
141206
|
}
|
|
@@ -141867,6 +142033,7 @@ class indodax extends _abstract_indodax_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
141867
142033
|
'max': undefined,
|
|
141868
142034
|
},
|
|
141869
142035
|
},
|
|
142036
|
+
'created': undefined,
|
|
141870
142037
|
'info': market,
|
|
141871
142038
|
});
|
|
141872
142039
|
}
|
|
@@ -142818,6 +142985,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
142818
142985
|
'Depth': 1,
|
|
142819
142986
|
'OHLC': 1,
|
|
142820
142987
|
'Spread': 1,
|
|
142988
|
+
'SystemStatus': 1,
|
|
142821
142989
|
'Ticker': 1,
|
|
142822
142990
|
'Time': 1,
|
|
142823
142991
|
'Trades': 1,
|
|
@@ -142830,6 +142998,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
142830
142998
|
'AddExport': 3,
|
|
142831
142999
|
'Balance': 3,
|
|
142832
143000
|
'CancelAll': 3,
|
|
143001
|
+
'CancelAllOrdersAfter': 3,
|
|
142833
143002
|
'CancelOrder': 0,
|
|
142834
143003
|
'CancelOrderBatch': 0,
|
|
142835
143004
|
'ClosedOrders': 6,
|
|
@@ -142865,6 +143034,13 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
|
|
|
142865
143034
|
// sub accounts
|
|
142866
143035
|
'CreateSubaccount': 3,
|
|
142867
143036
|
'AccountTransfer': 3,
|
|
143037
|
+
// earn
|
|
143038
|
+
'Earn/Allocate': 3,
|
|
143039
|
+
'Earn/Deallocate': 3,
|
|
143040
|
+
'Earn/AllocateStatus': 3,
|
|
143041
|
+
'Earn/DeallocateStatus': 3,
|
|
143042
|
+
'Earn/Strategies': 3,
|
|
143043
|
+
'Earn/Allocations': 3,
|
|
142868
143044
|
},
|
|
142869
143045
|
},
|
|
142870
143046
|
},
|
|
@@ -145739,6 +145915,7 @@ class krakenfutures extends _abstract_krakenfutures_js__WEBPACK_IMPORTED_MODULE_
|
|
|
145739
145915
|
'max': undefined,
|
|
145740
145916
|
},
|
|
145741
145917
|
},
|
|
145918
|
+
'created': this.parse8601(this.safeString(market, 'openingDate')),
|
|
145742
145919
|
'info': market,
|
|
145743
145920
|
});
|
|
145744
145921
|
}
|
|
@@ -155564,6 +155741,7 @@ class latoken extends _abstract_latoken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
|
|
|
155564
155741
|
'max': this.safeNumber(market, 'maxOrderCost' + capitalizedQuote),
|
|
155565
155742
|
},
|
|
155566
155743
|
},
|
|
155744
|
+
'created': this.safeInteger(market, 'created'),
|
|
155567
155745
|
'info': market,
|
|
155568
155746
|
});
|
|
155569
155747
|
}
|
|
@@ -190638,6 +190816,7 @@ class poloniex extends _abstract_poloniex_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
|
|
|
190638
190816
|
'max': undefined,
|
|
190639
190817
|
},
|
|
190640
190818
|
},
|
|
190819
|
+
'created': this.safeInteger(market, 'tradableStartTime'),
|
|
190641
190820
|
'info': market,
|
|
190642
190821
|
});
|
|
190643
190822
|
}
|
|
@@ -192525,22 +192704,27 @@ class poloniexfutures extends _abstract_poloniexfutures_js__WEBPACK_IMPORTED_MOD
|
|
|
192525
192704
|
'get': {
|
|
192526
192705
|
'account-overview': 1,
|
|
192527
192706
|
'transaction-history': 1,
|
|
192707
|
+
'maxActiveOrders': 1,
|
|
192708
|
+
'maxRiskLimit': 1,
|
|
192709
|
+
'userFeeRate': 1,
|
|
192710
|
+
'marginType/query': 1,
|
|
192528
192711
|
'orders': 1,
|
|
192529
192712
|
'stopOrders': 1,
|
|
192530
192713
|
'recentDoneOrders': 1,
|
|
192531
192714
|
'orders/{order-id}': 1,
|
|
192715
|
+
'clientOrderId/{clientOid}': 1,
|
|
192532
192716
|
'fills': 1,
|
|
192533
192717
|
'openOrderStatistics': 1,
|
|
192534
192718
|
'position': 1.5,
|
|
192535
192719
|
'positions': 1.5,
|
|
192536
192720
|
'funding-history': 1,
|
|
192537
|
-
'marginType/query': 1,
|
|
192538
192721
|
},
|
|
192539
192722
|
'post': {
|
|
192540
192723
|
'orders': 1.5,
|
|
192541
192724
|
'batchOrders': 1.5,
|
|
192542
192725
|
'position/margin/auto-deposit-status': 1.5,
|
|
192543
192726
|
'position/margin/deposit-margin': 1.5,
|
|
192727
|
+
'position/margin/withdraw-margin': 1.5,
|
|
192544
192728
|
'bullet-private': 1,
|
|
192545
192729
|
'marginType/change': 1,
|
|
192546
192730
|
},
|
|
@@ -192757,6 +192941,7 @@ class poloniexfutures extends _abstract_poloniexfutures_js__WEBPACK_IMPORTED_MOD
|
|
|
192757
192941
|
'max': undefined,
|
|
192758
192942
|
},
|
|
192759
192943
|
},
|
|
192944
|
+
'created': this.safeInteger(market, 'firstOpenDate'),
|
|
192760
192945
|
'info': market,
|
|
192761
192946
|
});
|
|
192762
192947
|
}
|
|
@@ -193681,7 +193866,7 @@ class poloniexfutures extends _abstract_poloniexfutures_js__WEBPACK_IMPORTED_MOD
|
|
|
193681
193866
|
}
|
|
193682
193867
|
const request = {};
|
|
193683
193868
|
if (!stop) {
|
|
193684
|
-
request['status'] = status === 'open' ? 'active' : 'done';
|
|
193869
|
+
request['status'] = (status === 'open') ? 'active' : 'done';
|
|
193685
193870
|
}
|
|
193686
193871
|
else if (status !== 'open') {
|
|
193687
193872
|
throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest(this.id + ' fetchOrdersByStatus() can only fetch untriggered stop orders');
|
|
@@ -227516,6 +227701,9 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
227516
227701
|
};
|
|
227517
227702
|
const marketIds = [];
|
|
227518
227703
|
let messageHash = name;
|
|
227704
|
+
if (symbols === undefined) {
|
|
227705
|
+
symbols = [];
|
|
227706
|
+
}
|
|
227519
227707
|
for (let i = 0; i < symbols.length; i++) {
|
|
227520
227708
|
const symbol = symbols[i];
|
|
227521
227709
|
marketIds.push(this.marketId(symbol));
|
|
@@ -227581,6 +227769,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
227581
227769
|
const method = this.safeString(this.options, 'watchTickerMethod', 'ticker'); // or ticker_lite
|
|
227582
227770
|
const name = this.safeString2(params, 'method', 'watchTickerMethod', method);
|
|
227583
227771
|
params = this.omit(params, ['watchTickerMethod', 'method']);
|
|
227772
|
+
symbols = this.marketSymbols(symbols, undefined, false);
|
|
227584
227773
|
return await this.subscribePublic(name, symbols, params);
|
|
227585
227774
|
}
|
|
227586
227775
|
async watchTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -227732,7 +227921,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
227732
227921
|
// }
|
|
227733
227922
|
//
|
|
227734
227923
|
const channel = this.safeString(message, 'feed');
|
|
227735
|
-
const marketId = this.
|
|
227924
|
+
const marketId = this.safeString(message, 'product_id');
|
|
227736
227925
|
if (marketId !== undefined) {
|
|
227737
227926
|
const market = this.market(marketId);
|
|
227738
227927
|
const symbol = market['symbol'];
|
|
@@ -227773,7 +227962,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
227773
227962
|
// "price": 34893
|
|
227774
227963
|
// }
|
|
227775
227964
|
//
|
|
227776
|
-
const marketId = this.
|
|
227965
|
+
const marketId = this.safeString(trade, 'product_id');
|
|
227777
227966
|
market = this.safeMarket(marketId, market);
|
|
227778
227967
|
const timestamp = this.safeInteger(trade, 'time');
|
|
227779
227968
|
return this.safeTrade({
|
|
@@ -227826,7 +228015,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
227826
228015
|
// }
|
|
227827
228016
|
//
|
|
227828
228017
|
const timestamp = this.safeInteger(trade, 'tradeTime');
|
|
227829
|
-
const marketId = this.
|
|
228018
|
+
const marketId = this.safeString(trade, 'symbol');
|
|
227830
228019
|
return this.safeTrade({
|
|
227831
228020
|
'info': trade,
|
|
227832
228021
|
'id': this.safeString(trade, 'tradeId'),
|
|
@@ -227905,7 +228094,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
227905
228094
|
}
|
|
227906
228095
|
const order = this.safeValue(message, 'order');
|
|
227907
228096
|
if (order !== undefined) {
|
|
227908
|
-
const marketId = this.
|
|
228097
|
+
const marketId = this.safeString(order, 'instrument');
|
|
227909
228098
|
const messageHash = 'orders';
|
|
227910
228099
|
const symbol = this.safeSymbol(marketId);
|
|
227911
228100
|
const orderId = this.safeString(order, 'order_id');
|
|
@@ -228098,7 +228287,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
228098
228287
|
status = 'cancelled';
|
|
228099
228288
|
}
|
|
228100
228289
|
}
|
|
228101
|
-
const marketId = this.
|
|
228290
|
+
const marketId = this.safeString(unparsedOrder, 'instrument');
|
|
228102
228291
|
const timestamp = this.safeString(unparsedOrder, 'time');
|
|
228103
228292
|
const direction = this.safeInteger(unparsedOrder, 'direction');
|
|
228104
228293
|
return this.safeOrder({
|
|
@@ -228179,7 +228368,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
228179
228368
|
// "volumeQuote": 6899673.0
|
|
228180
228369
|
// }
|
|
228181
228370
|
//
|
|
228182
|
-
const marketId = this.
|
|
228371
|
+
const marketId = this.safeString(message, 'product_id');
|
|
228183
228372
|
const feed = this.safeString(message, 'feed');
|
|
228184
228373
|
if (marketId !== undefined) {
|
|
228185
228374
|
const ticker = this.parseWsTicker(message);
|
|
@@ -228240,7 +228429,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
228240
228429
|
// "volumeQuote": 6899673.0
|
|
228241
228430
|
// }
|
|
228242
228431
|
//
|
|
228243
|
-
const marketId = this.
|
|
228432
|
+
const marketId = this.safeString(ticker, 'product_id');
|
|
228244
228433
|
market = this.safeMarket(marketId, market);
|
|
228245
228434
|
const symbol = market['symbol'];
|
|
228246
228435
|
const timestamp = this.parse8601(this.safeString(ticker, 'lastTime'));
|
|
@@ -228298,7 +228487,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
228298
228487
|
// ]
|
|
228299
228488
|
// }
|
|
228300
228489
|
//
|
|
228301
|
-
const marketId = this.
|
|
228490
|
+
const marketId = this.safeString(message, 'product_id');
|
|
228302
228491
|
const market = this.safeMarket(marketId);
|
|
228303
228492
|
const symbol = market['symbol'];
|
|
228304
228493
|
const messageHash = 'book:' + symbol;
|
|
@@ -228338,7 +228527,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
228338
228527
|
// "timestamp": 1612269953629
|
|
228339
228528
|
// }
|
|
228340
228529
|
//
|
|
228341
|
-
const marketId = this.
|
|
228530
|
+
const marketId = this.safeString(message, 'product_id');
|
|
228342
228531
|
const market = this.safeMarket(marketId);
|
|
228343
228532
|
const symbol = market['symbol'];
|
|
228344
228533
|
const messageHash = 'book:' + symbol;
|
|
@@ -228642,7 +228831,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
|
|
|
228642
228831
|
// }
|
|
228643
228832
|
//
|
|
228644
228833
|
const timestamp = this.safeInteger(trade, 'time');
|
|
228645
|
-
const marketId = this.
|
|
228834
|
+
const marketId = this.safeString(trade, 'instrument');
|
|
228646
228835
|
market = this.safeMarket(marketId, market);
|
|
228647
228836
|
const isBuy = this.safeValue(trade, 'buy');
|
|
228648
228837
|
const feeCurrencyId = this.safeString(trade, 'fee_currency');
|
|
@@ -265796,6 +265985,7 @@ class woo extends _abstract_woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
|
|
|
265796
265985
|
'max': undefined,
|
|
265797
265986
|
},
|
|
265798
265987
|
},
|
|
265988
|
+
'created': this.safeIntegerProduct(market, 'created_time', 1000),
|
|
265799
265989
|
'info': market,
|
|
265800
265990
|
});
|
|
265801
265991
|
}
|
|
@@ -277545,7 +277735,7 @@ SOFTWARE.
|
|
|
277545
277735
|
|
|
277546
277736
|
//-----------------------------------------------------------------------------
|
|
277547
277737
|
// this is updated by vss.js when building
|
|
277548
|
-
const version = '4.1.
|
|
277738
|
+
const version = '4.1.14';
|
|
277549
277739
|
_src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange.ccxtVersion */ .e.ccxtVersion = version;
|
|
277550
277740
|
//-----------------------------------------------------------------------------
|
|
277551
277741
|
|