ccxt 4.2.84 → 4.2.86
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 +5 -5
- package/dist/ccxt.browser.js +1226 -1104
- package/dist/ccxt.browser.min.js +4 -4
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/ace.js +5 -5
- package/dist/cjs/src/ascendex.js +8 -8
- package/dist/cjs/src/base/Exchange.js +76 -14
- package/dist/cjs/src/bigone.js +12 -12
- package/dist/cjs/src/binance.js +23 -35
- package/dist/cjs/src/bingx.js +47 -28
- package/dist/cjs/src/bit2c.js +1 -1
- package/dist/cjs/src/bitbank.js +27 -31
- package/dist/cjs/src/bitbns.js +5 -5
- package/dist/cjs/src/bitfinex.js +1 -1
- package/dist/cjs/src/bitfinex2.js +1 -1
- package/dist/cjs/src/bitget.js +30 -24
- package/dist/cjs/src/bithumb.js +5 -5
- package/dist/cjs/src/bitmart.js +16 -16
- package/dist/cjs/src/bitopro.js +1 -1
- package/dist/cjs/src/bitrue.js +4 -4
- package/dist/cjs/src/bitso.js +5 -5
- package/dist/cjs/src/bitstamp.js +1 -1
- package/dist/cjs/src/bitteam.js +8 -8
- package/dist/cjs/src/bl3p.js +1 -1
- package/dist/cjs/src/btcturk.js +6 -6
- package/dist/cjs/src/bybit.js +31 -95
- package/dist/cjs/src/coincheck.js +4 -4
- package/dist/cjs/src/coinex.js +408 -262
- package/dist/cjs/src/coinlist.js +7 -7
- package/dist/cjs/src/coinmate.js +4 -4
- package/dist/cjs/src/coinmetro.js +3 -3
- package/dist/cjs/src/coinone.js +5 -5
- package/dist/cjs/src/coinspot.js +2 -2
- package/dist/cjs/src/cryptocom.js +17 -17
- package/dist/cjs/src/currencycom.js +1 -1
- package/dist/cjs/src/delta.js +0 -8
- package/dist/cjs/src/deribit.js +16 -92
- package/dist/cjs/src/digifinex.js +8 -8
- package/dist/cjs/src/exmo.js +8 -8
- package/dist/cjs/src/gate.js +0 -8
- package/dist/cjs/src/hitbtc.js +5 -4
- package/dist/cjs/src/hollaex.js +7 -7
- package/dist/cjs/src/htx.js +7 -7
- package/dist/cjs/src/huobijp.js +3 -3
- package/dist/cjs/src/idex.js +12 -13
- package/dist/cjs/src/independentreserve.js +2 -2
- package/dist/cjs/src/indodax.js +2 -2
- package/dist/cjs/src/kraken.js +8 -8
- package/dist/cjs/src/krakenfutures.js +6 -6
- package/dist/cjs/src/kucoin.js +5 -1
- package/dist/cjs/src/kucoinfutures.js +8 -8
- package/dist/cjs/src/kuna.js +16 -16
- package/dist/cjs/src/latoken.js +2 -2
- package/dist/cjs/src/lbank.js +10 -10
- package/dist/cjs/src/luno.js +4 -4
- package/dist/cjs/src/mercado.js +5 -5
- package/dist/cjs/src/mexc.js +6 -6
- package/dist/cjs/src/ndax.js +1 -1
- package/dist/cjs/src/novadax.js +9 -9
- package/dist/cjs/src/oceanex.js +7 -7
- package/dist/cjs/src/okcoin.js +16 -14
- package/dist/cjs/src/okx.js +23 -31
- package/dist/cjs/src/onetrading.js +4 -4
- package/dist/cjs/src/p2b.js +7 -7
- package/dist/cjs/src/phemex.js +12 -12
- package/dist/cjs/src/poloniexfutures.js +5 -5
- package/dist/cjs/src/pro/binance.js +167 -121
- package/dist/cjs/src/pro/bitget.js +1 -0
- package/dist/cjs/src/pro/kucoin.js +6 -7
- package/dist/cjs/src/pro/okx.js +19 -2
- package/dist/cjs/src/probit.js +11 -11
- package/dist/cjs/src/timex.js +7 -7
- package/dist/cjs/src/tokocrypto.js +9 -9
- package/dist/cjs/src/wavesexchange.js +3 -3
- package/dist/cjs/src/whitebit.js +5 -5
- package/dist/cjs/src/woo.js +1 -1
- package/dist/cjs/src/zaif.js +1 -1
- package/dist/cjs/src/zonda.js +7 -7
- package/examples/js/cli.js +0 -1
- package/examples/ts/cli.ts +0 -1
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/coinex.d.ts +232 -123
- package/js/src/ace.js +5 -5
- package/js/src/ascendex.js +8 -8
- package/js/src/base/Exchange.d.ts +13 -12
- package/js/src/base/Exchange.js +76 -14
- package/js/src/bigone.js +12 -12
- package/js/src/binance.d.ts +0 -1
- package/js/src/binance.js +23 -35
- package/js/src/bingx.js +47 -28
- package/js/src/bit2c.js +1 -1
- package/js/src/bitbank.js +27 -31
- package/js/src/bitbns.js +5 -5
- package/js/src/bitfinex.js +1 -1
- package/js/src/bitfinex2.js +1 -1
- package/js/src/bitget.js +30 -24
- package/js/src/bithumb.js +5 -5
- package/js/src/bitmart.js +16 -16
- package/js/src/bitopro.js +1 -1
- package/js/src/bitrue.js +4 -4
- package/js/src/bitso.js +5 -5
- package/js/src/bitstamp.js +1 -1
- package/js/src/bitteam.js +8 -8
- package/js/src/bl3p.js +1 -1
- package/js/src/btcturk.js +6 -6
- package/js/src/bybit.d.ts +0 -3
- package/js/src/bybit.js +31 -95
- package/js/src/coincheck.js +4 -4
- package/js/src/coinex.d.ts +1 -1
- package/js/src/coinex.js +408 -262
- package/js/src/coinlist.js +7 -7
- package/js/src/coinmate.js +4 -4
- package/js/src/coinmetro.js +3 -3
- package/js/src/coinone.js +5 -5
- package/js/src/coinspot.js +2 -2
- package/js/src/cryptocom.js +17 -17
- package/js/src/currencycom.js +1 -1
- package/js/src/delta.d.ts +0 -1
- package/js/src/delta.js +0 -8
- package/js/src/deribit.d.ts +0 -3
- package/js/src/deribit.js +16 -92
- package/js/src/digifinex.js +8 -8
- package/js/src/exmo.js +8 -8
- package/js/src/gate.d.ts +0 -1
- package/js/src/gate.js +0 -8
- package/js/src/hitbtc.js +5 -4
- package/js/src/hollaex.js +7 -7
- package/js/src/htx.js +7 -7
- package/js/src/huobijp.js +3 -3
- package/js/src/idex.js +12 -13
- package/js/src/independentreserve.js +2 -2
- package/js/src/indodax.js +2 -2
- package/js/src/kraken.js +8 -8
- package/js/src/krakenfutures.js +6 -6
- package/js/src/kucoin.js +5 -1
- package/js/src/kucoinfutures.js +8 -8
- package/js/src/kuna.js +16 -16
- package/js/src/latoken.js +2 -2
- package/js/src/lbank.js +10 -10
- package/js/src/luno.js +4 -4
- package/js/src/mercado.js +5 -5
- package/js/src/mexc.js +6 -6
- package/js/src/ndax.js +1 -1
- package/js/src/novadax.js +9 -9
- package/js/src/oceanex.js +7 -7
- package/js/src/okcoin.js +16 -14
- package/js/src/okx.d.ts +0 -1
- package/js/src/okx.js +23 -31
- package/js/src/onetrading.js +4 -4
- package/js/src/p2b.js +7 -7
- package/js/src/phemex.js +12 -12
- package/js/src/poloniexfutures.js +5 -5
- package/js/src/pro/binance.d.ts +5 -1
- package/js/src/pro/binance.js +168 -122
- package/js/src/pro/bitget.js +1 -0
- package/js/src/pro/kucoin.js +6 -7
- package/js/src/pro/okx.js +19 -2
- package/js/src/probit.js +11 -11
- package/js/src/timex.js +7 -7
- package/js/src/tokocrypto.js +9 -9
- package/js/src/wavesexchange.js +3 -3
- package/js/src/whitebit.js +5 -5
- package/js/src/woo.js +1 -1
- package/js/src/zaif.js +1 -1
- package/js/src/zonda.js +7 -7
- package/package.json +1 -1
- package/skip-tests.json +4 -0
package/dist/cjs/ccxt.js
CHANGED
|
@@ -182,7 +182,7 @@ var woo$1 = require('./src/pro/woo.js');
|
|
|
182
182
|
|
|
183
183
|
//-----------------------------------------------------------------------------
|
|
184
184
|
// this is updated by vss.js when building
|
|
185
|
-
const version = '4.2.
|
|
185
|
+
const version = '4.2.86';
|
|
186
186
|
Exchange["default"].ccxtVersion = version;
|
|
187
187
|
const exchanges = {
|
|
188
188
|
'ace': ace,
|
package/dist/cjs/src/ace.js
CHANGED
|
@@ -398,7 +398,7 @@ class ace extends ace$1 {
|
|
|
398
398
|
// "status": 200
|
|
399
399
|
// }
|
|
400
400
|
//
|
|
401
|
-
const orderBook = this.
|
|
401
|
+
const orderBook = this.safeDict(response, 'attachment');
|
|
402
402
|
return this.parseOrderBook(orderBook, market['symbol'], undefined, 'bids', 'asks');
|
|
403
403
|
}
|
|
404
404
|
parseOHLCV(ohlcv, market = undefined) {
|
|
@@ -620,7 +620,7 @@ class ace extends ace$1 {
|
|
|
620
620
|
// "status": 200
|
|
621
621
|
// }
|
|
622
622
|
//
|
|
623
|
-
const data = this.
|
|
623
|
+
const data = this.safeDict(response, 'attachment');
|
|
624
624
|
return this.parseOrder(data, market);
|
|
625
625
|
}
|
|
626
626
|
async cancelOrder(id, symbol = undefined, params = {}) {
|
|
@@ -686,7 +686,7 @@ class ace extends ace$1 {
|
|
|
686
686
|
// "status": 200
|
|
687
687
|
// }
|
|
688
688
|
//
|
|
689
|
-
const data = this.
|
|
689
|
+
const data = this.safeDict(response, 'attachment');
|
|
690
690
|
return this.parseOrder(data, undefined);
|
|
691
691
|
}
|
|
692
692
|
async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -879,7 +879,7 @@ class ace extends ace$1 {
|
|
|
879
879
|
// }
|
|
880
880
|
//
|
|
881
881
|
const data = this.safeValue(response, 'attachment');
|
|
882
|
-
const trades = this.
|
|
882
|
+
const trades = this.safeList(data, 'trades', []);
|
|
883
883
|
return this.parseTrades(trades, market, since, limit);
|
|
884
884
|
}
|
|
885
885
|
async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -938,7 +938,7 @@ class ace extends ace$1 {
|
|
|
938
938
|
// "status": 200
|
|
939
939
|
// }
|
|
940
940
|
//
|
|
941
|
-
const trades = this.
|
|
941
|
+
const trades = this.safeList(response, 'attachment', []);
|
|
942
942
|
return this.parseTrades(trades, market, since, limit);
|
|
943
943
|
}
|
|
944
944
|
parseBalance(response) {
|
package/dist/cjs/src/ascendex.js
CHANGED
|
@@ -1031,7 +1031,7 @@ class ascendex extends ascendex$1 {
|
|
|
1031
1031
|
// }
|
|
1032
1032
|
// }
|
|
1033
1033
|
//
|
|
1034
|
-
const data = this.
|
|
1034
|
+
const data = this.safeDict(response, 'data', {});
|
|
1035
1035
|
return this.parseTicker(data, market);
|
|
1036
1036
|
}
|
|
1037
1037
|
async fetchTickers(symbols = undefined, params = {}) {
|
|
@@ -1170,7 +1170,7 @@ class ascendex extends ascendex$1 {
|
|
|
1170
1170
|
// ]
|
|
1171
1171
|
// }
|
|
1172
1172
|
//
|
|
1173
|
-
const data = this.
|
|
1173
|
+
const data = this.safeList(response, 'data', []);
|
|
1174
1174
|
return this.parseOHLCVs(data, market, timeframe, since, limit);
|
|
1175
1175
|
}
|
|
1176
1176
|
parseTrade(trade, market = undefined) {
|
|
@@ -1243,7 +1243,7 @@ class ascendex extends ascendex$1 {
|
|
|
1243
1243
|
// }
|
|
1244
1244
|
//
|
|
1245
1245
|
const records = this.safeValue(response, 'data', []);
|
|
1246
|
-
const trades = this.
|
|
1246
|
+
const trades = this.safeList(records, 'data', []);
|
|
1247
1247
|
return this.parseTrades(trades, market, since, limit);
|
|
1248
1248
|
}
|
|
1249
1249
|
parseOrderStatus(status) {
|
|
@@ -1771,7 +1771,7 @@ class ascendex extends ascendex$1 {
|
|
|
1771
1771
|
// }
|
|
1772
1772
|
//
|
|
1773
1773
|
const data = this.safeValue(response, 'data', {});
|
|
1774
|
-
const info = this.
|
|
1774
|
+
const info = this.safeList(data, 'info', []);
|
|
1775
1775
|
return this.parseOrders(info, market);
|
|
1776
1776
|
}
|
|
1777
1777
|
async fetchOrder(id, symbol = undefined, params = {}) {
|
|
@@ -1879,7 +1879,7 @@ class ascendex extends ascendex$1 {
|
|
|
1879
1879
|
// }
|
|
1880
1880
|
// }
|
|
1881
1881
|
//
|
|
1882
|
-
const data = this.
|
|
1882
|
+
const data = this.safeDict(response, 'data', {});
|
|
1883
1883
|
return this.parseOrder(data, market);
|
|
1884
1884
|
}
|
|
1885
1885
|
async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -2569,7 +2569,7 @@ class ascendex extends ascendex$1 {
|
|
|
2569
2569
|
// }
|
|
2570
2570
|
//
|
|
2571
2571
|
const data = this.safeValue(response, 'data', {});
|
|
2572
|
-
const transactions = this.
|
|
2572
|
+
const transactions = this.safeList(data, 'data', []);
|
|
2573
2573
|
return this.parseTransactions(transactions, currency, since, limit);
|
|
2574
2574
|
}
|
|
2575
2575
|
parseTransactionStatus(status) {
|
|
@@ -3128,7 +3128,7 @@ class ascendex extends ascendex$1 {
|
|
|
3128
3128
|
*/
|
|
3129
3129
|
await this.loadMarkets();
|
|
3130
3130
|
const response = await this.v2PublicGetAssets(params);
|
|
3131
|
-
const data = this.
|
|
3131
|
+
const data = this.safeList(response, 'data');
|
|
3132
3132
|
return this.parseDepositWithdrawFees(data, codes, 'assetCode');
|
|
3133
3133
|
}
|
|
3134
3134
|
async transfer(code, amount, fromAccount, toAccount, params = {}) {
|
|
@@ -3254,7 +3254,7 @@ class ascendex extends ascendex$1 {
|
|
|
3254
3254
|
// }
|
|
3255
3255
|
//
|
|
3256
3256
|
const data = this.safeValue(response, 'data', {});
|
|
3257
|
-
const rows = this.
|
|
3257
|
+
const rows = this.safeList(data, 'data', []);
|
|
3258
3258
|
return this.parseIncomes(rows, market, since, limit);
|
|
3259
3259
|
}
|
|
3260
3260
|
parseIncome(income, market = undefined) {
|
|
@@ -3901,20 +3901,6 @@ class Exchange {
|
|
|
3901
3901
|
async fetchStatus(params = {}) {
|
|
3902
3902
|
throw new errors.NotSupported(this.id + ' fetchStatus() is not supported yet');
|
|
3903
3903
|
}
|
|
3904
|
-
async fetchFundingFee(code, params = {}) {
|
|
3905
|
-
const warnOnFetchFundingFee = this.safeBool(this.options, 'warnOnFetchFundingFee', true);
|
|
3906
|
-
if (warnOnFetchFundingFee) {
|
|
3907
|
-
throw new errors.NotSupported(this.id + ' fetchFundingFee() method is deprecated, it will be removed in July 2022, please, use fetchTransactionFee() or set exchange.options["warnOnFetchFundingFee"] = false to suppress this warning');
|
|
3908
|
-
}
|
|
3909
|
-
return await this.fetchTransactionFee(code, params);
|
|
3910
|
-
}
|
|
3911
|
-
async fetchFundingFees(codes = undefined, params = {}) {
|
|
3912
|
-
const warnOnFetchFundingFees = this.safeBool(this.options, 'warnOnFetchFundingFees', true);
|
|
3913
|
-
if (warnOnFetchFundingFees) {
|
|
3914
|
-
throw new errors.NotSupported(this.id + ' fetchFundingFees() method is deprecated, it will be removed in July 2022. Please, use fetchTransactionFees() or set exchange.options["warnOnFetchFundingFees"] = false to suppress this warning');
|
|
3915
|
-
}
|
|
3916
|
-
return await this.fetchTransactionFees(codes, params);
|
|
3917
|
-
}
|
|
3918
3904
|
async fetchTransactionFee(code, params = {}) {
|
|
3919
3905
|
if (!this.has['fetchTransactionFees']) {
|
|
3920
3906
|
throw new errors.NotSupported(this.id + ' fetchTransactionFee() is not supported yet');
|
|
@@ -5720,6 +5706,82 @@ class Exchange {
|
|
|
5720
5706
|
parseLeverage(leverage, market = undefined) {
|
|
5721
5707
|
throw new errors.NotSupported(this.id + ' parseLeverage() is not supported yet');
|
|
5722
5708
|
}
|
|
5709
|
+
convertExpireDate(date) {
|
|
5710
|
+
// parse YYMMDD to datetime string
|
|
5711
|
+
const year = date.slice(0, 2);
|
|
5712
|
+
const month = date.slice(2, 4);
|
|
5713
|
+
const day = date.slice(4, 6);
|
|
5714
|
+
const reconstructedDate = '20' + year + '-' + month + '-' + day + 'T00:00:00Z';
|
|
5715
|
+
return reconstructedDate;
|
|
5716
|
+
}
|
|
5717
|
+
convertExpireDateToMarketIdDate(date) {
|
|
5718
|
+
// parse 240119 to 19JAN24
|
|
5719
|
+
const year = date.slice(0, 2);
|
|
5720
|
+
const monthRaw = date.slice(2, 4);
|
|
5721
|
+
let month = undefined;
|
|
5722
|
+
const day = date.slice(4, 6);
|
|
5723
|
+
if (monthRaw === '01') {
|
|
5724
|
+
month = 'JAN';
|
|
5725
|
+
}
|
|
5726
|
+
else if (monthRaw === '02') {
|
|
5727
|
+
month = 'FEB';
|
|
5728
|
+
}
|
|
5729
|
+
else if (monthRaw === '03') {
|
|
5730
|
+
month = 'MAR';
|
|
5731
|
+
}
|
|
5732
|
+
else if (monthRaw === '04') {
|
|
5733
|
+
month = 'APR';
|
|
5734
|
+
}
|
|
5735
|
+
else if (monthRaw === '05') {
|
|
5736
|
+
month = 'MAY';
|
|
5737
|
+
}
|
|
5738
|
+
else if (monthRaw === '06') {
|
|
5739
|
+
month = 'JUN';
|
|
5740
|
+
}
|
|
5741
|
+
else if (monthRaw === '07') {
|
|
5742
|
+
month = 'JUL';
|
|
5743
|
+
}
|
|
5744
|
+
else if (monthRaw === '08') {
|
|
5745
|
+
month = 'AUG';
|
|
5746
|
+
}
|
|
5747
|
+
else if (monthRaw === '09') {
|
|
5748
|
+
month = 'SEP';
|
|
5749
|
+
}
|
|
5750
|
+
else if (monthRaw === '10') {
|
|
5751
|
+
month = 'OCT';
|
|
5752
|
+
}
|
|
5753
|
+
else if (monthRaw === '11') {
|
|
5754
|
+
month = 'NOV';
|
|
5755
|
+
}
|
|
5756
|
+
else if (monthRaw === '12') {
|
|
5757
|
+
month = 'DEC';
|
|
5758
|
+
}
|
|
5759
|
+
const reconstructedDate = day + month + year;
|
|
5760
|
+
return reconstructedDate;
|
|
5761
|
+
}
|
|
5762
|
+
convertMarketIdExpireDate(date) {
|
|
5763
|
+
// parse 19JAN24 to 240119
|
|
5764
|
+
const monthMappping = {
|
|
5765
|
+
'JAN': '01',
|
|
5766
|
+
'FEB': '02',
|
|
5767
|
+
'MAR': '03',
|
|
5768
|
+
'APR': '04',
|
|
5769
|
+
'MAY': '05',
|
|
5770
|
+
'JUN': '06',
|
|
5771
|
+
'JUL': '07',
|
|
5772
|
+
'AUG': '08',
|
|
5773
|
+
'SEP': '09',
|
|
5774
|
+
'OCT': '10',
|
|
5775
|
+
'NOV': '11',
|
|
5776
|
+
'DEC': '12',
|
|
5777
|
+
};
|
|
5778
|
+
const year = date.slice(0, 2);
|
|
5779
|
+
const monthName = date.slice(2, 5);
|
|
5780
|
+
const month = this.safeString(monthMappping, monthName);
|
|
5781
|
+
const day = date.slice(5, 7);
|
|
5782
|
+
const reconstructedDate = day + month + year;
|
|
5783
|
+
return reconstructedDate;
|
|
5784
|
+
}
|
|
5723
5785
|
}
|
|
5724
5786
|
|
|
5725
5787
|
exports.Exchange = Exchange;
|
package/dist/cjs/src/bigone.js
CHANGED
|
@@ -811,7 +811,7 @@ class bigone extends bigone$1 {
|
|
|
811
811
|
// }
|
|
812
812
|
// }
|
|
813
813
|
//
|
|
814
|
-
const ticker = this.
|
|
814
|
+
const ticker = this.safeDict(response, 'data', {});
|
|
815
815
|
return this.parseTicker(ticker, market);
|
|
816
816
|
}
|
|
817
817
|
else {
|
|
@@ -998,7 +998,7 @@ class bigone extends bigone$1 {
|
|
|
998
998
|
// }
|
|
999
999
|
// }
|
|
1000
1000
|
//
|
|
1001
|
-
const orderbook = this.
|
|
1001
|
+
const orderbook = this.safeDict(response, 'data', {});
|
|
1002
1002
|
return this.parseOrderBook(orderbook, market['symbol'], undefined, 'bids', 'asks', 'price', 'quantity');
|
|
1003
1003
|
}
|
|
1004
1004
|
}
|
|
@@ -1213,7 +1213,7 @@ class bigone extends bigone$1 {
|
|
|
1213
1213
|
// ]
|
|
1214
1214
|
// }
|
|
1215
1215
|
//
|
|
1216
|
-
const trades = this.
|
|
1216
|
+
const trades = this.safeList(response, 'data', []);
|
|
1217
1217
|
return this.parseTrades(trades, market, since, limit);
|
|
1218
1218
|
}
|
|
1219
1219
|
parseOHLCV(ohlcv, market = undefined) {
|
|
@@ -1292,7 +1292,7 @@ class bigone extends bigone$1 {
|
|
|
1292
1292
|
// ]
|
|
1293
1293
|
// }
|
|
1294
1294
|
//
|
|
1295
|
-
const data = this.
|
|
1295
|
+
const data = this.safeList(response, 'data', []);
|
|
1296
1296
|
return this.parseOHLCVs(data, market, timeframe, since, limit);
|
|
1297
1297
|
}
|
|
1298
1298
|
parseBalance(response) {
|
|
@@ -1561,7 +1561,7 @@ class bigone extends bigone$1 {
|
|
|
1561
1561
|
// "updated_at":"2019-01-29T06:05:56Z"
|
|
1562
1562
|
// }
|
|
1563
1563
|
//
|
|
1564
|
-
const order = this.
|
|
1564
|
+
const order = this.safeDict(response, 'data');
|
|
1565
1565
|
return this.parseOrder(order, market);
|
|
1566
1566
|
}
|
|
1567
1567
|
async cancelOrder(id, symbol = undefined, params = {}) {
|
|
@@ -1590,7 +1590,7 @@ class bigone extends bigone$1 {
|
|
|
1590
1590
|
// "created_at":"2019-01-29T06:05:56Z",
|
|
1591
1591
|
// "updated_at":"2019-01-29T06:05:56Z"
|
|
1592
1592
|
// }
|
|
1593
|
-
const order = this.
|
|
1593
|
+
const order = this.safeDict(response, 'data');
|
|
1594
1594
|
return this.parseOrder(order);
|
|
1595
1595
|
}
|
|
1596
1596
|
async cancelAllOrders(symbol = undefined, params = {}) {
|
|
@@ -1636,7 +1636,7 @@ class bigone extends bigone$1 {
|
|
|
1636
1636
|
await this.loadMarkets();
|
|
1637
1637
|
const request = { 'id': id };
|
|
1638
1638
|
const response = await this.privateGetOrdersId(this.extend(request, params));
|
|
1639
|
-
const order = this.
|
|
1639
|
+
const order = this.safeDict(response, 'data', {});
|
|
1640
1640
|
return this.parseOrder(order);
|
|
1641
1641
|
}
|
|
1642
1642
|
async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -1687,7 +1687,7 @@ class bigone extends bigone$1 {
|
|
|
1687
1687
|
// "page_token":"dxzef",
|
|
1688
1688
|
// }
|
|
1689
1689
|
//
|
|
1690
|
-
const orders = this.
|
|
1690
|
+
const orders = this.safeList(response, 'data', []);
|
|
1691
1691
|
return this.parseOrders(orders, market, since, limit);
|
|
1692
1692
|
}
|
|
1693
1693
|
async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -1749,7 +1749,7 @@ class bigone extends bigone$1 {
|
|
|
1749
1749
|
// "page_token":"dxfv"
|
|
1750
1750
|
// }
|
|
1751
1751
|
//
|
|
1752
|
-
const trades = this.
|
|
1752
|
+
const trades = this.safeList(response, 'data', []);
|
|
1753
1753
|
return this.parseTrades(trades, market, since, limit);
|
|
1754
1754
|
}
|
|
1755
1755
|
parseOrderStatus(status) {
|
|
@@ -2032,7 +2032,7 @@ class bigone extends bigone$1 {
|
|
|
2032
2032
|
// ]
|
|
2033
2033
|
// }
|
|
2034
2034
|
//
|
|
2035
|
-
const deposits = this.
|
|
2035
|
+
const deposits = this.safeList(response, 'data', []);
|
|
2036
2036
|
return this.parseTransactions(deposits, currency, since, limit);
|
|
2037
2037
|
}
|
|
2038
2038
|
async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -2084,7 +2084,7 @@ class bigone extends bigone$1 {
|
|
|
2084
2084
|
// "page_token":"dxvf"
|
|
2085
2085
|
// }
|
|
2086
2086
|
//
|
|
2087
|
-
const withdrawals = this.
|
|
2087
|
+
const withdrawals = this.safeList(response, 'data', []);
|
|
2088
2088
|
return this.parseTransactions(withdrawals, currency, since, limit);
|
|
2089
2089
|
}
|
|
2090
2090
|
async transfer(code, amount, fromAccount, toAccount, params = {}) {
|
|
@@ -2211,7 +2211,7 @@ class bigone extends bigone$1 {
|
|
|
2211
2211
|
// }
|
|
2212
2212
|
// }
|
|
2213
2213
|
//
|
|
2214
|
-
const data = this.
|
|
2214
|
+
const data = this.safeDict(response, 'data', {});
|
|
2215
2215
|
return this.parseTransaction(data, currency);
|
|
2216
2216
|
}
|
|
2217
2217
|
handleErrors(httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody) {
|
package/dist/cjs/src/binance.js
CHANGED
|
@@ -2422,14 +2422,6 @@ class binance extends binance$1 {
|
|
|
2422
2422
|
super.setSandboxMode(enable);
|
|
2423
2423
|
this.options['sandboxMode'] = enable;
|
|
2424
2424
|
}
|
|
2425
|
-
convertExpireDate(date) {
|
|
2426
|
-
// parse YYMMDD to timestamp
|
|
2427
|
-
const year = date.slice(0, 2);
|
|
2428
|
-
const month = date.slice(2, 4);
|
|
2429
|
-
const day = date.slice(4, 6);
|
|
2430
|
-
const reconstructedDate = '20' + year + '-' + month + '-' + day + 'T00:00:00Z';
|
|
2431
|
-
return reconstructedDate;
|
|
2432
|
-
}
|
|
2433
2425
|
createExpiredOptionMarket(symbol) {
|
|
2434
2426
|
// support expired option contracts
|
|
2435
2427
|
const settle = 'USDT';
|
|
@@ -3966,16 +3958,12 @@ class binance extends binance$1 {
|
|
|
3966
3958
|
* @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
|
|
3967
3959
|
*/
|
|
3968
3960
|
await this.loadMarkets();
|
|
3969
|
-
symbols = this.marketSymbols(symbols);
|
|
3970
|
-
|
|
3971
|
-
if (symbols !== undefined) {
|
|
3972
|
-
const first = this.safeString(symbols, 0);
|
|
3973
|
-
market = this.market(first);
|
|
3974
|
-
}
|
|
3961
|
+
symbols = this.marketSymbols(symbols, undefined, true, true, true);
|
|
3962
|
+
const market = this.getMarketFromSymbols(symbols);
|
|
3975
3963
|
let type = undefined;
|
|
3964
|
+
[type, params] = this.handleMarketTypeAndParams('fetchBidsAsks', market, params);
|
|
3976
3965
|
let subType = undefined;
|
|
3977
3966
|
[subType, params] = this.handleSubTypeAndParams('fetchBidsAsks', market, params);
|
|
3978
|
-
[type, params] = this.handleMarketTypeAndParams('fetchBidsAsks', market, params);
|
|
3979
3967
|
let response = undefined;
|
|
3980
3968
|
if (this.isLinear(type, subType)) {
|
|
3981
3969
|
response = await this.fapiPublicGetTickerBookTicker(params);
|
|
@@ -3983,14 +3971,16 @@ class binance extends binance$1 {
|
|
|
3983
3971
|
else if (this.isInverse(type, subType)) {
|
|
3984
3972
|
response = await this.dapiPublicGetTickerBookTicker(params);
|
|
3985
3973
|
}
|
|
3986
|
-
else {
|
|
3974
|
+
else if (type === 'spot') {
|
|
3987
3975
|
const request = {};
|
|
3988
3976
|
if (symbols !== undefined) {
|
|
3989
|
-
|
|
3990
|
-
request['symbols'] = this.json(marketIds);
|
|
3977
|
+
request['symbols'] = this.json(this.marketIds(symbols));
|
|
3991
3978
|
}
|
|
3992
3979
|
response = await this.publicGetTickerBookTicker(this.extend(request, params));
|
|
3993
3980
|
}
|
|
3981
|
+
else {
|
|
3982
|
+
throw new errors.NotSupported(this.id + ' fetchBidsAsks() does not support ' + type + ' markets yet');
|
|
3983
|
+
}
|
|
3994
3984
|
return this.parseTickers(response, symbols);
|
|
3995
3985
|
}
|
|
3996
3986
|
async fetchLastPrices(symbols = undefined, params = {}) {
|
|
@@ -4007,12 +3997,12 @@ class binance extends binance$1 {
|
|
|
4007
3997
|
* @returns {object} a dictionary of lastprices structures
|
|
4008
3998
|
*/
|
|
4009
3999
|
await this.loadMarkets();
|
|
4010
|
-
symbols = this.marketSymbols(symbols);
|
|
4000
|
+
symbols = this.marketSymbols(symbols, undefined, true, true, true);
|
|
4011
4001
|
const market = this.getMarketFromSymbols(symbols);
|
|
4012
4002
|
let type = undefined;
|
|
4003
|
+
[type, params] = this.handleMarketTypeAndParams('fetchLastPrices', market, params);
|
|
4013
4004
|
let subType = undefined;
|
|
4014
4005
|
[subType, params] = this.handleSubTypeAndParams('fetchLastPrices', market, params);
|
|
4015
|
-
[type, params] = this.handleMarketTypeAndParams('fetchLastPrices', market, params);
|
|
4016
4006
|
let response = undefined;
|
|
4017
4007
|
if (this.isLinear(type, subType)) {
|
|
4018
4008
|
response = await this.fapiPublicV2GetTickerPrice(params);
|
|
@@ -4113,34 +4103,32 @@ class binance extends binance$1 {
|
|
|
4113
4103
|
* @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
|
|
4114
4104
|
*/
|
|
4115
4105
|
await this.loadMarkets();
|
|
4116
|
-
let type = undefined;
|
|
4117
|
-
let market = undefined;
|
|
4118
4106
|
symbols = this.marketSymbols(symbols, undefined, true, true, true);
|
|
4119
|
-
|
|
4120
|
-
|
|
4121
|
-
market = this.market(first);
|
|
4122
|
-
}
|
|
4107
|
+
const market = this.getMarketFromSymbols(symbols);
|
|
4108
|
+
let type = undefined;
|
|
4123
4109
|
[type, params] = this.handleMarketTypeAndParams('fetchTickers', market, params);
|
|
4124
4110
|
let subType = undefined;
|
|
4125
4111
|
[subType, params] = this.handleSubTypeAndParams('fetchTickers', market, params);
|
|
4126
4112
|
let response = undefined;
|
|
4127
|
-
if (type
|
|
4128
|
-
response = await this.eapiPublicGetTicker(params);
|
|
4129
|
-
}
|
|
4130
|
-
else if (this.isLinear(type, subType)) {
|
|
4113
|
+
if (this.isLinear(type, subType)) {
|
|
4131
4114
|
response = await this.fapiPublicGetTicker24hr(params);
|
|
4132
4115
|
}
|
|
4133
4116
|
else if (this.isInverse(type, subType)) {
|
|
4134
4117
|
response = await this.dapiPublicGetTicker24hr(params);
|
|
4135
4118
|
}
|
|
4136
|
-
else {
|
|
4119
|
+
else if (type === 'spot') {
|
|
4137
4120
|
const request = {};
|
|
4138
4121
|
if (symbols !== undefined) {
|
|
4139
|
-
|
|
4140
|
-
request['symbols'] = this.json(marketIds);
|
|
4122
|
+
request['symbols'] = this.json(this.marketIds(symbols));
|
|
4141
4123
|
}
|
|
4142
4124
|
response = await this.publicGetTicker24hr(this.extend(request, params));
|
|
4143
4125
|
}
|
|
4126
|
+
else if (type === 'option') {
|
|
4127
|
+
response = await this.eapiPublicGetTicker(params);
|
|
4128
|
+
}
|
|
4129
|
+
else {
|
|
4130
|
+
throw new errors.NotSupported(this.id + ' fetchTickers() does not support ' + type + ' markets yet');
|
|
4131
|
+
}
|
|
4144
4132
|
return this.parseTickers(response, symbols);
|
|
4145
4133
|
}
|
|
4146
4134
|
parseOHLCV(ohlcv, market = undefined) {
|
|
@@ -4807,7 +4795,7 @@ class binance extends binance$1 {
|
|
|
4807
4795
|
// }
|
|
4808
4796
|
// }
|
|
4809
4797
|
//
|
|
4810
|
-
const data = this.
|
|
4798
|
+
const data = this.safeDict(response, 'newOrderResponse');
|
|
4811
4799
|
return this.parseOrder(data, market);
|
|
4812
4800
|
}
|
|
4813
4801
|
editSpotOrderRequest(id, symbol, type, side, amount, price = undefined, params = {}) {
|
|
@@ -12397,7 +12385,7 @@ class binance extends binance$1 {
|
|
|
12397
12385
|
else {
|
|
12398
12386
|
throw new errors.BadRequest(this.id + ' fetchMarginModes () supports linear and inverse subTypes only');
|
|
12399
12387
|
}
|
|
12400
|
-
const assets = this.
|
|
12388
|
+
const assets = this.safeList(response, 'positions', []);
|
|
12401
12389
|
return this.parseMarginModes(assets, symbols, 'symbol', 'swap');
|
|
12402
12390
|
}
|
|
12403
12391
|
parseMarginMode(marginMode, market = undefined) {
|
package/dist/cjs/src/bingx.js
CHANGED
|
@@ -629,7 +629,7 @@ class bingx extends bingx$1 {
|
|
|
629
629
|
symbol += ':' + settle;
|
|
630
630
|
}
|
|
631
631
|
const fees = this.safeDict(this.fees, type, {});
|
|
632
|
-
const contractSize = this.
|
|
632
|
+
const contractSize = (swap) ? this.parseNumber('1') : undefined;
|
|
633
633
|
const isActive = this.safeString(market, 'status') === '1';
|
|
634
634
|
const isInverse = (spot) ? undefined : false;
|
|
635
635
|
const isLinear = (spot) ? undefined : swap;
|
|
@@ -670,7 +670,7 @@ class bingx extends bingx$1 {
|
|
|
670
670
|
'max': this.safeInteger(market, 'maxLongLeverage'),
|
|
671
671
|
},
|
|
672
672
|
'amount': {
|
|
673
|
-
'min': this.
|
|
673
|
+
'min': this.safeNumber2(market, 'minQty', 'tradeMinQuantity'),
|
|
674
674
|
'max': this.safeNumber(market, 'maxQty'),
|
|
675
675
|
},
|
|
676
676
|
'price': {
|
|
@@ -678,7 +678,7 @@ class bingx extends bingx$1 {
|
|
|
678
678
|
'max': undefined,
|
|
679
679
|
},
|
|
680
680
|
'cost': {
|
|
681
|
-
'min': this.
|
|
681
|
+
'min': this.safeNumber2(market, 'minNotional', 'tradeMinUSDT'),
|
|
682
682
|
'max': this.safeNumber(market, 'maxNotional'),
|
|
683
683
|
},
|
|
684
684
|
},
|
|
@@ -1035,6 +1035,13 @@ class bingx extends bingx$1 {
|
|
|
1035
1035
|
if (isMaker !== undefined) {
|
|
1036
1036
|
takeOrMaker = isMaker ? 'maker' : 'taker';
|
|
1037
1037
|
}
|
|
1038
|
+
let amount = this.safeStringN(trade, ['qty', 'amount', 'q']);
|
|
1039
|
+
if ((market !== undefined) && market['swap'] && ('volume' in trade)) {
|
|
1040
|
+
// private trade returns num of contracts instead of base currency (as the order-related methods do)
|
|
1041
|
+
const contractSize = this.safeString(market['info'], 'tradeMinQuantity');
|
|
1042
|
+
const volume = this.safeString(trade, 'volume');
|
|
1043
|
+
amount = Precise["default"].stringMul(volume, contractSize);
|
|
1044
|
+
}
|
|
1038
1045
|
return this.safeTrade({
|
|
1039
1046
|
'id': this.safeStringN(trade, ['id', 't']),
|
|
1040
1047
|
'info': trade,
|
|
@@ -1046,7 +1053,7 @@ class bingx extends bingx$1 {
|
|
|
1046
1053
|
'side': this.parseOrderSide(side),
|
|
1047
1054
|
'takerOrMaker': takeOrMaker,
|
|
1048
1055
|
'price': this.safeString2(trade, 'price', 'p'),
|
|
1049
|
-
'amount':
|
|
1056
|
+
'amount': amount,
|
|
1050
1057
|
'cost': cost,
|
|
1051
1058
|
'fee': {
|
|
1052
1059
|
'cost': this.parseNumber(Precise["default"].stringAbs(this.safeString2(trade, 'commission', 'n'))),
|
|
@@ -1384,9 +1391,13 @@ class bingx extends bingx$1 {
|
|
|
1384
1391
|
else {
|
|
1385
1392
|
response = await this.swapV2PublicGetQuoteTicker(this.extend(request, params));
|
|
1386
1393
|
}
|
|
1387
|
-
const data = this.
|
|
1388
|
-
|
|
1389
|
-
|
|
1394
|
+
const data = this.safeList(response, 'data');
|
|
1395
|
+
if (data !== undefined) {
|
|
1396
|
+
const first = this.safeDict(data, 0, {});
|
|
1397
|
+
return this.parseTicker(first, market);
|
|
1398
|
+
}
|
|
1399
|
+
const dataDict = this.safeDict(response, 'data', {});
|
|
1400
|
+
return this.parseTicker(dataDict, market);
|
|
1390
1401
|
}
|
|
1391
1402
|
async fetchTickers(symbols = undefined, params = {}) {
|
|
1392
1403
|
/**
|
|
@@ -1416,7 +1427,7 @@ class bingx extends bingx$1 {
|
|
|
1416
1427
|
else {
|
|
1417
1428
|
response = await this.swapV2PublicGetQuoteTicker(params);
|
|
1418
1429
|
}
|
|
1419
|
-
const tickers = this.
|
|
1430
|
+
const tickers = this.safeList(response, 'data');
|
|
1420
1431
|
return this.parseTickers(tickers, symbols);
|
|
1421
1432
|
}
|
|
1422
1433
|
parseTicker(ticker, market = undefined) {
|
|
@@ -1674,19 +1685,27 @@ class bingx extends bingx$1 {
|
|
|
1674
1685
|
}
|
|
1675
1686
|
parsePosition(position, market = undefined) {
|
|
1676
1687
|
//
|
|
1677
|
-
//
|
|
1678
|
-
//
|
|
1679
|
-
//
|
|
1680
|
-
//
|
|
1681
|
-
//
|
|
1682
|
-
//
|
|
1683
|
-
//
|
|
1684
|
-
//
|
|
1685
|
-
//
|
|
1686
|
-
//
|
|
1687
|
-
//
|
|
1688
|
-
//
|
|
1689
|
-
//
|
|
1688
|
+
// {
|
|
1689
|
+
// "positionId":"1773122376147623936",
|
|
1690
|
+
// "symbol":"XRP-USDT",
|
|
1691
|
+
// "currency":"USDT",
|
|
1692
|
+
// "positionAmt":"3",
|
|
1693
|
+
// "availableAmt":"3",
|
|
1694
|
+
// "positionSide":"LONG",
|
|
1695
|
+
// "isolated":false,
|
|
1696
|
+
// "avgPrice":"0.6139",
|
|
1697
|
+
// "initialMargin":"0.0897",
|
|
1698
|
+
// "leverage":20,
|
|
1699
|
+
// "unrealizedProfit":"-0.0023",
|
|
1700
|
+
// "realisedProfit":"-0.0009",
|
|
1701
|
+
// "liquidationPrice":0,
|
|
1702
|
+
// "pnlRatio":"-0.0260",
|
|
1703
|
+
// "maxMarginReduction":"",
|
|
1704
|
+
// "riskRate":"",
|
|
1705
|
+
// "markPrice":"",
|
|
1706
|
+
// "positionValue":"",
|
|
1707
|
+
// "onlyOnePosition":false
|
|
1708
|
+
// }
|
|
1690
1709
|
//
|
|
1691
1710
|
// standard position
|
|
1692
1711
|
//
|
|
@@ -1713,7 +1732,7 @@ class bingx extends bingx$1 {
|
|
|
1713
1732
|
'info': position,
|
|
1714
1733
|
'id': this.safeString(position, 'positionId'),
|
|
1715
1734
|
'symbol': this.safeSymbol(marketId, market, '-', 'swap'),
|
|
1716
|
-
'notional': this.safeNumber(position, '
|
|
1735
|
+
'notional': this.safeNumber(position, 'positionValue'),
|
|
1717
1736
|
'marginMode': marginMode,
|
|
1718
1737
|
'liquidationPrice': undefined,
|
|
1719
1738
|
'entryPrice': this.safeNumber2(position, 'avgPrice', 'entryPrice'),
|
|
@@ -1731,7 +1750,7 @@ class bingx extends bingx$1 {
|
|
|
1731
1750
|
'lastUpdateTimestamp': undefined,
|
|
1732
1751
|
'maintenanceMargin': undefined,
|
|
1733
1752
|
'maintenanceMarginPercentage': undefined,
|
|
1734
|
-
'collateral':
|
|
1753
|
+
'collateral': undefined,
|
|
1735
1754
|
'initialMargin': this.safeNumber(position, 'initialMargin'),
|
|
1736
1755
|
'initialMarginPercentage': undefined,
|
|
1737
1756
|
'leverage': this.safeNumber(position, 'leverage'),
|
|
@@ -2062,7 +2081,7 @@ class bingx extends bingx$1 {
|
|
|
2062
2081
|
response = this.parseJson(response);
|
|
2063
2082
|
}
|
|
2064
2083
|
const data = this.safeValue(response, 'data', {});
|
|
2065
|
-
const order = this.
|
|
2084
|
+
const order = this.safeDict(data, 'order', data);
|
|
2066
2085
|
return this.parseOrder(order, market);
|
|
2067
2086
|
}
|
|
2068
2087
|
async createOrders(orders, params = {}) {
|
|
@@ -2559,7 +2578,7 @@ class bingx extends bingx$1 {
|
|
|
2559
2578
|
// }
|
|
2560
2579
|
//
|
|
2561
2580
|
const data = this.safeValue(response, 'data');
|
|
2562
|
-
const first = this.
|
|
2581
|
+
const first = this.safeDict(data, 'order', data);
|
|
2563
2582
|
return this.parseOrder(first, market);
|
|
2564
2583
|
}
|
|
2565
2584
|
async cancelAllOrders(symbol = undefined, params = {}) {
|
|
@@ -2804,7 +2823,7 @@ class bingx extends bingx$1 {
|
|
|
2804
2823
|
// }
|
|
2805
2824
|
//
|
|
2806
2825
|
const data = this.safeValue(response, 'data');
|
|
2807
|
-
const first = this.
|
|
2826
|
+
const first = this.safeDict(data, 'order', data);
|
|
2808
2827
|
return this.parseOrder(first, market);
|
|
2809
2828
|
}
|
|
2810
2829
|
async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -2987,7 +3006,7 @@ class bingx extends bingx$1 {
|
|
|
2987
3006
|
// }
|
|
2988
3007
|
//
|
|
2989
3008
|
const data = this.safeValue(response, 'data', []);
|
|
2990
|
-
const orders = this.
|
|
3009
|
+
const orders = this.safeList(data, 'orders', []);
|
|
2991
3010
|
return this.parseOrders(orders, market, since, limit);
|
|
2992
3011
|
}
|
|
2993
3012
|
async transfer(code, amount, fromAccount, toAccount, params = {}) {
|
|
@@ -3731,7 +3750,7 @@ class bingx extends bingx$1 {
|
|
|
3731
3750
|
*/
|
|
3732
3751
|
await this.loadMarkets();
|
|
3733
3752
|
const response = await this.walletsV1PrivateGetCapitalConfigGetall(params);
|
|
3734
|
-
const coins = this.
|
|
3753
|
+
const coins = this.safeList(response, 'data');
|
|
3735
3754
|
return this.parseDepositWithdrawFees(coins, codes, 'coin');
|
|
3736
3755
|
}
|
|
3737
3756
|
async withdraw(code, amount, address, tag = undefined, params = {}) {
|
package/dist/cjs/src/bit2c.js
CHANGED
|
@@ -489,7 +489,7 @@ class bit2c extends bit2c$1 {
|
|
|
489
489
|
const response = await this.privateGetOrderMyOrders(this.extend(request, params));
|
|
490
490
|
const orders = this.safeValue(response, market['id'], {});
|
|
491
491
|
const asks = this.safeValue(orders, 'ask', []);
|
|
492
|
-
const bids = this.
|
|
492
|
+
const bids = this.safeList(orders, 'bid', []);
|
|
493
493
|
return this.parseOrders(this.arrayConcat(asks, bids), market, since, limit);
|
|
494
494
|
}
|
|
495
495
|
async fetchOrder(id, symbol = undefined, params = {}) {
|