ccxt 4.3.41 → 4.3.43
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.min.js +3 -3
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/binance.js +169 -44
- package/dist/cjs/src/bitmart.js +196 -100
- package/dist/cjs/src/blockchaincom.js +11 -7
- package/dist/cjs/src/btcmarkets.js +31 -2
- package/dist/cjs/src/coinex.js +107 -108
- package/dist/cjs/src/kraken.js +30 -3
- package/dist/cjs/src/krakenfutures.js +56 -1
- package/dist/cjs/src/kucoin.js +59 -2
- package/dist/cjs/src/phemex.js +5 -4
- package/dist/cjs/src/pro/bitget.js +36 -22
- package/dist/cjs/src/pro/bybit.js +1 -1
- package/dist/cjs/src/pro/mexc.js +2 -2
- package/dist/cjs/src/pro/upbit.js +8 -4
- package/dist/cjs/src/pro/woo.js +2 -2
- package/dist/cjs/src/tradeogre.js +11 -5
- package/dist/cjs/src/wavesexchange.js +2 -2
- package/dist/cjs/src/wazirx.js +38 -15
- package/dist/cjs/src/zonda.js +9 -1
- package/js/ccxt.d.ts +3 -3
- package/js/ccxt.js +1 -1
- package/js/src/abstract/coinex.d.ts +2 -1
- package/js/src/binance.js +169 -44
- package/js/src/bitmart.js +196 -100
- package/js/src/blockchaincom.d.ts +2 -8
- package/js/src/blockchaincom.js +11 -7
- package/js/src/btcmarkets.d.ts +2 -2
- package/js/src/btcmarkets.js +31 -2
- package/js/src/coinex.js +107 -108
- package/js/src/kraken.d.ts +3 -3
- package/js/src/kraken.js +30 -3
- package/js/src/krakenfutures.d.ts +1 -1
- package/js/src/krakenfutures.js +56 -1
- package/js/src/kucoin.d.ts +1 -1
- package/js/src/kucoin.js +59 -2
- package/js/src/phemex.js +6 -5
- package/js/src/pro/bitget.js +36 -22
- package/js/src/pro/bybit.js +1 -1
- package/js/src/pro/mexc.js +2 -2
- package/js/src/pro/upbit.js +8 -4
- package/js/src/pro/woo.js +2 -2
- package/js/src/tradeogre.d.ts +1 -1
- package/js/src/tradeogre.js +12 -6
- package/js/src/wavesexchange.d.ts +1 -20
- package/js/src/wavesexchange.js +2 -2
- package/js/src/wazirx.d.ts +1 -1
- package/js/src/wazirx.js +38 -15
- package/js/src/zonda.d.ts +1 -1
- package/js/src/zonda.js +9 -1
- package/package.json +1 -1
package/dist/cjs/src/bitmart.js
CHANGED
|
@@ -1127,27 +1127,46 @@ class bitmart extends bitmart$1 {
|
|
|
1127
1127
|
}
|
|
1128
1128
|
parseTicker(ticker, market = undefined) {
|
|
1129
1129
|
//
|
|
1130
|
-
// spot (REST)
|
|
1130
|
+
// spot (REST) fetchTickers
|
|
1131
1131
|
//
|
|
1132
|
-
//
|
|
1133
|
-
//
|
|
1134
|
-
//
|
|
1135
|
-
//
|
|
1136
|
-
//
|
|
1137
|
-
//
|
|
1138
|
-
//
|
|
1139
|
-
//
|
|
1140
|
-
//
|
|
1141
|
-
//
|
|
1142
|
-
//
|
|
1143
|
-
//
|
|
1144
|
-
//
|
|
1145
|
-
//
|
|
1146
|
-
//
|
|
1147
|
-
//
|
|
1148
|
-
//
|
|
1132
|
+
// {
|
|
1133
|
+
// 'result': [
|
|
1134
|
+
// "AFIN_USDT", // symbol
|
|
1135
|
+
// "0.001047", // last
|
|
1136
|
+
// "11110", // v_24h
|
|
1137
|
+
// "11.632170", // qv_24h
|
|
1138
|
+
// "0.001048", // open_24h
|
|
1139
|
+
// "0.001048", // high_24h
|
|
1140
|
+
// "0.001047", // low_24h
|
|
1141
|
+
// "-0.00095", // price_change_24h
|
|
1142
|
+
// "0.001029", // bid_px
|
|
1143
|
+
// "5555", // bid_sz
|
|
1144
|
+
// "0.001041", // ask_px
|
|
1145
|
+
// "5297", // ask_sz
|
|
1146
|
+
// "1717122550482" // timestamp
|
|
1147
|
+
// ]
|
|
1148
|
+
// }
|
|
1149
|
+
//
|
|
1150
|
+
// spot (REST) fetchTicker
|
|
1151
|
+
//
|
|
1152
|
+
// {
|
|
1153
|
+
// "symbol": "BTC_USDT",
|
|
1154
|
+
// "last": "68500.00",
|
|
1155
|
+
// "v_24h": "10491.65490",
|
|
1156
|
+
// "qv_24h": "717178990.42",
|
|
1157
|
+
// "open_24h": "68149.75",
|
|
1158
|
+
// "high_24h": "69499.99",
|
|
1159
|
+
// "low_24h": "67132.40",
|
|
1160
|
+
// "fluctuation": "0.00514",
|
|
1161
|
+
// "bid_px": "68500",
|
|
1162
|
+
// "bid_sz": "0.00162",
|
|
1163
|
+
// "ask_px": "68500.01",
|
|
1164
|
+
// "ask_sz": "0.01722",
|
|
1165
|
+
// "ts": "1717131391671"
|
|
1166
|
+
// }
|
|
1149
1167
|
//
|
|
1150
1168
|
// spot (WS)
|
|
1169
|
+
//
|
|
1151
1170
|
// {
|
|
1152
1171
|
// "symbol":"BTC_USDT",
|
|
1153
1172
|
// "last_price":"146.24",
|
|
@@ -1173,21 +1192,47 @@ class bitmart extends bitmart$1 {
|
|
|
1173
1192
|
// "legal_coin_price":"0.1302699"
|
|
1174
1193
|
// }
|
|
1175
1194
|
//
|
|
1176
|
-
|
|
1195
|
+
const result = this.safeList(ticker, 'result', []);
|
|
1196
|
+
const average = this.safeString2(ticker, 'avg_price', 'index_price');
|
|
1197
|
+
let marketId = this.safeString2(ticker, 'symbol', 'contract_symbol');
|
|
1198
|
+
let timestamp = this.safeInteger2(ticker, 'timestamp', 'ts');
|
|
1199
|
+
let last = this.safeString2(ticker, 'last_price', 'last');
|
|
1200
|
+
let percentage = this.safeString(ticker, 'price_change_percent_24h');
|
|
1201
|
+
let change = this.safeString(ticker, 'fluctuation');
|
|
1202
|
+
let high = this.safeString2(ticker, 'high_24h', 'high_price');
|
|
1203
|
+
let low = this.safeString2(ticker, 'low_24h', 'low_price');
|
|
1204
|
+
let bid = this.safeString2(ticker, 'best_bid', 'bid_px');
|
|
1205
|
+
let bidVolume = this.safeString2(ticker, 'best_bid_size', 'bid_sz');
|
|
1206
|
+
let ask = this.safeString2(ticker, 'best_ask', 'ask_px');
|
|
1207
|
+
let askVolume = this.safeString2(ticker, 'best_ask_size', 'ask_sz');
|
|
1208
|
+
let open = this.safeString(ticker, 'open_24h');
|
|
1209
|
+
let baseVolume = this.safeString2(ticker, 'base_volume_24h', 'v_24h');
|
|
1210
|
+
let quoteVolume = this.safeStringLower2(ticker, 'quote_volume_24h', 'qv_24h');
|
|
1211
|
+
const listMarketId = this.safeString(result, 0);
|
|
1212
|
+
if (listMarketId !== undefined) {
|
|
1213
|
+
marketId = listMarketId;
|
|
1214
|
+
timestamp = this.safeInteger(result, 12);
|
|
1215
|
+
high = this.safeString(result, 5);
|
|
1216
|
+
low = this.safeString(result, 6);
|
|
1217
|
+
bid = this.safeString(result, 8);
|
|
1218
|
+
bidVolume = this.safeString(result, 9);
|
|
1219
|
+
ask = this.safeString(result, 10);
|
|
1220
|
+
askVolume = this.safeString(result, 11);
|
|
1221
|
+
open = this.safeString(result, 4);
|
|
1222
|
+
last = this.safeString(result, 1);
|
|
1223
|
+
change = this.safeString(result, 7);
|
|
1224
|
+
baseVolume = this.safeString(result, 2);
|
|
1225
|
+
quoteVolume = this.safeStringLower(result, 3);
|
|
1226
|
+
}
|
|
1227
|
+
market = this.safeMarket(marketId, market);
|
|
1228
|
+
const symbol = market['symbol'];
|
|
1177
1229
|
if (timestamp === undefined) {
|
|
1178
1230
|
// ticker from WS has a different field (in seconds)
|
|
1179
1231
|
timestamp = this.safeIntegerProduct(ticker, 's_t', 1000);
|
|
1180
1232
|
}
|
|
1181
|
-
const marketId = this.safeString2(ticker, 'symbol', 'contract_symbol');
|
|
1182
|
-
market = this.safeMarket(marketId, market);
|
|
1183
|
-
const symbol = market['symbol'];
|
|
1184
|
-
const last = this.safeString2(ticker, 'close_24h', 'last_price');
|
|
1185
|
-
let percentage = this.safeString(ticker, 'price_change_percent_24h');
|
|
1186
1233
|
if (percentage === undefined) {
|
|
1187
|
-
percentage = Precise["default"].stringMul(
|
|
1234
|
+
percentage = Precise["default"].stringMul(change, '100');
|
|
1188
1235
|
}
|
|
1189
|
-
let baseVolume = this.safeString(ticker, 'base_volume_24h');
|
|
1190
|
-
let quoteVolume = this.safeString(ticker, 'quote_volume_24h');
|
|
1191
1236
|
if (quoteVolume === undefined) {
|
|
1192
1237
|
if (baseVolume === undefined) {
|
|
1193
1238
|
// this is swap
|
|
@@ -1200,25 +1245,22 @@ class bitmart extends bitmart$1 {
|
|
|
1200
1245
|
baseVolume = undefined;
|
|
1201
1246
|
}
|
|
1202
1247
|
}
|
|
1203
|
-
const average = this.safeString2(ticker, 'avg_price', 'index_price');
|
|
1204
|
-
const high = this.safeString2(ticker, 'high_24h', 'high_price');
|
|
1205
|
-
const low = this.safeString2(ticker, 'low_24h', 'low_price');
|
|
1206
1248
|
return this.safeTicker({
|
|
1207
1249
|
'symbol': symbol,
|
|
1208
1250
|
'timestamp': timestamp,
|
|
1209
1251
|
'datetime': this.iso8601(timestamp),
|
|
1210
1252
|
'high': high,
|
|
1211
1253
|
'low': low,
|
|
1212
|
-
'bid':
|
|
1213
|
-
'bidVolume':
|
|
1214
|
-
'ask':
|
|
1215
|
-
'askVolume':
|
|
1254
|
+
'bid': bid,
|
|
1255
|
+
'bidVolume': bidVolume,
|
|
1256
|
+
'ask': ask,
|
|
1257
|
+
'askVolume': askVolume,
|
|
1216
1258
|
'vwap': undefined,
|
|
1217
|
-
'open':
|
|
1259
|
+
'open': open,
|
|
1218
1260
|
'close': last,
|
|
1219
1261
|
'last': last,
|
|
1220
1262
|
'previousClose': undefined,
|
|
1221
|
-
'change':
|
|
1263
|
+
'change': change,
|
|
1222
1264
|
'percentage': percentage,
|
|
1223
1265
|
'average': average,
|
|
1224
1266
|
'baseVolume': baseVolume,
|
|
@@ -1231,6 +1273,7 @@ class bitmart extends bitmart$1 {
|
|
|
1231
1273
|
* @method
|
|
1232
1274
|
* @name bitmart#fetchTicker
|
|
1233
1275
|
* @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
|
|
1276
|
+
* @see https://developer-pro.bitmart.com/en/spot/#get-ticker-of-a-trading-pair-v3
|
|
1234
1277
|
* @param {string} symbol unified symbol of the market to fetch the ticker for
|
|
1235
1278
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1236
1279
|
* @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
|
|
@@ -1242,78 +1285,72 @@ class bitmart extends bitmart$1 {
|
|
|
1242
1285
|
if (market['swap']) {
|
|
1243
1286
|
request['contract_symbol'] = market['id'];
|
|
1244
1287
|
response = await this.publicGetContractV1Tickers(this.extend(request, params));
|
|
1288
|
+
//
|
|
1289
|
+
// {
|
|
1290
|
+
// "message":"OK",
|
|
1291
|
+
// "code":1000,
|
|
1292
|
+
// "trace":"4a0ebceb-d3f7-45a3-8feb-f61e230e24cd",
|
|
1293
|
+
// "data":{
|
|
1294
|
+
// "tickers":[
|
|
1295
|
+
// {
|
|
1296
|
+
// "contract_symbol":"DOGEUSDT",
|
|
1297
|
+
// "last_price":"0.130180",
|
|
1298
|
+
// "index_price":"0.13028635",
|
|
1299
|
+
// "last_funding_rate":"0.00002025",
|
|
1300
|
+
// "price_change_percent_24h":"-2.326",
|
|
1301
|
+
// "volume_24h":"116789313.01797258",
|
|
1302
|
+
// "url":"https://futures.bitmart.com/en?symbol=DOGEUSDT",
|
|
1303
|
+
// "high_price":"0.134520",
|
|
1304
|
+
// "low_price":"0.128570",
|
|
1305
|
+
// "legal_coin_price":"0.13017401"
|
|
1306
|
+
// }
|
|
1307
|
+
// ]
|
|
1308
|
+
// }
|
|
1309
|
+
// }
|
|
1310
|
+
//
|
|
1245
1311
|
}
|
|
1246
1312
|
else if (market['spot']) {
|
|
1247
1313
|
request['symbol'] = market['id'];
|
|
1248
|
-
response = await this.
|
|
1314
|
+
response = await this.publicGetSpotQuotationV3Ticker(this.extend(request, params));
|
|
1315
|
+
//
|
|
1316
|
+
// {
|
|
1317
|
+
// "code": 1000,
|
|
1318
|
+
// "trace": "f2194c2c202d2.99.1717535",
|
|
1319
|
+
// "message": "success",
|
|
1320
|
+
// "data": {
|
|
1321
|
+
// "symbol": "BTC_USDT",
|
|
1322
|
+
// "last": "68500.00",
|
|
1323
|
+
// "v_24h": "10491.65490",
|
|
1324
|
+
// "qv_24h": "717178990.42",
|
|
1325
|
+
// "open_24h": "68149.75",
|
|
1326
|
+
// "high_24h": "69499.99",
|
|
1327
|
+
// "low_24h": "67132.40",
|
|
1328
|
+
// "fluctuation": "0.00514",
|
|
1329
|
+
// "bid_px": "68500",
|
|
1330
|
+
// "bid_sz": "0.00162",
|
|
1331
|
+
// "ask_px": "68500.01",
|
|
1332
|
+
// "ask_sz": "0.01722",
|
|
1333
|
+
// "ts": "1717131391671"
|
|
1334
|
+
// }
|
|
1335
|
+
// }
|
|
1336
|
+
//
|
|
1249
1337
|
}
|
|
1250
1338
|
else {
|
|
1251
1339
|
throw new errors.NotSupported(this.id + ' fetchTicker() does not support ' + market['type'] + ' markets, only spot and swap markets are accepted');
|
|
1252
1340
|
}
|
|
1253
|
-
//
|
|
1254
|
-
// spot
|
|
1255
|
-
//
|
|
1256
|
-
// {
|
|
1257
|
-
// "message":"OK",
|
|
1258
|
-
// "code":1000,
|
|
1259
|
-
// "trace":"6aa5b923-2f57-46e3-876d-feca190e0b82",
|
|
1260
|
-
// "data":{
|
|
1261
|
-
// "tickers":[
|
|
1262
|
-
// {
|
|
1263
|
-
// "symbol":"ETH_BTC",
|
|
1264
|
-
// "last_price":"0.036037",
|
|
1265
|
-
// "quote_volume_24h":"4380.6660000000",
|
|
1266
|
-
// "base_volume_24h":"159.3582006712",
|
|
1267
|
-
// "high_24h":"0.036972",
|
|
1268
|
-
// "low_24h":"0.035524",
|
|
1269
|
-
// "open_24h":"0.036561",
|
|
1270
|
-
// "close_24h":"0.036037",
|
|
1271
|
-
// "best_ask":"0.036077",
|
|
1272
|
-
// "best_ask_size":"9.9500",
|
|
1273
|
-
// "best_bid":"0.035983",
|
|
1274
|
-
// "best_bid_size":"4.2792",
|
|
1275
|
-
// "fluctuation":"-0.0143",
|
|
1276
|
-
// "url":"https://www.bitmart.com/trade?symbol=ETH_BTC"
|
|
1277
|
-
// }
|
|
1278
|
-
// ]
|
|
1279
|
-
// }
|
|
1280
|
-
// }
|
|
1281
|
-
//
|
|
1282
|
-
// swap
|
|
1283
|
-
//
|
|
1284
|
-
// {
|
|
1285
|
-
// "message":"OK",
|
|
1286
|
-
// "code":1000,
|
|
1287
|
-
// "trace":"4a0ebceb-d3f7-45a3-8feb-f61e230e24cd",
|
|
1288
|
-
// "data":{
|
|
1289
|
-
// "tickers":[
|
|
1290
|
-
// {
|
|
1291
|
-
// "contract_symbol":"DOGEUSDT",
|
|
1292
|
-
// "last_price":"0.130180",
|
|
1293
|
-
// "index_price":"0.13028635",
|
|
1294
|
-
// "last_funding_rate":"0.00002025",
|
|
1295
|
-
// "price_change_percent_24h":"-2.326",
|
|
1296
|
-
// "volume_24h":"116789313.01797258",
|
|
1297
|
-
// "url":"https://futures.bitmart.com/en?symbol=DOGEUSDT",
|
|
1298
|
-
// "high_price":"0.134520",
|
|
1299
|
-
// "low_price":"0.128570",
|
|
1300
|
-
// "legal_coin_price":"0.13017401"
|
|
1301
|
-
// }
|
|
1302
|
-
// ]
|
|
1303
|
-
// }
|
|
1304
|
-
// }
|
|
1305
|
-
//
|
|
1306
|
-
const data = this.safeValue(response, 'data', {});
|
|
1307
|
-
const tickers = this.safeValue(data, 'tickers', []);
|
|
1308
1341
|
// fails in naming for contract tickers 'contract_symbol'
|
|
1309
1342
|
let tickersById = undefined;
|
|
1343
|
+
let tickers = [];
|
|
1344
|
+
let ticker = {};
|
|
1310
1345
|
if (market['spot']) {
|
|
1311
|
-
|
|
1346
|
+
ticker = this.safeDict(response, 'data', {});
|
|
1312
1347
|
}
|
|
1313
|
-
else
|
|
1348
|
+
else {
|
|
1349
|
+
const data = this.safeDict(response, 'data', {});
|
|
1350
|
+
tickers = this.safeList(data, 'tickers', []);
|
|
1314
1351
|
tickersById = this.indexBy(tickers, 'contract_symbol');
|
|
1352
|
+
ticker = this.safeDict(tickersById, market['id']);
|
|
1315
1353
|
}
|
|
1316
|
-
const ticker = this.safeDict(tickersById, market['id']);
|
|
1317
1354
|
return this.parseTicker(ticker, market);
|
|
1318
1355
|
}
|
|
1319
1356
|
async fetchTickers(symbols = undefined, params = {}) {
|
|
@@ -1321,7 +1358,7 @@ class bitmart extends bitmart$1 {
|
|
|
1321
1358
|
* @method
|
|
1322
1359
|
* @name bitmart#fetchTickers
|
|
1323
1360
|
* @description fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
|
|
1324
|
-
* @see https://developer-pro.bitmart.com/en/spot/#get-ticker-of-all-pairs-
|
|
1361
|
+
* @see https://developer-pro.bitmart.com/en/spot/#get-ticker-of-all-pairs-v3
|
|
1325
1362
|
* @param {string[]|undefined} symbols unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
|
|
1326
1363
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1327
1364
|
* @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
|
|
@@ -1337,19 +1374,78 @@ class bitmart extends bitmart$1 {
|
|
|
1337
1374
|
[type, params] = this.handleMarketTypeAndParams('fetchTickers', market, params);
|
|
1338
1375
|
let response = undefined;
|
|
1339
1376
|
if (type === 'spot') {
|
|
1340
|
-
response = await this.
|
|
1377
|
+
response = await this.publicGetSpotQuotationV3Tickers(params);
|
|
1378
|
+
//
|
|
1379
|
+
// {
|
|
1380
|
+
// "code": 1000,
|
|
1381
|
+
// "trace": "17c5e5d9ac49f9b71efca2bed55f1a.105.171225637482393",
|
|
1382
|
+
// "message": "success",
|
|
1383
|
+
// "data": [
|
|
1384
|
+
// [
|
|
1385
|
+
// "AFIN_USDT",
|
|
1386
|
+
// "0.001047",
|
|
1387
|
+
// "11110",
|
|
1388
|
+
// "11.632170",
|
|
1389
|
+
// "0.001048",
|
|
1390
|
+
// "0.001048",
|
|
1391
|
+
// "0.001047",
|
|
1392
|
+
// "-0.00095",
|
|
1393
|
+
// "0.001029",
|
|
1394
|
+
// "5555",
|
|
1395
|
+
// "0.001041",
|
|
1396
|
+
// "5297",
|
|
1397
|
+
// "1717122550482"
|
|
1398
|
+
// ],
|
|
1399
|
+
// ]
|
|
1400
|
+
// }
|
|
1401
|
+
//
|
|
1341
1402
|
}
|
|
1342
1403
|
else if (type === 'swap') {
|
|
1343
1404
|
response = await this.publicGetContractV1Tickers(params);
|
|
1405
|
+
//
|
|
1406
|
+
// {
|
|
1407
|
+
// "message": "OK",
|
|
1408
|
+
// "code": 1000,
|
|
1409
|
+
// "trace": "c1dec681c24ea5d.105.171712565",
|
|
1410
|
+
// "data": {
|
|
1411
|
+
// "tickers": [
|
|
1412
|
+
// {
|
|
1413
|
+
// "contract_symbol": "SNTUSDT",
|
|
1414
|
+
// "last_price": "0.0366600",
|
|
1415
|
+
// "index_price": "0.03587373",
|
|
1416
|
+
// "last_funding_rate": "0.00005000",
|
|
1417
|
+
// "price_change_percent_24h": "-2.629",
|
|
1418
|
+
// "volume_24h": "10102540.19909109848",
|
|
1419
|
+
// "url": "https://futures.bitmart.com/en?symbol=SNTUSDT",
|
|
1420
|
+
// "high_price": "0.0405600",
|
|
1421
|
+
// "low_price": "0.0355000",
|
|
1422
|
+
// "legal_coin_price": "0.03666697"
|
|
1423
|
+
// },
|
|
1424
|
+
// ]
|
|
1425
|
+
// }
|
|
1426
|
+
// }
|
|
1427
|
+
//
|
|
1344
1428
|
}
|
|
1345
1429
|
else {
|
|
1346
1430
|
throw new errors.NotSupported(this.id + ' fetchTickers() does not support ' + type + ' markets, only spot and swap markets are accepted');
|
|
1347
1431
|
}
|
|
1348
|
-
|
|
1349
|
-
|
|
1432
|
+
let tickers = [];
|
|
1433
|
+
if (type === 'spot') {
|
|
1434
|
+
tickers = this.safeList(response, 'data', []);
|
|
1435
|
+
}
|
|
1436
|
+
else {
|
|
1437
|
+
const data = this.safeDict(response, 'data', {});
|
|
1438
|
+
tickers = this.safeList(data, 'tickers', []);
|
|
1439
|
+
}
|
|
1350
1440
|
const result = {};
|
|
1351
1441
|
for (let i = 0; i < tickers.length; i++) {
|
|
1352
|
-
|
|
1442
|
+
let ticker = {};
|
|
1443
|
+
if (type === 'spot') {
|
|
1444
|
+
ticker = this.parseTicker({ 'result': tickers[i] });
|
|
1445
|
+
}
|
|
1446
|
+
else {
|
|
1447
|
+
ticker = this.parseTicker(tickers[i]);
|
|
1448
|
+
}
|
|
1353
1449
|
const symbol = ticker['symbol'];
|
|
1354
1450
|
result[symbol] = ticker;
|
|
1355
1451
|
}
|
|
@@ -613,17 +613,17 @@ class blockchaincom extends blockchaincom$1 {
|
|
|
613
613
|
'orderId': id,
|
|
614
614
|
};
|
|
615
615
|
const response = await this.privateDeleteOrdersOrderId(this.extend(request, params));
|
|
616
|
-
return {
|
|
616
|
+
return this.safeOrder({
|
|
617
617
|
'id': id,
|
|
618
618
|
'info': response,
|
|
619
|
-
};
|
|
619
|
+
});
|
|
620
620
|
}
|
|
621
621
|
async cancelAllOrders(symbol = undefined, params = {}) {
|
|
622
622
|
/**
|
|
623
623
|
* @method
|
|
624
624
|
* @name blockchaincom#cancelAllOrders
|
|
625
625
|
* @description cancel all open orders
|
|
626
|
-
* @see https://api.blockchain.com/v3
|
|
626
|
+
* @see https://api.blockchain.com/v3/#deleteallorders
|
|
627
627
|
* @param {string} symbol unified market symbol of the market to cancel orders in, all markets are used if undefined, default is undefined
|
|
628
628
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
629
629
|
* @returns {object} an list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
@@ -639,10 +639,14 @@ class blockchaincom extends blockchaincom$1 {
|
|
|
639
639
|
request['symbol'] = marketId;
|
|
640
640
|
}
|
|
641
641
|
const response = await this.privateDeleteOrders(this.extend(request, params));
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
642
|
+
//
|
|
643
|
+
// {}
|
|
644
|
+
//
|
|
645
|
+
return [
|
|
646
|
+
this.safeOrder({
|
|
647
|
+
'info': response,
|
|
648
|
+
}),
|
|
649
|
+
];
|
|
646
650
|
}
|
|
647
651
|
async fetchTradingFees(params = {}) {
|
|
648
652
|
/**
|
|
@@ -897,7 +897,29 @@ class btcmarkets extends btcmarkets$1 {
|
|
|
897
897
|
const request = {
|
|
898
898
|
'ids': ids,
|
|
899
899
|
};
|
|
900
|
-
|
|
900
|
+
const response = await this.privateDeleteBatchordersIds(this.extend(request, params));
|
|
901
|
+
//
|
|
902
|
+
// {
|
|
903
|
+
// "cancelOrders": [
|
|
904
|
+
// {
|
|
905
|
+
// "orderId": "414186",
|
|
906
|
+
// "clientOrderId": "6"
|
|
907
|
+
// },
|
|
908
|
+
// ...
|
|
909
|
+
// ],
|
|
910
|
+
// "unprocessedRequests": [
|
|
911
|
+
// {
|
|
912
|
+
// "code": "OrderAlreadyCancelled",
|
|
913
|
+
// "message": "order is already cancelled.",
|
|
914
|
+
// "requestId": "1"
|
|
915
|
+
// }
|
|
916
|
+
// ]
|
|
917
|
+
// }
|
|
918
|
+
//
|
|
919
|
+
const cancelOrders = this.safeList(response, 'cancelOrders', []);
|
|
920
|
+
const unprocessedRequests = this.safeList(response, 'unprocessedRequests', []);
|
|
921
|
+
const orders = this.arrayConcat(cancelOrders, unprocessedRequests);
|
|
922
|
+
return this.parseOrders(orders);
|
|
901
923
|
}
|
|
902
924
|
async cancelOrder(id, symbol = undefined, params = {}) {
|
|
903
925
|
/**
|
|
@@ -914,7 +936,14 @@ class btcmarkets extends btcmarkets$1 {
|
|
|
914
936
|
const request = {
|
|
915
937
|
'id': id,
|
|
916
938
|
};
|
|
917
|
-
|
|
939
|
+
const response = await this.privateDeleteOrdersId(this.extend(request, params));
|
|
940
|
+
//
|
|
941
|
+
// {
|
|
942
|
+
// "orderId": "7524",
|
|
943
|
+
// "clientOrderId": "123-456"
|
|
944
|
+
// }
|
|
945
|
+
//
|
|
946
|
+
return this.parseOrder(response);
|
|
918
947
|
}
|
|
919
948
|
calculateFee(symbol, type, side, amount, price, takerOrMaker = 'taker', params = {}) {
|
|
920
949
|
/**
|