ccxt 4.0.76 → 4.0.77
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.js +68 -7
- package/dist/ccxt.browser.min.js +3 -3
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/bingx.js +21 -6
- package/dist/cjs/src/gate.js +42 -0
- package/dist/cjs/src/pro/okx.js +3 -0
- package/dist/cjs/src/whitebit.js +1 -0
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/gate.d.ts +24 -0
- package/js/src/abstract/gateio.d.ts +24 -0
- package/js/src/bingx.js +21 -6
- package/js/src/gate.js +42 -0
- package/js/src/pro/okx.js +4 -1
- package/js/src/whitebit.js +1 -0
- package/package.json +1 -1
package/dist/cjs/ccxt.js
CHANGED
|
@@ -180,7 +180,7 @@ var woo$1 = require('./src/pro/woo.js');
|
|
|
180
180
|
|
|
181
181
|
//-----------------------------------------------------------------------------
|
|
182
182
|
// this is updated by vss.js when building
|
|
183
|
-
const version = '4.0.
|
|
183
|
+
const version = '4.0.77';
|
|
184
184
|
Exchange["default"].ccxtVersion = version;
|
|
185
185
|
const exchanges = {
|
|
186
186
|
'ace': ace,
|
package/dist/cjs/src/bingx.js
CHANGED
|
@@ -1097,10 +1097,10 @@ class bingx extends bingx$1 {
|
|
|
1097
1097
|
};
|
|
1098
1098
|
let response = undefined;
|
|
1099
1099
|
if (market['spot']) {
|
|
1100
|
-
response = await this.
|
|
1100
|
+
response = await this.spotV1PrivateGetTicker24hr(this.extend(request, params));
|
|
1101
1101
|
}
|
|
1102
1102
|
else {
|
|
1103
|
-
response = await this.
|
|
1103
|
+
response = await this.swapV2PublicGetQuoteTicker(this.extend(request, params));
|
|
1104
1104
|
}
|
|
1105
1105
|
//
|
|
1106
1106
|
// {
|
|
@@ -1123,7 +1123,8 @@ class bingx extends bingx$1 {
|
|
|
1123
1123
|
// }
|
|
1124
1124
|
//
|
|
1125
1125
|
const data = this.safeValue(response, 'data');
|
|
1126
|
-
|
|
1126
|
+
const ticker = this.safeValue(data, 0, data);
|
|
1127
|
+
return this.parseTicker(ticker, market);
|
|
1127
1128
|
}
|
|
1128
1129
|
async fetchTickers(symbols = undefined, params = {}) {
|
|
1129
1130
|
/**
|
|
@@ -1171,6 +1172,20 @@ class bingx extends bingx$1 {
|
|
|
1171
1172
|
return this.parseTickers(tickers, symbols);
|
|
1172
1173
|
}
|
|
1173
1174
|
parseTicker(ticker, market = undefined) {
|
|
1175
|
+
//
|
|
1176
|
+
// spot
|
|
1177
|
+
// {
|
|
1178
|
+
// symbol: 'BTC-USDT',
|
|
1179
|
+
// openPrice: '26032.08',
|
|
1180
|
+
// highPrice: '26178.86',
|
|
1181
|
+
// lowPrice: '25968.18',
|
|
1182
|
+
// lastPrice: '26113.60',
|
|
1183
|
+
// volume: '1161.79',
|
|
1184
|
+
// quoteVolume: '30288466.44',
|
|
1185
|
+
// openTime: '1693081020762',
|
|
1186
|
+
// closeTime: '1693167420762'
|
|
1187
|
+
// }
|
|
1188
|
+
// swap
|
|
1174
1189
|
//
|
|
1175
1190
|
// {
|
|
1176
1191
|
// "symbol": "BTC-USDT",
|
|
@@ -1188,15 +1203,15 @@ class bingx extends bingx$1 {
|
|
|
1188
1203
|
// }
|
|
1189
1204
|
//
|
|
1190
1205
|
const marketId = this.safeString(ticker, 'symbol');
|
|
1191
|
-
const
|
|
1192
|
-
const
|
|
1206
|
+
const change = this.safeString(ticker, 'priceChange');
|
|
1207
|
+
const type = (change === undefined) ? 'spot' : 'swap';
|
|
1208
|
+
const symbol = this.safeSymbol(marketId, market, undefined, type);
|
|
1193
1209
|
const open = this.safeString(ticker, 'openPrice');
|
|
1194
1210
|
const high = this.safeString(ticker, 'highPrice');
|
|
1195
1211
|
const low = this.safeString(ticker, 'lowPrice');
|
|
1196
1212
|
const close = this.safeString(ticker, 'lastPrice');
|
|
1197
1213
|
const quoteVolume = this.safeString(ticker, 'quoteVolume');
|
|
1198
1214
|
const baseVolume = this.safeString(ticker, 'volume');
|
|
1199
|
-
const change = this.safeString(ticker, 'chapriceChangenge');
|
|
1200
1215
|
const percentage = this.safeString(ticker, 'priceChangePercent');
|
|
1201
1216
|
const ts = this.safeInteger(ticker, 'closeTime');
|
|
1202
1217
|
const datetime = this.iso8601(ts);
|
package/dist/cjs/src/gate.js
CHANGED
|
@@ -277,6 +277,29 @@ class gate extends gate$1 {
|
|
|
277
277
|
'sub_accounts/{user_id}/keys/{key}': 1,
|
|
278
278
|
},
|
|
279
279
|
},
|
|
280
|
+
'portfolio': {
|
|
281
|
+
'get': {
|
|
282
|
+
'accounts': 1.5,
|
|
283
|
+
'account_mode': 1.5,
|
|
284
|
+
'borrowable': 1.5,
|
|
285
|
+
'transferable': 1.5,
|
|
286
|
+
'loans': 1.5,
|
|
287
|
+
'loan_records': 1.5,
|
|
288
|
+
'interest_records': 1.5,
|
|
289
|
+
'spot/orders': 1.5,
|
|
290
|
+
'spot/orders/{order_id}': 1.5,
|
|
291
|
+
},
|
|
292
|
+
'post': {
|
|
293
|
+
'loans': 1.5,
|
|
294
|
+
'spot/orders': 1.5,
|
|
295
|
+
},
|
|
296
|
+
'delete': {
|
|
297
|
+
'spot/orders/{order_id}': 1.5,
|
|
298
|
+
},
|
|
299
|
+
'patch': {
|
|
300
|
+
'spot/orders/{order_id}': 1.5,
|
|
301
|
+
},
|
|
302
|
+
},
|
|
280
303
|
'spot': {
|
|
281
304
|
'get': {
|
|
282
305
|
'fee': 1,
|
|
@@ -470,6 +493,22 @@ class gate extends gate$1 {
|
|
|
470
493
|
'uni/lends': 1.5,
|
|
471
494
|
},
|
|
472
495
|
},
|
|
496
|
+
'loan': {
|
|
497
|
+
'get': {
|
|
498
|
+
'collateral/orders': 1.5,
|
|
499
|
+
'collateral/orders/{order_id}': 1.5,
|
|
500
|
+
'collateral/repay_records': 1.5,
|
|
501
|
+
'collateral/collaterals': 1.5,
|
|
502
|
+
'collateral/total_amount': 1.5,
|
|
503
|
+
'collateral/ltv': 1.5,
|
|
504
|
+
'collateral/currencies': 1.5,
|
|
505
|
+
},
|
|
506
|
+
'post': {
|
|
507
|
+
'collateral/orders': 1.5,
|
|
508
|
+
'collateral/repay': 1.5,
|
|
509
|
+
'collateral/collaterals': 1.5,
|
|
510
|
+
},
|
|
511
|
+
},
|
|
473
512
|
'account': {
|
|
474
513
|
'get': {
|
|
475
514
|
'detail': 1.5,
|
|
@@ -480,6 +519,9 @@ class gate extends gate$1 {
|
|
|
480
519
|
'stp_groups': 1.5,
|
|
481
520
|
'stp_groups/{stp_id}/users': 1.5,
|
|
482
521
|
},
|
|
522
|
+
'delete': {
|
|
523
|
+
'stp_groups/{stp_id}/users': 1.5,
|
|
524
|
+
},
|
|
483
525
|
},
|
|
484
526
|
'rebate': {
|
|
485
527
|
'get': {
|
package/dist/cjs/src/pro/okx.js
CHANGED
|
@@ -230,6 +230,9 @@ class okx extends okx$1 {
|
|
|
230
230
|
* @param {string} [params.channel] the channel to subscribe to, tickers by default. Can be tickers, sprd-tickers, index-tickers, block-tickers
|
|
231
231
|
* @returns {object} a [ticker structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#ticker-structure}
|
|
232
232
|
*/
|
|
233
|
+
if (this.isEmpty(symbols)) {
|
|
234
|
+
throw new errors.ArgumentsRequired(this.id + ' watchTickers requires a list of symbols');
|
|
235
|
+
}
|
|
233
236
|
let channel = undefined;
|
|
234
237
|
[channel, params] = this.handleOptionAndParams(params, 'watchTickers', 'channel', 'tickers');
|
|
235
238
|
const newTickers = await this.subscribeMultiple('public', channel, symbols, params);
|
package/dist/cjs/src/whitebit.js
CHANGED
|
@@ -253,6 +253,7 @@ class whitebit extends whitebit$1 {
|
|
|
253
253
|
'422': errors.OrderNotFound, // {"response":null,"status":422,"errors":{"orderId":["Finished order id 1295772653 not found on your account"]},"notification":null,"warning":"Finished order id 1295772653 not found on your account","_token":null}
|
|
254
254
|
},
|
|
255
255
|
'broad': {
|
|
256
|
+
'This action is unauthorized': errors.PermissionDenied,
|
|
256
257
|
'Given amount is less than min amount': errors.InvalidOrder,
|
|
257
258
|
'Total is less than': errors.InvalidOrder,
|
|
258
259
|
'fee must be no less than': errors.InvalidOrder,
|
package/js/ccxt.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import * as functions from './src/base/functions.js';
|
|
|
4
4
|
import * as errors from './src/base/errors.js';
|
|
5
5
|
import { Market, Trade, Fee, Ticker, OrderBook, Order, Transaction, Tickers, Currency, Balance, DepositAddress, WithdrawalResponse, DepositAddressResponse, OHLCV, Balances, PartialBalances, Dictionary, MinMax } from './src/base/types.js';
|
|
6
6
|
import { BaseError, ExchangeError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, MarginModeAlreadySet, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, NotSupported, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, AuthenticationError, AddressPending } from './src/base/errors.js';
|
|
7
|
-
declare const version = "4.0.
|
|
7
|
+
declare const version = "4.0.76";
|
|
8
8
|
import ace from './src/ace.js';
|
|
9
9
|
import alpaca from './src/alpaca.js';
|
|
10
10
|
import ascendex from './src/ascendex.js';
|
package/js/ccxt.js
CHANGED
|
@@ -38,7 +38,7 @@ import * as errors from './src/base/errors.js';
|
|
|
38
38
|
import { BaseError, ExchangeError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, MarginModeAlreadySet, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, NotSupported, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, AuthenticationError, AddressPending } from './src/base/errors.js';
|
|
39
39
|
//-----------------------------------------------------------------------------
|
|
40
40
|
// this is updated by vss.js when building
|
|
41
|
-
const version = '4.0.
|
|
41
|
+
const version = '4.0.77';
|
|
42
42
|
Exchange.ccxtVersion = version;
|
|
43
43
|
//-----------------------------------------------------------------------------
|
|
44
44
|
import ace from './src/ace.js';
|
|
@@ -79,6 +79,19 @@ interface Exchange {
|
|
|
79
79
|
privateSubAccountsPostSubAccountsUserIdUnlock(params?: {}): Promise<implicitReturnType>;
|
|
80
80
|
privateSubAccountsPutSubAccountsUserIdKeysKey(params?: {}): Promise<implicitReturnType>;
|
|
81
81
|
privateSubAccountsDeleteSubAccountsUserIdKeysKey(params?: {}): Promise<implicitReturnType>;
|
|
82
|
+
privatePortfolioGetAccounts(params?: {}): Promise<implicitReturnType>;
|
|
83
|
+
privatePortfolioGetAccountMode(params?: {}): Promise<implicitReturnType>;
|
|
84
|
+
privatePortfolioGetBorrowable(params?: {}): Promise<implicitReturnType>;
|
|
85
|
+
privatePortfolioGetTransferable(params?: {}): Promise<implicitReturnType>;
|
|
86
|
+
privatePortfolioGetLoans(params?: {}): Promise<implicitReturnType>;
|
|
87
|
+
privatePortfolioGetLoanRecords(params?: {}): Promise<implicitReturnType>;
|
|
88
|
+
privatePortfolioGetInterestRecords(params?: {}): Promise<implicitReturnType>;
|
|
89
|
+
privatePortfolioGetSpotOrders(params?: {}): Promise<implicitReturnType>;
|
|
90
|
+
privatePortfolioGetSpotOrdersOrderId(params?: {}): Promise<implicitReturnType>;
|
|
91
|
+
privatePortfolioPostLoans(params?: {}): Promise<implicitReturnType>;
|
|
92
|
+
privatePortfolioPostSpotOrders(params?: {}): Promise<implicitReturnType>;
|
|
93
|
+
privatePortfolioDeleteSpotOrdersOrderId(params?: {}): Promise<implicitReturnType>;
|
|
94
|
+
privatePortfolioPatchSpotOrdersOrderId(params?: {}): Promise<implicitReturnType>;
|
|
82
95
|
privateSpotGetFee(params?: {}): Promise<implicitReturnType>;
|
|
83
96
|
privateSpotGetBatchFee(params?: {}): Promise<implicitReturnType>;
|
|
84
97
|
privateSpotGetAccounts(params?: {}): Promise<implicitReturnType>;
|
|
@@ -212,11 +225,22 @@ interface Exchange {
|
|
|
212
225
|
privateEarnGetUniInterestRecords(params?: {}): Promise<implicitReturnType>;
|
|
213
226
|
privateEarnPostUniLends(params?: {}): Promise<implicitReturnType>;
|
|
214
227
|
privateEarnPatchUniLends(params?: {}): Promise<implicitReturnType>;
|
|
228
|
+
privateLoanGetCollateralOrders(params?: {}): Promise<implicitReturnType>;
|
|
229
|
+
privateLoanGetCollateralOrdersOrderId(params?: {}): Promise<implicitReturnType>;
|
|
230
|
+
privateLoanGetCollateralRepayRecords(params?: {}): Promise<implicitReturnType>;
|
|
231
|
+
privateLoanGetCollateralCollaterals(params?: {}): Promise<implicitReturnType>;
|
|
232
|
+
privateLoanGetCollateralTotalAmount(params?: {}): Promise<implicitReturnType>;
|
|
233
|
+
privateLoanGetCollateralLtv(params?: {}): Promise<implicitReturnType>;
|
|
234
|
+
privateLoanGetCollateralCurrencies(params?: {}): Promise<implicitReturnType>;
|
|
235
|
+
privateLoanPostCollateralOrders(params?: {}): Promise<implicitReturnType>;
|
|
236
|
+
privateLoanPostCollateralRepay(params?: {}): Promise<implicitReturnType>;
|
|
237
|
+
privateLoanPostCollateralCollaterals(params?: {}): Promise<implicitReturnType>;
|
|
215
238
|
privateAccountGetDetail(params?: {}): Promise<implicitReturnType>;
|
|
216
239
|
privateAccountGetStpGroups(params?: {}): Promise<implicitReturnType>;
|
|
217
240
|
privateAccountGetStpGroupsStpIdUsers(params?: {}): Promise<implicitReturnType>;
|
|
218
241
|
privateAccountPostStpGroups(params?: {}): Promise<implicitReturnType>;
|
|
219
242
|
privateAccountPostStpGroupsStpIdUsers(params?: {}): Promise<implicitReturnType>;
|
|
243
|
+
privateAccountDeleteStpGroupsStpIdUsers(params?: {}): Promise<implicitReturnType>;
|
|
220
244
|
privateRebateGetAgencyTransactionHistory(params?: {}): Promise<implicitReturnType>;
|
|
221
245
|
privateRebateGetAgencyCommissionHistory(params?: {}): Promise<implicitReturnType>;
|
|
222
246
|
}
|
|
@@ -79,6 +79,19 @@ interface gate {
|
|
|
79
79
|
privateSubAccountsPostSubAccountsUserIdUnlock(params?: {}): Promise<implicitReturnType>;
|
|
80
80
|
privateSubAccountsPutSubAccountsUserIdKeysKey(params?: {}): Promise<implicitReturnType>;
|
|
81
81
|
privateSubAccountsDeleteSubAccountsUserIdKeysKey(params?: {}): Promise<implicitReturnType>;
|
|
82
|
+
privatePortfolioGetAccounts(params?: {}): Promise<implicitReturnType>;
|
|
83
|
+
privatePortfolioGetAccountMode(params?: {}): Promise<implicitReturnType>;
|
|
84
|
+
privatePortfolioGetBorrowable(params?: {}): Promise<implicitReturnType>;
|
|
85
|
+
privatePortfolioGetTransferable(params?: {}): Promise<implicitReturnType>;
|
|
86
|
+
privatePortfolioGetLoans(params?: {}): Promise<implicitReturnType>;
|
|
87
|
+
privatePortfolioGetLoanRecords(params?: {}): Promise<implicitReturnType>;
|
|
88
|
+
privatePortfolioGetInterestRecords(params?: {}): Promise<implicitReturnType>;
|
|
89
|
+
privatePortfolioGetSpotOrders(params?: {}): Promise<implicitReturnType>;
|
|
90
|
+
privatePortfolioGetSpotOrdersOrderId(params?: {}): Promise<implicitReturnType>;
|
|
91
|
+
privatePortfolioPostLoans(params?: {}): Promise<implicitReturnType>;
|
|
92
|
+
privatePortfolioPostSpotOrders(params?: {}): Promise<implicitReturnType>;
|
|
93
|
+
privatePortfolioDeleteSpotOrdersOrderId(params?: {}): Promise<implicitReturnType>;
|
|
94
|
+
privatePortfolioPatchSpotOrdersOrderId(params?: {}): Promise<implicitReturnType>;
|
|
82
95
|
privateSpotGetFee(params?: {}): Promise<implicitReturnType>;
|
|
83
96
|
privateSpotGetBatchFee(params?: {}): Promise<implicitReturnType>;
|
|
84
97
|
privateSpotGetAccounts(params?: {}): Promise<implicitReturnType>;
|
|
@@ -212,11 +225,22 @@ interface gate {
|
|
|
212
225
|
privateEarnGetUniInterestRecords(params?: {}): Promise<implicitReturnType>;
|
|
213
226
|
privateEarnPostUniLends(params?: {}): Promise<implicitReturnType>;
|
|
214
227
|
privateEarnPatchUniLends(params?: {}): Promise<implicitReturnType>;
|
|
228
|
+
privateLoanGetCollateralOrders(params?: {}): Promise<implicitReturnType>;
|
|
229
|
+
privateLoanGetCollateralOrdersOrderId(params?: {}): Promise<implicitReturnType>;
|
|
230
|
+
privateLoanGetCollateralRepayRecords(params?: {}): Promise<implicitReturnType>;
|
|
231
|
+
privateLoanGetCollateralCollaterals(params?: {}): Promise<implicitReturnType>;
|
|
232
|
+
privateLoanGetCollateralTotalAmount(params?: {}): Promise<implicitReturnType>;
|
|
233
|
+
privateLoanGetCollateralLtv(params?: {}): Promise<implicitReturnType>;
|
|
234
|
+
privateLoanGetCollateralCurrencies(params?: {}): Promise<implicitReturnType>;
|
|
235
|
+
privateLoanPostCollateralOrders(params?: {}): Promise<implicitReturnType>;
|
|
236
|
+
privateLoanPostCollateralRepay(params?: {}): Promise<implicitReturnType>;
|
|
237
|
+
privateLoanPostCollateralCollaterals(params?: {}): Promise<implicitReturnType>;
|
|
215
238
|
privateAccountGetDetail(params?: {}): Promise<implicitReturnType>;
|
|
216
239
|
privateAccountGetStpGroups(params?: {}): Promise<implicitReturnType>;
|
|
217
240
|
privateAccountGetStpGroupsStpIdUsers(params?: {}): Promise<implicitReturnType>;
|
|
218
241
|
privateAccountPostStpGroups(params?: {}): Promise<implicitReturnType>;
|
|
219
242
|
privateAccountPostStpGroupsStpIdUsers(params?: {}): Promise<implicitReturnType>;
|
|
243
|
+
privateAccountDeleteStpGroupsStpIdUsers(params?: {}): Promise<implicitReturnType>;
|
|
220
244
|
privateRebateGetAgencyTransactionHistory(params?: {}): Promise<implicitReturnType>;
|
|
221
245
|
privateRebateGetAgencyCommissionHistory(params?: {}): Promise<implicitReturnType>;
|
|
222
246
|
}
|
package/js/src/bingx.js
CHANGED
|
@@ -1100,10 +1100,10 @@ export default class bingx extends Exchange {
|
|
|
1100
1100
|
};
|
|
1101
1101
|
let response = undefined;
|
|
1102
1102
|
if (market['spot']) {
|
|
1103
|
-
response = await this.
|
|
1103
|
+
response = await this.spotV1PrivateGetTicker24hr(this.extend(request, params));
|
|
1104
1104
|
}
|
|
1105
1105
|
else {
|
|
1106
|
-
response = await this.
|
|
1106
|
+
response = await this.swapV2PublicGetQuoteTicker(this.extend(request, params));
|
|
1107
1107
|
}
|
|
1108
1108
|
//
|
|
1109
1109
|
// {
|
|
@@ -1126,7 +1126,8 @@ export default class bingx extends Exchange {
|
|
|
1126
1126
|
// }
|
|
1127
1127
|
//
|
|
1128
1128
|
const data = this.safeValue(response, 'data');
|
|
1129
|
-
|
|
1129
|
+
const ticker = this.safeValue(data, 0, data);
|
|
1130
|
+
return this.parseTicker(ticker, market);
|
|
1130
1131
|
}
|
|
1131
1132
|
async fetchTickers(symbols = undefined, params = {}) {
|
|
1132
1133
|
/**
|
|
@@ -1174,6 +1175,20 @@ export default class bingx extends Exchange {
|
|
|
1174
1175
|
return this.parseTickers(tickers, symbols);
|
|
1175
1176
|
}
|
|
1176
1177
|
parseTicker(ticker, market = undefined) {
|
|
1178
|
+
//
|
|
1179
|
+
// spot
|
|
1180
|
+
// {
|
|
1181
|
+
// symbol: 'BTC-USDT',
|
|
1182
|
+
// openPrice: '26032.08',
|
|
1183
|
+
// highPrice: '26178.86',
|
|
1184
|
+
// lowPrice: '25968.18',
|
|
1185
|
+
// lastPrice: '26113.60',
|
|
1186
|
+
// volume: '1161.79',
|
|
1187
|
+
// quoteVolume: '30288466.44',
|
|
1188
|
+
// openTime: '1693081020762',
|
|
1189
|
+
// closeTime: '1693167420762'
|
|
1190
|
+
// }
|
|
1191
|
+
// swap
|
|
1177
1192
|
//
|
|
1178
1193
|
// {
|
|
1179
1194
|
// "symbol": "BTC-USDT",
|
|
@@ -1191,15 +1206,15 @@ export default class bingx extends Exchange {
|
|
|
1191
1206
|
// }
|
|
1192
1207
|
//
|
|
1193
1208
|
const marketId = this.safeString(ticker, 'symbol');
|
|
1194
|
-
const
|
|
1195
|
-
const
|
|
1209
|
+
const change = this.safeString(ticker, 'priceChange');
|
|
1210
|
+
const type = (change === undefined) ? 'spot' : 'swap';
|
|
1211
|
+
const symbol = this.safeSymbol(marketId, market, undefined, type);
|
|
1196
1212
|
const open = this.safeString(ticker, 'openPrice');
|
|
1197
1213
|
const high = this.safeString(ticker, 'highPrice');
|
|
1198
1214
|
const low = this.safeString(ticker, 'lowPrice');
|
|
1199
1215
|
const close = this.safeString(ticker, 'lastPrice');
|
|
1200
1216
|
const quoteVolume = this.safeString(ticker, 'quoteVolume');
|
|
1201
1217
|
const baseVolume = this.safeString(ticker, 'volume');
|
|
1202
|
-
const change = this.safeString(ticker, 'chapriceChangenge');
|
|
1203
1218
|
const percentage = this.safeString(ticker, 'priceChangePercent');
|
|
1204
1219
|
const ts = this.safeInteger(ticker, 'closeTime');
|
|
1205
1220
|
const datetime = this.iso8601(ts);
|
package/js/src/gate.js
CHANGED
|
@@ -280,6 +280,29 @@ export default class gate extends Exchange {
|
|
|
280
280
|
'sub_accounts/{user_id}/keys/{key}': 1,
|
|
281
281
|
},
|
|
282
282
|
},
|
|
283
|
+
'portfolio': {
|
|
284
|
+
'get': {
|
|
285
|
+
'accounts': 1.5,
|
|
286
|
+
'account_mode': 1.5,
|
|
287
|
+
'borrowable': 1.5,
|
|
288
|
+
'transferable': 1.5,
|
|
289
|
+
'loans': 1.5,
|
|
290
|
+
'loan_records': 1.5,
|
|
291
|
+
'interest_records': 1.5,
|
|
292
|
+
'spot/orders': 1.5,
|
|
293
|
+
'spot/orders/{order_id}': 1.5,
|
|
294
|
+
},
|
|
295
|
+
'post': {
|
|
296
|
+
'loans': 1.5,
|
|
297
|
+
'spot/orders': 1.5,
|
|
298
|
+
},
|
|
299
|
+
'delete': {
|
|
300
|
+
'spot/orders/{order_id}': 1.5,
|
|
301
|
+
},
|
|
302
|
+
'patch': {
|
|
303
|
+
'spot/orders/{order_id}': 1.5,
|
|
304
|
+
},
|
|
305
|
+
},
|
|
283
306
|
'spot': {
|
|
284
307
|
'get': {
|
|
285
308
|
'fee': 1,
|
|
@@ -473,6 +496,22 @@ export default class gate extends Exchange {
|
|
|
473
496
|
'uni/lends': 1.5,
|
|
474
497
|
},
|
|
475
498
|
},
|
|
499
|
+
'loan': {
|
|
500
|
+
'get': {
|
|
501
|
+
'collateral/orders': 1.5,
|
|
502
|
+
'collateral/orders/{order_id}': 1.5,
|
|
503
|
+
'collateral/repay_records': 1.5,
|
|
504
|
+
'collateral/collaterals': 1.5,
|
|
505
|
+
'collateral/total_amount': 1.5,
|
|
506
|
+
'collateral/ltv': 1.5,
|
|
507
|
+
'collateral/currencies': 1.5,
|
|
508
|
+
},
|
|
509
|
+
'post': {
|
|
510
|
+
'collateral/orders': 1.5,
|
|
511
|
+
'collateral/repay': 1.5,
|
|
512
|
+
'collateral/collaterals': 1.5,
|
|
513
|
+
},
|
|
514
|
+
},
|
|
476
515
|
'account': {
|
|
477
516
|
'get': {
|
|
478
517
|
'detail': 1.5,
|
|
@@ -483,6 +522,9 @@ export default class gate extends Exchange {
|
|
|
483
522
|
'stp_groups': 1.5,
|
|
484
523
|
'stp_groups/{stp_id}/users': 1.5,
|
|
485
524
|
},
|
|
525
|
+
'delete': {
|
|
526
|
+
'stp_groups/{stp_id}/users': 1.5,
|
|
527
|
+
},
|
|
486
528
|
},
|
|
487
529
|
'rebate': {
|
|
488
530
|
'get': {
|
package/js/src/pro/okx.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
// ---------------------------------------------------------------------------
|
|
8
8
|
import okxRest from '../okx.js';
|
|
9
|
-
import { AuthenticationError, BadRequest, InvalidNonce } from '../base/errors.js';
|
|
9
|
+
import { ArgumentsRequired, AuthenticationError, BadRequest, InvalidNonce } from '../base/errors.js';
|
|
10
10
|
import { ArrayCache, ArrayCacheByTimestamp, ArrayCacheBySymbolById } from '../base/ws/Cache.js';
|
|
11
11
|
import { sha256 } from '../static_dependencies/noble-hashes/sha256.js';
|
|
12
12
|
// ---------------------------------------------------------------------------
|
|
@@ -233,6 +233,9 @@ export default class okx extends okxRest {
|
|
|
233
233
|
* @param {string} [params.channel] the channel to subscribe to, tickers by default. Can be tickers, sprd-tickers, index-tickers, block-tickers
|
|
234
234
|
* @returns {object} a [ticker structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#ticker-structure}
|
|
235
235
|
*/
|
|
236
|
+
if (this.isEmpty(symbols)) {
|
|
237
|
+
throw new ArgumentsRequired(this.id + ' watchTickers requires a list of symbols');
|
|
238
|
+
}
|
|
236
239
|
let channel = undefined;
|
|
237
240
|
[channel, params] = this.handleOptionAndParams(params, 'watchTickers', 'channel', 'tickers');
|
|
238
241
|
const newTickers = await this.subscribeMultiple('public', channel, symbols, params);
|
package/js/src/whitebit.js
CHANGED
|
@@ -256,6 +256,7 @@ export default class whitebit extends Exchange {
|
|
|
256
256
|
'422': OrderNotFound, // {"response":null,"status":422,"errors":{"orderId":["Finished order id 1295772653 not found on your account"]},"notification":null,"warning":"Finished order id 1295772653 not found on your account","_token":null}
|
|
257
257
|
},
|
|
258
258
|
'broad': {
|
|
259
|
+
'This action is unauthorized': PermissionDenied,
|
|
259
260
|
'Given amount is less than min amount': InvalidOrder,
|
|
260
261
|
'Total is less than': InvalidOrder,
|
|
261
262
|
'fee must be no less than': InvalidOrder,
|
package/package.json
CHANGED