ccxt 4.2.84 → 4.2.85
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/build.sh +1 -1
- package/dist/ccxt.browser.js +867 -904
- 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 +13 -9
- package/dist/cjs/src/bit2c.js +1 -1
- package/dist/cjs/src/bitbank.js +8 -8
- 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 +11 -11
- 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 +2 -2
- 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 +13 -13
- 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/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/ace.js +5 -5
- package/js/src/ascendex.js +8 -8
- package/js/src/base/Exchange.d.ts +4 -3
- 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 +13 -9
- package/js/src/bit2c.js +1 -1
- package/js/src/bitbank.js +8 -8
- 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.js +11 -11
- 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 +2 -2
- 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 +13 -13
- 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/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/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.js
CHANGED
|
@@ -1374,7 +1374,7 @@ export default class coinex extends Exchange {
|
|
|
1374
1374
|
// "message": "OK"
|
|
1375
1375
|
// }
|
|
1376
1376
|
//
|
|
1377
|
-
const data = this.
|
|
1377
|
+
const data = this.safeList(response, 'data', []);
|
|
1378
1378
|
return this.parseOHLCVs(data, market, timeframe, since, limit);
|
|
1379
1379
|
}
|
|
1380
1380
|
async fetchMarginBalance(params = {}) {
|
|
@@ -2299,7 +2299,7 @@ export default class coinex extends Exchange {
|
|
|
2299
2299
|
//
|
|
2300
2300
|
// {"code":0,"data":{"status":"success"},"message":"OK"}
|
|
2301
2301
|
//
|
|
2302
|
-
const data = this.
|
|
2302
|
+
const data = this.safeDict(response, 'data', {});
|
|
2303
2303
|
return this.parseOrder(data, market);
|
|
2304
2304
|
}
|
|
2305
2305
|
async createOrders(orders, params = {}) {
|
|
@@ -2601,7 +2601,7 @@ export default class coinex extends Exchange {
|
|
|
2601
2601
|
// "message": "Success"
|
|
2602
2602
|
// }
|
|
2603
2603
|
//
|
|
2604
|
-
const data = this.
|
|
2604
|
+
const data = this.safeDict(response, 'data', {});
|
|
2605
2605
|
return this.parseOrder(data, market);
|
|
2606
2606
|
}
|
|
2607
2607
|
async cancelOrder(id, symbol = undefined, params = {}) {
|
|
@@ -2791,7 +2791,7 @@ export default class coinex extends Exchange {
|
|
|
2791
2791
|
//
|
|
2792
2792
|
// {"code":0,"data":{},"message":"Success"}
|
|
2793
2793
|
//
|
|
2794
|
-
const data = this.
|
|
2794
|
+
const data = this.safeDict(response, 'data');
|
|
2795
2795
|
return this.parseOrder(data, market);
|
|
2796
2796
|
}
|
|
2797
2797
|
async cancelAllOrders(symbol = undefined, params = {}) {
|
|
@@ -2988,7 +2988,7 @@ export default class coinex extends Exchange {
|
|
|
2988
2988
|
// "message":"OK"
|
|
2989
2989
|
// }
|
|
2990
2990
|
//
|
|
2991
|
-
const data = this.
|
|
2991
|
+
const data = this.safeDict(response, 'data');
|
|
2992
2992
|
return this.parseOrder(data, market);
|
|
2993
2993
|
}
|
|
2994
2994
|
async fetchOrdersByStatus(status, symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -3214,7 +3214,7 @@ export default class coinex extends Exchange {
|
|
|
3214
3214
|
//
|
|
3215
3215
|
const tradeRequest = (marketType === 'swap') ? 'records' : 'data';
|
|
3216
3216
|
const data = this.safeValue(response, 'data');
|
|
3217
|
-
const orders = this.
|
|
3217
|
+
const orders = this.safeList(data, tradeRequest, []);
|
|
3218
3218
|
return this.parseOrders(orders, market, since, limit);
|
|
3219
3219
|
}
|
|
3220
3220
|
async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -3280,7 +3280,7 @@ export default class coinex extends Exchange {
|
|
|
3280
3280
|
// },
|
|
3281
3281
|
// "message": "Success"
|
|
3282
3282
|
// }
|
|
3283
|
-
const data = this.
|
|
3283
|
+
const data = this.safeDict(response, 'data', {});
|
|
3284
3284
|
return this.parseDepositAddress(data, currency);
|
|
3285
3285
|
}
|
|
3286
3286
|
async fetchDepositAddress(code, params = {}) {
|
|
@@ -3510,7 +3510,7 @@ export default class coinex extends Exchange {
|
|
|
3510
3510
|
//
|
|
3511
3511
|
const tradeRequest = swap ? 'records' : 'data';
|
|
3512
3512
|
const data = this.safeValue(response, 'data');
|
|
3513
|
-
const trades = this.
|
|
3513
|
+
const trades = this.safeList(data, tradeRequest, []);
|
|
3514
3514
|
return this.parseTrades(trades, market, since, limit);
|
|
3515
3515
|
}
|
|
3516
3516
|
async fetchPositions(symbols = undefined, params = {}) {
|
|
@@ -3705,7 +3705,7 @@ export default class coinex extends Exchange {
|
|
|
3705
3705
|
// "message": "OK"
|
|
3706
3706
|
// }
|
|
3707
3707
|
//
|
|
3708
|
-
const data = this.
|
|
3708
|
+
const data = this.safeList(response, 'data', []);
|
|
3709
3709
|
return this.parsePosition(data[0], market);
|
|
3710
3710
|
}
|
|
3711
3711
|
parsePosition(position, market = undefined) {
|
|
@@ -4399,7 +4399,7 @@ export default class coinex extends Exchange {
|
|
|
4399
4399
|
// "message": "Ok"
|
|
4400
4400
|
// }
|
|
4401
4401
|
//
|
|
4402
|
-
const transaction = this.
|
|
4402
|
+
const transaction = this.safeDict(response, 'data', {});
|
|
4403
4403
|
return this.parseTransaction(transaction, currency);
|
|
4404
4404
|
}
|
|
4405
4405
|
parseTransactionStatus(status) {
|
|
@@ -4816,7 +4816,7 @@ export default class coinex extends Exchange {
|
|
|
4816
4816
|
// }
|
|
4817
4817
|
//
|
|
4818
4818
|
const data = this.safeValue(response, 'data', {});
|
|
4819
|
-
const transfers = this.
|
|
4819
|
+
const transfers = this.safeList(data, 'records', []);
|
|
4820
4820
|
return this.parseTransfers(transfers, currency, since, limit);
|
|
4821
4821
|
}
|
|
4822
4822
|
async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
|
package/js/src/coinlist.js
CHANGED
|
@@ -715,7 +715,7 @@ export default class coinlist extends Exchange {
|
|
|
715
715
|
// ]
|
|
716
716
|
// }
|
|
717
717
|
//
|
|
718
|
-
const candles = this.
|
|
718
|
+
const candles = this.safeList(response, 'candles', []);
|
|
719
719
|
return this.parseOHLCVs(candles, market, timeframe, since, limit);
|
|
720
720
|
}
|
|
721
721
|
parseOHLCV(ohlcv, market = undefined) {
|
|
@@ -793,7 +793,7 @@ export default class coinlist extends Exchange {
|
|
|
793
793
|
// ]
|
|
794
794
|
// }
|
|
795
795
|
//
|
|
796
|
-
const auctions = this.
|
|
796
|
+
const auctions = this.safeList(response, 'auctions', []);
|
|
797
797
|
return this.parseTrades(auctions, market, since, limit);
|
|
798
798
|
}
|
|
799
799
|
parseTrade(trade, market = undefined) {
|
|
@@ -1200,7 +1200,7 @@ export default class coinlist extends Exchange {
|
|
|
1200
1200
|
// ]
|
|
1201
1201
|
// }
|
|
1202
1202
|
//
|
|
1203
|
-
const fills = this.
|
|
1203
|
+
const fills = this.safeList(response, 'fills', []);
|
|
1204
1204
|
return this.parseTrades(fills, market, since, limit);
|
|
1205
1205
|
}
|
|
1206
1206
|
async fetchOrderTrades(id, symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -1286,7 +1286,7 @@ export default class coinlist extends Exchange {
|
|
|
1286
1286
|
// ]
|
|
1287
1287
|
// }
|
|
1288
1288
|
//
|
|
1289
|
-
const orders = this.
|
|
1289
|
+
const orders = this.safeList(response, 'orders', []);
|
|
1290
1290
|
return this.parseOrders(orders, market, since, limit);
|
|
1291
1291
|
}
|
|
1292
1292
|
async fetchOrder(id, symbol = undefined, params = {}) {
|
|
@@ -1530,7 +1530,7 @@ export default class coinlist extends Exchange {
|
|
|
1530
1530
|
// "timestamp": "2023-10-26T11:30:55.376Z"
|
|
1531
1531
|
// }
|
|
1532
1532
|
//
|
|
1533
|
-
const order = this.
|
|
1533
|
+
const order = this.safeDict(response, 'order', {});
|
|
1534
1534
|
return this.parseOrder(order, market);
|
|
1535
1535
|
}
|
|
1536
1536
|
async editOrder(id, symbol, type, side, amount = undefined, price = undefined, params = {}) {
|
|
@@ -1818,7 +1818,7 @@ export default class coinlist extends Exchange {
|
|
|
1818
1818
|
// ]
|
|
1819
1819
|
// }
|
|
1820
1820
|
//
|
|
1821
|
-
const transfers = this.
|
|
1821
|
+
const transfers = this.safeList(response, 'transfers', []);
|
|
1822
1822
|
return this.parseTransfers(transfers, currency, since, limit);
|
|
1823
1823
|
}
|
|
1824
1824
|
parseTransfer(transfer, currency = undefined) {
|
|
@@ -1988,7 +1988,7 @@ export default class coinlist extends Exchange {
|
|
|
1988
1988
|
// "transfer_id": "d4a2d8dd-7def-4545-a062-761683b9aa05"
|
|
1989
1989
|
// }
|
|
1990
1990
|
//
|
|
1991
|
-
const data = this.
|
|
1991
|
+
const data = this.safeDict(response, 'data', {});
|
|
1992
1992
|
return this.parseTransaction(data, currency);
|
|
1993
1993
|
}
|
|
1994
1994
|
parseTransaction(transaction, currency = undefined) {
|
package/js/src/coinmate.js
CHANGED
|
@@ -400,7 +400,7 @@ export default class coinmate extends Exchange {
|
|
|
400
400
|
// }
|
|
401
401
|
// }
|
|
402
402
|
//
|
|
403
|
-
const data = this.
|
|
403
|
+
const data = this.safeDict(response, 'data');
|
|
404
404
|
return this.parseTicker(data, market);
|
|
405
405
|
}
|
|
406
406
|
async fetchTickers(symbols = undefined, params = {}) {
|
|
@@ -683,7 +683,7 @@ export default class coinmate extends Exchange {
|
|
|
683
683
|
request['timestampFrom'] = since;
|
|
684
684
|
}
|
|
685
685
|
const response = await this.privatePostTradeHistory(this.extend(request, params));
|
|
686
|
-
const data = this.
|
|
686
|
+
const data = this.safeList(response, 'data', []);
|
|
687
687
|
return this.parseTrades(data, undefined, since, limit);
|
|
688
688
|
}
|
|
689
689
|
parseTrade(trade, market = undefined) {
|
|
@@ -784,7 +784,7 @@ export default class coinmate extends Exchange {
|
|
|
784
784
|
// ]
|
|
785
785
|
// }
|
|
786
786
|
//
|
|
787
|
-
const data = this.
|
|
787
|
+
const data = this.safeList(response, 'data', []);
|
|
788
788
|
return this.parseTrades(data, market, since, limit);
|
|
789
789
|
}
|
|
790
790
|
async fetchTradingFee(symbol, params = {}) {
|
|
@@ -1028,7 +1028,7 @@ export default class coinmate extends Exchange {
|
|
|
1028
1028
|
market = this.market(symbol);
|
|
1029
1029
|
}
|
|
1030
1030
|
const response = await this.privatePostOrderById(this.extend(request, params));
|
|
1031
|
-
const data = this.
|
|
1031
|
+
const data = this.safeDict(response, 'data');
|
|
1032
1032
|
return this.parseOrder(data, market);
|
|
1033
1033
|
}
|
|
1034
1034
|
async cancelOrder(id, symbol = undefined, params = {}) {
|
package/js/src/coinmetro.js
CHANGED
|
@@ -544,7 +544,7 @@ export default class coinmetro extends Exchange {
|
|
|
544
544
|
// ]
|
|
545
545
|
// }
|
|
546
546
|
//
|
|
547
|
-
const candleHistory = this.
|
|
547
|
+
const candleHistory = this.safeList(response, 'candleHistory', []);
|
|
548
548
|
return this.parseOHLCVs(candleHistory, market, timeframe, since, limit);
|
|
549
549
|
}
|
|
550
550
|
parseOHLCV(ohlcv, market = undefined) {
|
|
@@ -610,7 +610,7 @@ export default class coinmetro extends Exchange {
|
|
|
610
610
|
// ]
|
|
611
611
|
// }
|
|
612
612
|
//
|
|
613
|
-
const tickHistory = this.
|
|
613
|
+
const tickHistory = this.safeList(response, 'tickHistory', []);
|
|
614
614
|
return this.parseTrades(tickHistory, market, since, limit);
|
|
615
615
|
}
|
|
616
616
|
async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -883,7 +883,7 @@ export default class coinmetro extends Exchange {
|
|
|
883
883
|
*/
|
|
884
884
|
await this.loadMarkets();
|
|
885
885
|
const response = await this.publicGetExchangePrices(params);
|
|
886
|
-
const latestPrices = this.
|
|
886
|
+
const latestPrices = this.safeList(response, 'latestPrices', []);
|
|
887
887
|
return this.parseTickers(latestPrices, symbols);
|
|
888
888
|
}
|
|
889
889
|
parseTicker(ticker, market = undefined) {
|
package/js/src/coinone.js
CHANGED
|
@@ -515,7 +515,7 @@ export default class coinone extends Exchange {
|
|
|
515
515
|
// ]
|
|
516
516
|
// }
|
|
517
517
|
//
|
|
518
|
-
const data = this.
|
|
518
|
+
const data = this.safeList(response, 'tickers', []);
|
|
519
519
|
return this.parseTickers(data, symbols);
|
|
520
520
|
}
|
|
521
521
|
async fetchTicker(symbol, params = {}) {
|
|
@@ -569,7 +569,7 @@ export default class coinone extends Exchange {
|
|
|
569
569
|
// }
|
|
570
570
|
//
|
|
571
571
|
const data = this.safeValue(response, 'tickers', []);
|
|
572
|
-
const ticker = this.
|
|
572
|
+
const ticker = this.safeDict(data, 0, {});
|
|
573
573
|
return this.parseTicker(ticker, market);
|
|
574
574
|
}
|
|
575
575
|
parseTicker(ticker, market = undefined) {
|
|
@@ -733,7 +733,7 @@ export default class coinone extends Exchange {
|
|
|
733
733
|
// ]
|
|
734
734
|
// }
|
|
735
735
|
//
|
|
736
|
-
const data = this.
|
|
736
|
+
const data = this.safeList(response, 'transactions', []);
|
|
737
737
|
return this.parseTrades(data, market, since, limit);
|
|
738
738
|
}
|
|
739
739
|
async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
|
|
@@ -979,7 +979,7 @@ export default class coinone extends Exchange {
|
|
|
979
979
|
// ]
|
|
980
980
|
// }
|
|
981
981
|
//
|
|
982
|
-
const limitOrders = this.
|
|
982
|
+
const limitOrders = this.safeList(response, 'limitOrders', []);
|
|
983
983
|
return this.parseOrders(limitOrders, market, since, limit);
|
|
984
984
|
}
|
|
985
985
|
async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
@@ -1022,7 +1022,7 @@ export default class coinone extends Exchange {
|
|
|
1022
1022
|
// ]
|
|
1023
1023
|
// }
|
|
1024
1024
|
//
|
|
1025
|
-
const completeOrders = this.
|
|
1025
|
+
const completeOrders = this.safeList(response, 'completeOrders', []);
|
|
1026
1026
|
return this.parseTrades(completeOrders, market, since, limit);
|
|
1027
1027
|
}
|
|
1028
1028
|
async cancelOrder(id, symbol = undefined, params = {}) {
|
package/js/src/coinspot.js
CHANGED
|
@@ -285,7 +285,7 @@ export default class coinspot extends Exchange {
|
|
|
285
285
|
// }
|
|
286
286
|
// }
|
|
287
287
|
//
|
|
288
|
-
const ticker = this.
|
|
288
|
+
const ticker = this.safeDict(prices, id);
|
|
289
289
|
return this.parseTicker(ticker, market);
|
|
290
290
|
}
|
|
291
291
|
async fetchTickers(symbols = undefined, params = {}) {
|
|
@@ -357,7 +357,7 @@ export default class coinspot extends Exchange {
|
|
|
357
357
|
// ],
|
|
358
358
|
// }
|
|
359
359
|
//
|
|
360
|
-
const trades = this.
|
|
360
|
+
const trades = this.safeList(response, 'orders', []);
|
|
361
361
|
return this.parseTrades(trades, market, since, limit);
|
|
362
362
|
}
|
|
363
363
|
async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|