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/js/src/bitso.js
CHANGED
|
@@ -690,7 +690,7 @@ export default class bitso extends Exchange {
|
|
|
690
690
|
// ]
|
|
691
691
|
// }
|
|
692
692
|
//
|
|
693
|
-
const payload = this.
|
|
693
|
+
const payload = this.safeList(response, 'payload', []);
|
|
694
694
|
return this.parseOHLCVs(payload, market, timeframe, since, limit);
|
|
695
695
|
}
|
|
696
696
|
parseOHLCV(ohlcv, market = undefined) {
|
|
@@ -1249,7 +1249,7 @@ export default class bitso extends Exchange {
|
|
|
1249
1249
|
// }
|
|
1250
1250
|
//
|
|
1251
1251
|
const transactions = this.safeValue(response, 'payload', []);
|
|
1252
|
-
const first = this.
|
|
1252
|
+
const first = this.safeDict(transactions, 0, {});
|
|
1253
1253
|
return this.parseTransaction(first);
|
|
1254
1254
|
}
|
|
1255
1255
|
async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -1293,7 +1293,7 @@ export default class bitso extends Exchange {
|
|
|
1293
1293
|
// }]
|
|
1294
1294
|
// }
|
|
1295
1295
|
//
|
|
1296
|
-
const transactions = this.
|
|
1296
|
+
const transactions = this.safeList(response, 'payload', []);
|
|
1297
1297
|
return this.parseTransactions(transactions, currency, since, limit, params);
|
|
1298
1298
|
}
|
|
1299
1299
|
async fetchDepositAddress(code, params = {}) {
|
|
@@ -1476,7 +1476,7 @@ export default class bitso extends Exchange {
|
|
|
1476
1476
|
// }
|
|
1477
1477
|
// }
|
|
1478
1478
|
//
|
|
1479
|
-
const payload = this.
|
|
1479
|
+
const payload = this.safeList(response, 'payload', []);
|
|
1480
1480
|
return this.parseDepositWithdrawFees(payload, codes);
|
|
1481
1481
|
}
|
|
1482
1482
|
parseDepositWithdrawFees(response, codes = undefined, currencyIdKey = undefined) {
|
|
@@ -1612,7 +1612,7 @@ export default class bitso extends Exchange {
|
|
|
1612
1612
|
// }
|
|
1613
1613
|
//
|
|
1614
1614
|
const payload = this.safeValue(response, 'payload', []);
|
|
1615
|
-
const first = this.
|
|
1615
|
+
const first = this.safeDict(payload, 0);
|
|
1616
1616
|
return this.parseTransaction(first, currency);
|
|
1617
1617
|
}
|
|
1618
1618
|
safeNetwork(networkId) {
|
package/js/src/bitstamp.js
CHANGED
|
@@ -1113,7 +1113,7 @@ export default class bitstamp extends Exchange {
|
|
|
1113
1113
|
// }
|
|
1114
1114
|
//
|
|
1115
1115
|
const data = this.safeValue(response, 'data', {});
|
|
1116
|
-
const ohlc = this.
|
|
1116
|
+
const ohlc = this.safeList(data, 'ohlc', []);
|
|
1117
1117
|
return this.parseOHLCVs(ohlc, market, timeframe, since, limit);
|
|
1118
1118
|
}
|
|
1119
1119
|
parseBalance(response) {
|
package/js/src/bitteam.js
CHANGED
|
@@ -674,7 +674,7 @@ export default class bitteam extends Exchange {
|
|
|
674
674
|
// }
|
|
675
675
|
//
|
|
676
676
|
const result = this.safeValue(response, 'result', {});
|
|
677
|
-
const data = this.
|
|
677
|
+
const data = this.safeList(result, 'data', []);
|
|
678
678
|
return this.parseOHLCVs(data, market, timeframe, since, limit);
|
|
679
679
|
}
|
|
680
680
|
parseOHLCV(ohlcv, market = undefined) {
|
|
@@ -855,7 +855,7 @@ export default class bitteam extends Exchange {
|
|
|
855
855
|
// }
|
|
856
856
|
//
|
|
857
857
|
const result = this.safeValue(response, 'result', {});
|
|
858
|
-
const orders = this.
|
|
858
|
+
const orders = this.safeList(result, 'orders', []);
|
|
859
859
|
return this.parseOrders(orders, market, since, limit);
|
|
860
860
|
}
|
|
861
861
|
async fetchOrder(id, symbol = undefined, params = {}) {
|
|
@@ -915,7 +915,7 @@ export default class bitteam extends Exchange {
|
|
|
915
915
|
// }
|
|
916
916
|
// }
|
|
917
917
|
//
|
|
918
|
-
const result = this.
|
|
918
|
+
const result = this.safeDict(response, 'result');
|
|
919
919
|
return this.parseOrder(result, market);
|
|
920
920
|
}
|
|
921
921
|
async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -1026,7 +1026,7 @@ export default class bitteam extends Exchange {
|
|
|
1026
1026
|
// }
|
|
1027
1027
|
// }
|
|
1028
1028
|
//
|
|
1029
|
-
const order = this.
|
|
1029
|
+
const order = this.safeDict(response, 'result', {});
|
|
1030
1030
|
return this.parseOrder(order, market);
|
|
1031
1031
|
}
|
|
1032
1032
|
async cancelOrder(id, symbol = undefined, params = {}) {
|
|
@@ -1053,7 +1053,7 @@ export default class bitteam extends Exchange {
|
|
|
1053
1053
|
// }
|
|
1054
1054
|
// }
|
|
1055
1055
|
//
|
|
1056
|
-
const result = this.
|
|
1056
|
+
const result = this.safeDict(response, 'result', {});
|
|
1057
1057
|
return this.parseOrder(result);
|
|
1058
1058
|
}
|
|
1059
1059
|
async cancelAllOrders(symbol = undefined, params = {}) {
|
|
@@ -1516,7 +1516,7 @@ export default class bitteam extends Exchange {
|
|
|
1516
1516
|
// }
|
|
1517
1517
|
//
|
|
1518
1518
|
const result = this.safeValue(response, 'result', {});
|
|
1519
|
-
const pair = this.
|
|
1519
|
+
const pair = this.safeDict(result, 'pair', {});
|
|
1520
1520
|
return this.parseTicker(pair, market);
|
|
1521
1521
|
}
|
|
1522
1522
|
parseTicker(ticker, market = undefined) {
|
|
@@ -1845,7 +1845,7 @@ export default class bitteam extends Exchange {
|
|
|
1845
1845
|
// }
|
|
1846
1846
|
//
|
|
1847
1847
|
const result = this.safeValue(response, 'result', {});
|
|
1848
|
-
const trades = this.
|
|
1848
|
+
const trades = this.safeList(result, 'trades', []);
|
|
1849
1849
|
return this.parseTrades(trades, market, since, limit);
|
|
1850
1850
|
}
|
|
1851
1851
|
parseTrade(trade, market = undefined) {
|
|
@@ -2148,7 +2148,7 @@ export default class bitteam extends Exchange {
|
|
|
2148
2148
|
// }
|
|
2149
2149
|
//
|
|
2150
2150
|
const result = this.safeValue(response, 'result', {});
|
|
2151
|
-
const transactions = this.
|
|
2151
|
+
const transactions = this.safeList(result, 'transactions', []);
|
|
2152
2152
|
return this.parseTransactions(transactions, currency, since, limit);
|
|
2153
2153
|
}
|
|
2154
2154
|
parseTransaction(transaction, currency = undefined) {
|
package/js/src/bl3p.js
CHANGED
|
@@ -178,7 +178,7 @@ export default class bl3p extends Exchange {
|
|
|
178
178
|
'market': market['id'],
|
|
179
179
|
};
|
|
180
180
|
const response = await this.publicGetMarketOrderbook(this.extend(request, params));
|
|
181
|
-
const orderbook = this.
|
|
181
|
+
const orderbook = this.safeDict(response, 'data');
|
|
182
182
|
return this.parseOrderBook(orderbook, market['symbol'], undefined, 'bids', 'asks', 'price_int', 'amount_int');
|
|
183
183
|
}
|
|
184
184
|
parseTicker(ticker, market = undefined) {
|
package/js/src/btcturk.js
CHANGED
|
@@ -418,7 +418,7 @@ export default class btcturk extends Exchange {
|
|
|
418
418
|
*/
|
|
419
419
|
await this.loadMarkets();
|
|
420
420
|
const response = await this.publicGetTicker(params);
|
|
421
|
-
const tickers = this.
|
|
421
|
+
const tickers = this.safeList(response, 'data');
|
|
422
422
|
return this.parseTickers(tickers, symbols);
|
|
423
423
|
}
|
|
424
424
|
async fetchTicker(symbol, params = {}) {
|
|
@@ -536,7 +536,7 @@ export default class btcturk extends Exchange {
|
|
|
536
536
|
// ]
|
|
537
537
|
// }
|
|
538
538
|
//
|
|
539
|
-
const data = this.
|
|
539
|
+
const data = this.safeList(response, 'data');
|
|
540
540
|
return this.parseTrades(data, market, since, limit);
|
|
541
541
|
}
|
|
542
542
|
parseOHLCV(ohlcv, market = undefined) {
|
|
@@ -693,7 +693,7 @@ export default class btcturk extends Exchange {
|
|
|
693
693
|
request['newClientOrderId'] = this.uuid();
|
|
694
694
|
}
|
|
695
695
|
const response = await this.privatePostOrder(this.extend(request, params));
|
|
696
|
-
const data = this.
|
|
696
|
+
const data = this.safeDict(response, 'data');
|
|
697
697
|
return this.parseOrder(data, market);
|
|
698
698
|
}
|
|
699
699
|
async cancelOrder(id, symbol = undefined, params = {}) {
|
|
@@ -734,7 +734,7 @@ export default class btcturk extends Exchange {
|
|
|
734
734
|
const response = await this.privateGetOpenOrders(this.extend(request, params));
|
|
735
735
|
const data = this.safeValue(response, 'data');
|
|
736
736
|
const bids = this.safeValue(data, 'bids', []);
|
|
737
|
-
const asks = this.
|
|
737
|
+
const asks = this.safeList(data, 'asks', []);
|
|
738
738
|
return this.parseOrders(this.arrayConcat(bids, asks), market, since, limit);
|
|
739
739
|
}
|
|
740
740
|
async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -782,7 +782,7 @@ export default class btcturk extends Exchange {
|
|
|
782
782
|
// }
|
|
783
783
|
// ]
|
|
784
784
|
// }
|
|
785
|
-
const data = this.
|
|
785
|
+
const data = this.safeList(response, 'data');
|
|
786
786
|
return this.parseOrders(data, market, since, limit);
|
|
787
787
|
}
|
|
788
788
|
parseOrderStatus(status) {
|
|
@@ -899,7 +899,7 @@ export default class btcturk extends Exchange {
|
|
|
899
899
|
// "code": "0"
|
|
900
900
|
// }
|
|
901
901
|
//
|
|
902
|
-
const data = this.
|
|
902
|
+
const data = this.safeList(response, 'data');
|
|
903
903
|
return this.parseTrades(data, market, since, limit);
|
|
904
904
|
}
|
|
905
905
|
nonce() {
|
package/js/src/bybit.d.ts
CHANGED
|
@@ -10,9 +10,6 @@ export default class bybit extends Exchange {
|
|
|
10
10
|
addPaginationCursorToResult(response: any): any;
|
|
11
11
|
isUnifiedEnabled(params?: {}): Promise<any[]>;
|
|
12
12
|
upgradeUnifiedTradeAccount(params?: {}): Promise<any>;
|
|
13
|
-
convertExpireDate(date: any): string;
|
|
14
|
-
convertExpireDateToMarketIdDate(date: any): any;
|
|
15
|
-
convertMarketIdExpireDate(date: any): string;
|
|
16
13
|
createExpiredOptionMarket(symbol: string): MarketInterface;
|
|
17
14
|
safeMarket(marketId?: Str, market?: Market, delimiter?: Str, marketType?: Str): MarketInterface;
|
|
18
15
|
getBybitType(method: any, market: any, params?: {}): any[];
|
package/js/src/bybit.js
CHANGED
|
@@ -1123,82 +1123,6 @@ export default class bybit extends Exchange {
|
|
|
1123
1123
|
async upgradeUnifiedTradeAccount(params = {}) {
|
|
1124
1124
|
return await this.privatePostV5AccountUpgradeToUta(params);
|
|
1125
1125
|
}
|
|
1126
|
-
convertExpireDate(date) {
|
|
1127
|
-
// parse YYMMDD to timestamp
|
|
1128
|
-
const year = date.slice(0, 2);
|
|
1129
|
-
const month = date.slice(2, 4);
|
|
1130
|
-
const day = date.slice(4, 6);
|
|
1131
|
-
const reconstructedDate = '20' + year + '-' + month + '-' + day + 'T00:00:00Z';
|
|
1132
|
-
return reconstructedDate;
|
|
1133
|
-
}
|
|
1134
|
-
convertExpireDateToMarketIdDate(date) {
|
|
1135
|
-
// parse 231229 to 29DEC23
|
|
1136
|
-
const year = date.slice(0, 2);
|
|
1137
|
-
const monthRaw = date.slice(2, 4);
|
|
1138
|
-
let month = undefined;
|
|
1139
|
-
const day = date.slice(4, 6);
|
|
1140
|
-
if (monthRaw === '01') {
|
|
1141
|
-
month = 'JAN';
|
|
1142
|
-
}
|
|
1143
|
-
else if (monthRaw === '02') {
|
|
1144
|
-
month = 'FEB';
|
|
1145
|
-
}
|
|
1146
|
-
else if (monthRaw === '03') {
|
|
1147
|
-
month = 'MAR';
|
|
1148
|
-
}
|
|
1149
|
-
else if (monthRaw === '04') {
|
|
1150
|
-
month = 'APR';
|
|
1151
|
-
}
|
|
1152
|
-
else if (monthRaw === '05') {
|
|
1153
|
-
month = 'MAY';
|
|
1154
|
-
}
|
|
1155
|
-
else if (monthRaw === '06') {
|
|
1156
|
-
month = 'JUN';
|
|
1157
|
-
}
|
|
1158
|
-
else if (monthRaw === '07') {
|
|
1159
|
-
month = 'JUL';
|
|
1160
|
-
}
|
|
1161
|
-
else if (monthRaw === '08') {
|
|
1162
|
-
month = 'AUG';
|
|
1163
|
-
}
|
|
1164
|
-
else if (monthRaw === '09') {
|
|
1165
|
-
month = 'SEP';
|
|
1166
|
-
}
|
|
1167
|
-
else if (monthRaw === '10') {
|
|
1168
|
-
month = 'OCT';
|
|
1169
|
-
}
|
|
1170
|
-
else if (monthRaw === '11') {
|
|
1171
|
-
month = 'NOV';
|
|
1172
|
-
}
|
|
1173
|
-
else if (monthRaw === '12') {
|
|
1174
|
-
month = 'DEC';
|
|
1175
|
-
}
|
|
1176
|
-
const reconstructedDate = day + month + year;
|
|
1177
|
-
return reconstructedDate;
|
|
1178
|
-
}
|
|
1179
|
-
convertMarketIdExpireDate(date) {
|
|
1180
|
-
// parse 22JAN23 to 230122
|
|
1181
|
-
const monthMappping = {
|
|
1182
|
-
'JAN': '01',
|
|
1183
|
-
'FEB': '02',
|
|
1184
|
-
'MAR': '03',
|
|
1185
|
-
'APR': '04',
|
|
1186
|
-
'MAY': '05',
|
|
1187
|
-
'JUN': '06',
|
|
1188
|
-
'JUL': '07',
|
|
1189
|
-
'AUG': '08',
|
|
1190
|
-
'SEP': '09',
|
|
1191
|
-
'OCT': '10',
|
|
1192
|
-
'NOV': '11',
|
|
1193
|
-
'DEC': '12',
|
|
1194
|
-
};
|
|
1195
|
-
const year = date.slice(0, 2);
|
|
1196
|
-
const monthName = date.slice(2, 5);
|
|
1197
|
-
const month = this.safeString(monthMappping, monthName);
|
|
1198
|
-
const day = date.slice(5, 7);
|
|
1199
|
-
const reconstructedDate = day + month + year;
|
|
1200
|
-
return reconstructedDate;
|
|
1201
|
-
}
|
|
1202
1126
|
createExpiredOptionMarket(symbol) {
|
|
1203
1127
|
// support expired option contracts
|
|
1204
1128
|
const quote = 'USD';
|
|
@@ -2093,7 +2017,7 @@ export default class bybit extends Exchange {
|
|
|
2093
2017
|
//
|
|
2094
2018
|
const result = this.safeValue(response, 'result', []);
|
|
2095
2019
|
const tickers = this.safeValue(result, 'list', []);
|
|
2096
|
-
const rawTicker = this.
|
|
2020
|
+
const rawTicker = this.safeDict(tickers, 0);
|
|
2097
2021
|
return this.parseTicker(rawTicker, market);
|
|
2098
2022
|
}
|
|
2099
2023
|
async fetchTickers(symbols = undefined, params = {}) {
|
|
@@ -2104,6 +2028,7 @@ export default class bybit extends Exchange {
|
|
|
2104
2028
|
* @see https://bybit-exchange.github.io/docs/v5/market/tickers
|
|
2105
2029
|
* @param {string[]} symbols unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
|
|
2106
2030
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
2031
|
+
* @param {string} [params.subType] *contract only* 'linear', 'inverse'
|
|
2107
2032
|
* @returns {object} an array of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
|
|
2108
2033
|
*/
|
|
2109
2034
|
await this.loadMarkets();
|
|
@@ -2142,12 +2067,17 @@ export default class bybit extends Exchange {
|
|
|
2142
2067
|
};
|
|
2143
2068
|
let type = undefined;
|
|
2144
2069
|
[type, params] = this.handleMarketTypeAndParams('fetchTickers', market, params);
|
|
2145
|
-
|
|
2070
|
+
// Calls like `.fetchTickers (undefined, {subType:'inverse'})` should be supported for this exchange, so
|
|
2071
|
+
// as "options.defaultSubType" is also set in exchange options, we should consider `params.subType`
|
|
2072
|
+
// with higher priority and only default to spot, if `subType` is not set in params
|
|
2073
|
+
const passedSubType = this.safeString(params, 'subType');
|
|
2074
|
+
let subType = undefined;
|
|
2075
|
+
[subType, params] = this.handleSubTypeAndParams('fetchTickers', market, params, 'linear');
|
|
2076
|
+
// only if passedSubType is undefined, then use spot
|
|
2077
|
+
if (type === 'spot' && passedSubType === undefined) {
|
|
2146
2078
|
request['category'] = 'spot';
|
|
2147
2079
|
}
|
|
2148
|
-
else if (type === 'swap' || type === 'future') {
|
|
2149
|
-
let subType = undefined;
|
|
2150
|
-
[subType, params] = this.handleSubTypeAndParams('fetchTickers', market, params, 'linear');
|
|
2080
|
+
else if (type === 'swap' || type === 'future' || subType !== undefined) {
|
|
2151
2081
|
request['category'] = subType;
|
|
2152
2082
|
}
|
|
2153
2083
|
else if (type === 'option') {
|
|
@@ -2193,7 +2123,7 @@ export default class bybit extends Exchange {
|
|
|
2193
2123
|
// }
|
|
2194
2124
|
//
|
|
2195
2125
|
const result = this.safeValue(response, 'result', {});
|
|
2196
|
-
const tickerList = this.
|
|
2126
|
+
const tickerList = this.safeList(result, 'list', []);
|
|
2197
2127
|
return this.parseTickers(tickerList, parsedSymbols);
|
|
2198
2128
|
}
|
|
2199
2129
|
parseOHLCV(ohlcv, market = undefined) {
|
|
@@ -2332,7 +2262,7 @@ export default class bybit extends Exchange {
|
|
|
2332
2262
|
// }
|
|
2333
2263
|
//
|
|
2334
2264
|
const result = this.safeValue(response, 'result', {});
|
|
2335
|
-
const ohlcvs = this.
|
|
2265
|
+
const ohlcvs = this.safeList(result, 'list', []);
|
|
2336
2266
|
return this.parseOHLCVs(ohlcvs, market, timeframe, since, limit);
|
|
2337
2267
|
}
|
|
2338
2268
|
parseFundingRate(ticker, market = undefined) {
|
|
@@ -2809,7 +2739,7 @@ export default class bybit extends Exchange {
|
|
|
2809
2739
|
// }
|
|
2810
2740
|
//
|
|
2811
2741
|
const result = this.safeValue(response, 'result', {});
|
|
2812
|
-
const trades = this.
|
|
2742
|
+
const trades = this.safeList(result, 'list', []);
|
|
2813
2743
|
return this.parseTrades(trades, market, since, limit);
|
|
2814
2744
|
}
|
|
2815
2745
|
async fetchOrderBook(symbol, limit = undefined, params = {}) {
|
|
@@ -3561,7 +3491,7 @@ export default class bybit extends Exchange {
|
|
|
3561
3491
|
// "time": 1672211918471
|
|
3562
3492
|
// }
|
|
3563
3493
|
//
|
|
3564
|
-
const order = this.
|
|
3494
|
+
const order = this.safeDict(response, 'result', {});
|
|
3565
3495
|
return this.parseOrder(order, market);
|
|
3566
3496
|
}
|
|
3567
3497
|
createOrderRequest(symbol, type, side, amount, price = undefined, params = {}, isUTA = true) {
|
|
@@ -4015,7 +3945,7 @@ export default class bybit extends Exchange {
|
|
|
4015
3945
|
// "tpTriggerBy":"UNKNOWN"
|
|
4016
3946
|
// }
|
|
4017
3947
|
//
|
|
4018
|
-
const order = this.
|
|
3948
|
+
const order = this.safeDict(response, 'result', {});
|
|
4019
3949
|
return this.parseOrder(order, market);
|
|
4020
3950
|
}
|
|
4021
3951
|
async editUsdcOrder(id, symbol, type, side, amount = undefined, price = undefined, params = {}) {
|
|
@@ -4071,7 +4001,7 @@ export default class bybit extends Exchange {
|
|
|
4071
4001
|
// "retExtMap": {}
|
|
4072
4002
|
// }
|
|
4073
4003
|
//
|
|
4074
|
-
const result = this.
|
|
4004
|
+
const result = this.safeDict(response, 'result', {});
|
|
4075
4005
|
return this.parseOrder(result, market);
|
|
4076
4006
|
}
|
|
4077
4007
|
async editOrder(id, symbol, type, side, amount = undefined, price = undefined, params = {}) {
|
|
@@ -4241,7 +4171,7 @@ export default class bybit extends Exchange {
|
|
|
4241
4171
|
// "retExtMap": {}
|
|
4242
4172
|
// }
|
|
4243
4173
|
//
|
|
4244
|
-
const result = this.
|
|
4174
|
+
const result = this.safeDict(response, 'result', {});
|
|
4245
4175
|
return this.parseOrder(result, market);
|
|
4246
4176
|
}
|
|
4247
4177
|
async cancelOrder(id, symbol = undefined, params = {}) {
|
|
@@ -4309,7 +4239,7 @@ export default class bybit extends Exchange {
|
|
|
4309
4239
|
// "time": 1672217377164
|
|
4310
4240
|
// }
|
|
4311
4241
|
//
|
|
4312
|
-
const result = this.
|
|
4242
|
+
const result = this.safeDict(response, 'result', {});
|
|
4313
4243
|
return this.parseOrder(result, market);
|
|
4314
4244
|
}
|
|
4315
4245
|
async cancelOrders(ids, symbol = undefined, params = {}) {
|
|
@@ -4606,7 +4536,7 @@ export default class bybit extends Exchange {
|
|
|
4606
4536
|
// }
|
|
4607
4537
|
//
|
|
4608
4538
|
const result = this.safeValue(response, 'result', {});
|
|
4609
|
-
const data = this.
|
|
4539
|
+
const data = this.safeList(result, 'dataList', []);
|
|
4610
4540
|
return this.parseOrders(data, market, since, limit);
|
|
4611
4541
|
}
|
|
4612
4542
|
async fetchOrderClassic(id, symbol = undefined, params = {}) {
|
|
@@ -5234,7 +5164,7 @@ export default class bybit extends Exchange {
|
|
|
5234
5164
|
// }
|
|
5235
5165
|
//
|
|
5236
5166
|
const result = this.safeValue(response, 'result', {});
|
|
5237
|
-
const dataList = this.
|
|
5167
|
+
const dataList = this.safeList(result, 'dataList', []);
|
|
5238
5168
|
return this.parseTrades(dataList, market, since, limit);
|
|
5239
5169
|
}
|
|
5240
5170
|
async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -5437,7 +5367,7 @@ export default class bybit extends Exchange {
|
|
|
5437
5367
|
const chains = this.safeValue(result, 'chains', []);
|
|
5438
5368
|
const chainsIndexedById = this.indexBy(chains, 'chain');
|
|
5439
5369
|
const selectedNetworkId = this.selectNetworkIdFromRawNetworks(code, networkCode, chainsIndexedById);
|
|
5440
|
-
const addressObject = this.
|
|
5370
|
+
const addressObject = this.safeDict(chainsIndexedById, selectedNetworkId, {});
|
|
5441
5371
|
return this.parseDepositAddress(addressObject, currency);
|
|
5442
5372
|
}
|
|
5443
5373
|
async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -5996,7 +5926,7 @@ export default class bybit extends Exchange {
|
|
|
5996
5926
|
// "time": "1666892894902"
|
|
5997
5927
|
// }
|
|
5998
5928
|
//
|
|
5999
|
-
const result = this.
|
|
5929
|
+
const result = this.safeDict(response, 'result', {});
|
|
6000
5930
|
return this.parseTransaction(result, currency);
|
|
6001
5931
|
}
|
|
6002
5932
|
async fetchPosition(symbol, params = {}) {
|
|
@@ -6405,6 +6335,12 @@ export default class bybit extends Exchange {
|
|
|
6405
6335
|
if (timestamp === undefined) {
|
|
6406
6336
|
timestamp = this.safeIntegerN(position, ['updatedTime', 'updatedAt']);
|
|
6407
6337
|
}
|
|
6338
|
+
const tradeMode = this.safeInteger(position, 'tradeMode', 0);
|
|
6339
|
+
let marginMode = undefined;
|
|
6340
|
+
if ((!this.options['enableUnifiedAccount']) || (this.options['enableUnifiedAccount'] && market['inverse'])) {
|
|
6341
|
+
// tradeMode would work for classic and UTA(inverse)
|
|
6342
|
+
marginMode = (tradeMode === 1) ? 'isolated' : 'cross';
|
|
6343
|
+
}
|
|
6408
6344
|
let collateralString = this.safeString(position, 'positionBalance');
|
|
6409
6345
|
const entryPrice = this.omitZero(this.safeString2(position, 'entryPrice', 'avgPrice'));
|
|
6410
6346
|
const liquidationPrice = this.omitZero(this.safeString(position, 'liqPrice'));
|
|
@@ -6468,7 +6404,7 @@ export default class bybit extends Exchange {
|
|
|
6468
6404
|
'markPrice': this.safeNumber(position, 'markPrice'),
|
|
6469
6405
|
'lastPrice': undefined,
|
|
6470
6406
|
'collateral': this.parseNumber(collateralString),
|
|
6471
|
-
'marginMode':
|
|
6407
|
+
'marginMode': marginMode,
|
|
6472
6408
|
'side': side,
|
|
6473
6409
|
'percentage': undefined,
|
|
6474
6410
|
'stopLossPrice': this.safeNumber2(position, 'stop_loss', 'stopLoss'),
|
|
@@ -7530,7 +7466,7 @@ export default class bybit extends Exchange {
|
|
|
7530
7466
|
// }
|
|
7531
7467
|
//
|
|
7532
7468
|
const data = this.safeValue(response, 'result', {});
|
|
7533
|
-
const rows = this.
|
|
7469
|
+
const rows = this.safeList(data, 'rows', []);
|
|
7534
7470
|
return this.parseDepositWithdrawFees(rows, codes, 'coin');
|
|
7535
7471
|
}
|
|
7536
7472
|
async fetchSettlementHistory(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
package/js/src/coincheck.js
CHANGED
|
@@ -488,7 +488,7 @@ export default class coincheck extends Exchange {
|
|
|
488
488
|
// ]
|
|
489
489
|
// }
|
|
490
490
|
//
|
|
491
|
-
const transactions = this.
|
|
491
|
+
const transactions = this.safeList(response, 'data', []);
|
|
492
492
|
return this.parseTrades(transactions, market, since, limit);
|
|
493
493
|
}
|
|
494
494
|
async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
|
|
@@ -522,7 +522,7 @@ export default class coincheck extends Exchange {
|
|
|
522
522
|
// "created_at": "2021-12-08T14:10:33.000Z"
|
|
523
523
|
// }
|
|
524
524
|
//
|
|
525
|
-
const data = this.
|
|
525
|
+
const data = this.safeList(response, 'data', []);
|
|
526
526
|
return this.parseTrades(data, market, since, limit);
|
|
527
527
|
}
|
|
528
528
|
async fetchTradingFees(params = {}) {
|
|
@@ -671,7 +671,7 @@ export default class coincheck extends Exchange {
|
|
|
671
671
|
// }
|
|
672
672
|
// ]
|
|
673
673
|
// }
|
|
674
|
-
const data = this.
|
|
674
|
+
const data = this.safeList(response, 'deposits', []);
|
|
675
675
|
return this.parseTransactions(data, currency, since, limit, { 'type': 'deposit' });
|
|
676
676
|
}
|
|
677
677
|
async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -717,7 +717,7 @@ export default class coincheck extends Exchange {
|
|
|
717
717
|
// }
|
|
718
718
|
// ]
|
|
719
719
|
// }
|
|
720
|
-
const data = this.
|
|
720
|
+
const data = this.safeList(response, 'data', []);
|
|
721
721
|
return this.parseTransactions(data, currency, since, limit, { 'type': 'withdrawal' });
|
|
722
722
|
}
|
|
723
723
|
parseTransactionStatus(status) {
|
package/js/src/coinex.d.ts
CHANGED
|
@@ -211,7 +211,7 @@ export default class coinex extends Exchange {
|
|
|
211
211
|
parseLeverage(leverage: any, market?: any): Leverage;
|
|
212
212
|
handleMarginModeAndParams(methodName: any, params?: {}, defaultValue?: any): any[];
|
|
213
213
|
nonce(): number;
|
|
214
|
-
sign(path: any, api?:
|
|
214
|
+
sign(path: any, api?: any[], method?: string, params?: {}, headers?: any, body?: any): {
|
|
215
215
|
url: string;
|
|
216
216
|
method: string;
|
|
217
217
|
body: any;
|