ccxt 4.3.40 → 4.3.42
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/dist/ccxt.browser.min.js +3 -3
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/binance.js +3 -0
- package/dist/cjs/src/bitfinex2.js +1 -1
- package/dist/cjs/src/bithumb.js +9 -1
- package/dist/cjs/src/bitmart.js +196 -100
- package/dist/cjs/src/bitstamp.js +38 -2
- package/dist/cjs/src/blockchaincom.js +11 -7
- package/dist/cjs/src/coinex.js +1 -1
- package/dist/cjs/src/coinlist.js +20 -1
- package/dist/cjs/src/coinmate.js +19 -3
- package/dist/cjs/src/coinone.js +1 -1
- package/dist/cjs/src/coinspot.js +13 -2
- package/dist/cjs/src/independentreserve.js +33 -1
- package/dist/cjs/src/indodax.js +43 -2
- 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/okx.js +7 -0
- package/dist/cjs/src/pro/alpaca.js +5 -5
- package/dist/cjs/src/pro/ascendex.js +3 -3
- package/dist/cjs/src/pro/bingx.js +293 -47
- package/dist/cjs/src/pro/bitget.js +14 -6
- package/dist/cjs/src/pro/bitrue.js +3 -4
- package/dist/cjs/src/pro/currencycom.js +6 -5
- package/dist/cjs/src/pro/exmo.js +5 -6
- package/dist/cjs/src/pro/gemini.js +4 -3
- package/dist/cjs/src/pro/independentreserve.js +7 -7
- package/dist/cjs/src/pro/lbank.js +4 -4
- package/dist/cjs/src/pro/mexc.js +1 -1
- package/dist/cjs/src/pro/phemex.js +5 -5
- package/dist/cjs/src/pro/probit.js +4 -4
- package/dist/cjs/src/pro/upbit.js +322 -2
- package/dist/cjs/src/pro/wazirx.js +12 -12
- package/dist/cjs/src/pro/woo.js +2 -2
- package/dist/cjs/src/upbit.js +17 -9
- package/dist/cjs/src/woo.js +6 -2
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/binance.d.ts +2 -0
- package/js/src/abstract/binancecoinm.d.ts +2 -0
- package/js/src/abstract/binanceus.d.ts +2 -0
- package/js/src/abstract/binanceusdm.d.ts +2 -0
- package/js/src/abstract/okx.d.ts +7 -0
- package/js/src/binance.js +3 -0
- package/js/src/bitfinex2.js +1 -1
- package/js/src/bithumb.d.ts +2 -2
- package/js/src/bithumb.js +9 -1
- package/js/src/bitmart.js +196 -100
- package/js/src/bitstamp.d.ts +2 -2
- package/js/src/bitstamp.js +38 -2
- package/js/src/blockchaincom.d.ts +2 -8
- package/js/src/blockchaincom.js +11 -7
- package/js/src/coinex.js +1 -1
- package/js/src/coinlist.d.ts +1 -1
- package/js/src/coinlist.js +20 -1
- package/js/src/coinmate.d.ts +1 -3
- package/js/src/coinmate.js +19 -3
- package/js/src/coinone.d.ts +1 -1
- package/js/src/coinone.js +1 -1
- package/js/src/coinspot.d.ts +1 -1
- package/js/src/coinspot.js +13 -2
- package/js/src/independentreserve.d.ts +1 -1
- package/js/src/independentreserve.js +33 -1
- package/js/src/indodax.d.ts +1 -1
- package/js/src/indodax.js +43 -2
- 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/okx.js +7 -0
- package/js/src/pro/alpaca.js +5 -5
- package/js/src/pro/ascendex.js +3 -3
- package/js/src/pro/bingx.d.ts +6 -1
- package/js/src/pro/bingx.js +294 -48
- package/js/src/pro/bitget.js +14 -6
- package/js/src/pro/bitrue.js +3 -4
- package/js/src/pro/currencycom.js +6 -5
- package/js/src/pro/exmo.js +5 -6
- package/js/src/pro/gemini.js +4 -3
- package/js/src/pro/independentreserve.js +7 -7
- package/js/src/pro/lbank.js +4 -4
- package/js/src/pro/mexc.js +1 -1
- package/js/src/pro/phemex.js +5 -5
- package/js/src/pro/probit.js +4 -4
- package/js/src/pro/upbit.d.ts +13 -1
- package/js/src/pro/upbit.js +323 -3
- package/js/src/pro/wazirx.js +12 -12
- package/js/src/pro/woo.js +2 -2
- package/js/src/upbit.js +17 -9
- package/js/src/woo.d.ts +1 -1
- package/js/src/woo.js +6 -2
- package/package.json +1 -1
package/dist/cjs/ccxt.js
CHANGED
|
@@ -185,7 +185,7 @@ var woofipro$1 = require('./src/pro/woofipro.js');
|
|
|
185
185
|
|
|
186
186
|
//-----------------------------------------------------------------------------
|
|
187
187
|
// this is updated by vss.js when building
|
|
188
|
-
const version = '4.3.
|
|
188
|
+
const version = '4.3.42';
|
|
189
189
|
Exchange["default"].ccxtVersion = version;
|
|
190
190
|
const exchanges = {
|
|
191
191
|
'ace': ace,
|
package/dist/cjs/src/binance.js
CHANGED
|
@@ -236,6 +236,9 @@ class binance extends binance$1 {
|
|
|
236
236
|
// UID (sapi) request rate limit of 180 000 per minute
|
|
237
237
|
// 1 UID (sapi) => cost = 0.006667 => (1000 / (50 * 0.006667)) * 60 = 180000
|
|
238
238
|
'get': {
|
|
239
|
+
// copy trading
|
|
240
|
+
'copyTrading/futures/userStatus': 2,
|
|
241
|
+
'copyTrading/futures/leadSymbol': 2,
|
|
239
242
|
'system/status': 0.1,
|
|
240
243
|
// these endpoints require this.apiKey
|
|
241
244
|
'accountSnapshot': 240,
|
|
@@ -1721,7 +1721,7 @@ class bitfinex2 extends bitfinex2$1 {
|
|
|
1721
1721
|
}
|
|
1722
1722
|
const orders = this.safeList(response, 4, []);
|
|
1723
1723
|
const order = this.safeList(orders, 0);
|
|
1724
|
-
return this.parseOrder(order, market);
|
|
1724
|
+
return this.parseOrder(this.extend({ 'result': order }), market);
|
|
1725
1725
|
}
|
|
1726
1726
|
async createOrders(orders, params = {}) {
|
|
1727
1727
|
/**
|
package/dist/cjs/src/bithumb.js
CHANGED
|
@@ -966,7 +966,15 @@ class bithumb extends bithumb$1 {
|
|
|
966
966
|
'order_currency': market['base'],
|
|
967
967
|
'payment_currency': market['quote'],
|
|
968
968
|
};
|
|
969
|
-
|
|
969
|
+
const response = await this.privatePostTradeCancel(this.extend(request, params));
|
|
970
|
+
//
|
|
971
|
+
// {
|
|
972
|
+
// 'status': 'string',
|
|
973
|
+
// }
|
|
974
|
+
//
|
|
975
|
+
return this.safeOrder({
|
|
976
|
+
'info': response,
|
|
977
|
+
});
|
|
970
978
|
}
|
|
971
979
|
async cancelUnifiedOrder(order, params = {}) {
|
|
972
980
|
const request = {
|
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
|
}
|
package/dist/cjs/src/bitstamp.js
CHANGED
|
@@ -1443,7 +1443,17 @@ class bitstamp extends bitstamp$1 {
|
|
|
1443
1443
|
const request = {
|
|
1444
1444
|
'id': id,
|
|
1445
1445
|
};
|
|
1446
|
-
|
|
1446
|
+
const response = await this.privatePostCancelOrder(this.extend(request, params));
|
|
1447
|
+
//
|
|
1448
|
+
// {
|
|
1449
|
+
// "id": 1453282316578816,
|
|
1450
|
+
// "amount": "0.02035278",
|
|
1451
|
+
// "price": "2100.45",
|
|
1452
|
+
// "type": 0,
|
|
1453
|
+
// "market": "BTC/USD"
|
|
1454
|
+
// }
|
|
1455
|
+
//
|
|
1456
|
+
return this.parseOrder(response);
|
|
1447
1457
|
}
|
|
1448
1458
|
async cancelAllOrders(symbol = undefined, params = {}) {
|
|
1449
1459
|
/**
|
|
@@ -1468,7 +1478,23 @@ class bitstamp extends bitstamp$1 {
|
|
|
1468
1478
|
else {
|
|
1469
1479
|
response = await this.privatePostCancelAllOrders(this.extend(request, params));
|
|
1470
1480
|
}
|
|
1471
|
-
|
|
1481
|
+
//
|
|
1482
|
+
// {
|
|
1483
|
+
// "canceled": [
|
|
1484
|
+
// {
|
|
1485
|
+
// "id": 1453282316578816,
|
|
1486
|
+
// "amount": "0.02035278",
|
|
1487
|
+
// "price": "2100.45",
|
|
1488
|
+
// "type": 0,
|
|
1489
|
+
// "currency_pair": "BTC/USD",
|
|
1490
|
+
// "market": "BTC/USD"
|
|
1491
|
+
// }
|
|
1492
|
+
// ],
|
|
1493
|
+
// "success": true
|
|
1494
|
+
// }
|
|
1495
|
+
//
|
|
1496
|
+
const canceled = this.safeList(response, 'canceled');
|
|
1497
|
+
return this.parseOrders(canceled);
|
|
1472
1498
|
}
|
|
1473
1499
|
parseOrderStatus(status) {
|
|
1474
1500
|
const statuses = {
|
|
@@ -1845,6 +1871,16 @@ class bitstamp extends bitstamp$1 {
|
|
|
1845
1871
|
// "id": "2814205012"
|
|
1846
1872
|
// }
|
|
1847
1873
|
//
|
|
1874
|
+
// cancelOrder
|
|
1875
|
+
//
|
|
1876
|
+
// {
|
|
1877
|
+
// "id": 1453282316578816,
|
|
1878
|
+
// "amount": "0.02035278",
|
|
1879
|
+
// "price": "2100.45",
|
|
1880
|
+
// "type": 0,
|
|
1881
|
+
// "market": "BTC/USD"
|
|
1882
|
+
// }
|
|
1883
|
+
//
|
|
1848
1884
|
const id = this.safeString(order, 'id');
|
|
1849
1885
|
const clientOrderId = this.safeString(order, 'client_order_id');
|
|
1850
1886
|
let side = this.safeString(order, 'type');
|
|
@@ -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
|
/**
|
package/dist/cjs/src/coinex.js
CHANGED
|
@@ -5786,7 +5786,7 @@ class coinex extends coinex$1 {
|
|
|
5786
5786
|
preparedString += nonce + this.secret;
|
|
5787
5787
|
const signature = this.hash(this.encode(preparedString), sha256.sha256);
|
|
5788
5788
|
headers = {
|
|
5789
|
-
'Content-Type': 'application/json
|
|
5789
|
+
'Content-Type': 'application/json',
|
|
5790
5790
|
'Accept': 'application/json',
|
|
5791
5791
|
'X-COINEX-KEY': this.apiKey,
|
|
5792
5792
|
'X-COINEX-SIGN': signature,
|
package/dist/cjs/src/coinlist.js
CHANGED
|
@@ -1455,7 +1455,26 @@ class coinlist extends coinlist$1 {
|
|
|
1455
1455
|
await this.loadMarkets();
|
|
1456
1456
|
params = ids;
|
|
1457
1457
|
const response = await this.privateDeleteV1OrdersBulk(params);
|
|
1458
|
-
|
|
1458
|
+
//
|
|
1459
|
+
// {
|
|
1460
|
+
// "message": "Cancel order requests received.",
|
|
1461
|
+
// "order_ids": [
|
|
1462
|
+
// "ff132955-43bc-4fe5-9d9c-5ba226cc89a0"
|
|
1463
|
+
// ],
|
|
1464
|
+
// "timestamp": "2024-06-01T02:32:30.305Z"
|
|
1465
|
+
// }
|
|
1466
|
+
//
|
|
1467
|
+
const orderIds = this.safeList(response, 'order_ids', []);
|
|
1468
|
+
const orders = [];
|
|
1469
|
+
const datetime = this.safeString(response, 'timestamp');
|
|
1470
|
+
for (let i = 0; i < orderIds.length; i++) {
|
|
1471
|
+
orders.push(this.safeOrder({
|
|
1472
|
+
'info': orderIds[i],
|
|
1473
|
+
'id': orderIds[i],
|
|
1474
|
+
'lastUpdateTimestamp': this.parse8601(datetime),
|
|
1475
|
+
}));
|
|
1476
|
+
}
|
|
1477
|
+
return orders;
|
|
1459
1478
|
}
|
|
1460
1479
|
async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
|
|
1461
1480
|
/**
|
package/dist/cjs/src/coinmate.js
CHANGED
|
@@ -926,6 +926,13 @@ class coinmate extends coinmate$1 {
|
|
|
926
926
|
// "trailing": false,
|
|
927
927
|
// }
|
|
928
928
|
//
|
|
929
|
+
// cancelOrder
|
|
930
|
+
//
|
|
931
|
+
// {
|
|
932
|
+
// "success": true,
|
|
933
|
+
// "remainingAmount": 0.1
|
|
934
|
+
// }
|
|
935
|
+
//
|
|
929
936
|
const id = this.safeString(order, 'id');
|
|
930
937
|
const timestamp = this.safeInteger(order, 'timestamp');
|
|
931
938
|
const side = this.safeStringLower(order, 'type');
|
|
@@ -1045,9 +1052,18 @@ class coinmate extends coinmate$1 {
|
|
|
1045
1052
|
// {"error":false,"errorMessage":null,"data":{"success":true,"remainingAmount":0.01}}
|
|
1046
1053
|
const request = { 'orderId': id };
|
|
1047
1054
|
const response = await this.privatePostCancelOrderWithInfo(this.extend(request, params));
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1055
|
+
//
|
|
1056
|
+
// {
|
|
1057
|
+
// "error": false,
|
|
1058
|
+
// "errorMessage": null,
|
|
1059
|
+
// "data": {
|
|
1060
|
+
// "success": true,
|
|
1061
|
+
// "remainingAmount": 0.1
|
|
1062
|
+
// }
|
|
1063
|
+
// }
|
|
1064
|
+
//
|
|
1065
|
+
const data = this.safeDict(response, 'data');
|
|
1066
|
+
return this.parseOrder(data);
|
|
1051
1067
|
}
|
|
1052
1068
|
nonce() {
|
|
1053
1069
|
return this.milliseconds();
|
package/dist/cjs/src/coinone.js
CHANGED
package/dist/cjs/src/coinspot.js
CHANGED
|
@@ -533,11 +533,22 @@ class coinspot extends coinspot$1 {
|
|
|
533
533
|
throw new errors.ArgumentsRequired(this.id + ' cancelOrder() requires a side parameter, "buy" or "sell"');
|
|
534
534
|
}
|
|
535
535
|
params = this.omit(params, 'side');
|
|
536
|
-
const method = 'privatePostMy' + this.capitalize(side) + 'Cancel';
|
|
537
536
|
const request = {
|
|
538
537
|
'id': id,
|
|
539
538
|
};
|
|
540
|
-
|
|
539
|
+
let response = undefined;
|
|
540
|
+
if (side === 'buy') {
|
|
541
|
+
response = await this.privatePostMyBuyCancel(this.extend(request, params));
|
|
542
|
+
}
|
|
543
|
+
else {
|
|
544
|
+
response = await this.privatePostMySellCancel(this.extend(request, params));
|
|
545
|
+
}
|
|
546
|
+
//
|
|
547
|
+
// status - ok, error
|
|
548
|
+
//
|
|
549
|
+
return this.safeOrder({
|
|
550
|
+
'info': response,
|
|
551
|
+
});
|
|
541
552
|
}
|
|
542
553
|
sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
|
|
543
554
|
const url = this.urls['api'][api] + '/' + path;
|