ccxt 4.2.66 → 4.2.67
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 +15 -6
- package/dist/ccxt.browser.min.js +2 -2
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/base/Exchange.js +8 -2
- package/dist/cjs/src/bitfinex2.js +4 -2
- package/dist/cjs/src/gate.js +2 -1
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/base/Exchange.js +8 -2
- package/js/src/bitfinex2.js +4 -2
- package/js/src/gate.js +2 -1
- package/package.json +1 -1
- package/skip-tests.json +14 -7
package/dist/cjs/ccxt.js
CHANGED
|
@@ -177,7 +177,7 @@ var woo$1 = require('./src/pro/woo.js');
|
|
|
177
177
|
|
|
178
178
|
//-----------------------------------------------------------------------------
|
|
179
179
|
// this is updated by vss.js when building
|
|
180
|
-
const version = '4.2.
|
|
180
|
+
const version = '4.2.67';
|
|
181
181
|
Exchange["default"].ccxtVersion = version;
|
|
182
182
|
const exchanges = {
|
|
183
183
|
'ace': ace,
|
|
@@ -5330,7 +5330,10 @@ class Exchange {
|
|
|
5330
5330
|
const response = await this[method](symbol, undefined, maxEntriesPerRequest, params);
|
|
5331
5331
|
const responseLength = response.length;
|
|
5332
5332
|
if (this.verbose) {
|
|
5333
|
-
|
|
5333
|
+
let backwardMessage = 'Dynamic pagination call ' + this.numberToString(calls) + ' method ' + method + ' response length ' + this.numberToString(responseLength);
|
|
5334
|
+
if (paginationTimestamp !== undefined) {
|
|
5335
|
+
backwardMessage += ' timestamp ' + this.numberToString(paginationTimestamp);
|
|
5336
|
+
}
|
|
5334
5337
|
this.log(backwardMessage);
|
|
5335
5338
|
}
|
|
5336
5339
|
if (responseLength === 0) {
|
|
@@ -5349,7 +5352,10 @@ class Exchange {
|
|
|
5349
5352
|
const response = await this[method](symbol, paginationTimestamp, maxEntriesPerRequest, params);
|
|
5350
5353
|
const responseLength = response.length;
|
|
5351
5354
|
if (this.verbose) {
|
|
5352
|
-
|
|
5355
|
+
let forwardMessage = 'Dynamic pagination call ' + this.numberToString(calls) + ' method ' + method + ' response length ' + this.numberToString(responseLength);
|
|
5356
|
+
if (paginationTimestamp !== undefined) {
|
|
5357
|
+
forwardMessage += ' timestamp ' + this.numberToString(paginationTimestamp);
|
|
5358
|
+
}
|
|
5353
5359
|
this.log(forwardMessage);
|
|
5354
5360
|
}
|
|
5355
5361
|
if (responseLength === 0) {
|
|
@@ -1384,9 +1384,11 @@ class bitfinex2 extends bitfinex2$1 {
|
|
|
1384
1384
|
'symbol': market['id'],
|
|
1385
1385
|
'timeframe': this.safeString(this.timeframes, timeframe, timeframe),
|
|
1386
1386
|
'sort': 1,
|
|
1387
|
-
'start': since,
|
|
1388
1387
|
'limit': limit,
|
|
1389
1388
|
};
|
|
1389
|
+
if (since !== undefined) {
|
|
1390
|
+
request['start'] = since;
|
|
1391
|
+
}
|
|
1390
1392
|
[request, params] = this.handleUntilOption('end', request, params);
|
|
1391
1393
|
const response = await this.publicGetCandlesTradeTimeframeSymbolHist(this.extend(request, params));
|
|
1392
1394
|
//
|
|
@@ -2959,7 +2961,7 @@ class bitfinex2 extends bitfinex2$1 {
|
|
|
2959
2961
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
2960
2962
|
* @returns {object} a [funding rate structure]{@link https://docs.ccxt.com/#/?id=funding-rate-structure}
|
|
2961
2963
|
*/
|
|
2962
|
-
return this.fetchFundingRates([symbol], params);
|
|
2964
|
+
return await this.fetchFundingRates([symbol], params);
|
|
2963
2965
|
}
|
|
2964
2966
|
async fetchFundingRates(symbols = undefined, params = {}) {
|
|
2965
2967
|
/**
|
package/dist/cjs/src/gate.js
CHANGED
|
@@ -2241,7 +2241,8 @@ class gate extends gate$1 {
|
|
|
2241
2241
|
const [request, requestParams] = this.prepareRequest(market, type, query);
|
|
2242
2242
|
request['type'] = 'fund'; // 'dnw' 'pnl' 'fee' 'refr' 'fund' 'point_dnw' 'point_fee' 'point_refr'
|
|
2243
2243
|
if (since !== undefined) {
|
|
2244
|
-
|
|
2244
|
+
// from should be integer
|
|
2245
|
+
request['from'] = this.parseToInt(since / 1000);
|
|
2245
2246
|
}
|
|
2246
2247
|
if (limit !== undefined) {
|
|
2247
2248
|
request['limit'] = limit;
|
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 type { Market, Trade, Fee, Ticker, OrderBook, Order, Transaction, Tickers, Currency, Balance, DepositAddress, WithdrawalResponse, DepositAddressResponse, OHLCV, Balances, PartialBalances, Dictionary, MinMax, Position, FundingRateHistory, Liquidation, FundingHistory, MarginMode, Greeks, Leverage, Leverages } 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, NoChange } from './src/base/errors.js';
|
|
7
|
-
declare const version = "4.2.
|
|
7
|
+
declare const version = "4.2.66";
|
|
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, NoChange } from './src/base/errors.js';
|
|
39
39
|
//-----------------------------------------------------------------------------
|
|
40
40
|
// this is updated by vss.js when building
|
|
41
|
-
const version = '4.2.
|
|
41
|
+
const version = '4.2.67';
|
|
42
42
|
Exchange.ccxtVersion = version;
|
|
43
43
|
//-----------------------------------------------------------------------------
|
|
44
44
|
import ace from './src/ace.js';
|
package/js/src/base/Exchange.js
CHANGED
|
@@ -5317,7 +5317,10 @@ export default class Exchange {
|
|
|
5317
5317
|
const response = await this[method](symbol, undefined, maxEntriesPerRequest, params);
|
|
5318
5318
|
const responseLength = response.length;
|
|
5319
5319
|
if (this.verbose) {
|
|
5320
|
-
|
|
5320
|
+
let backwardMessage = 'Dynamic pagination call ' + this.numberToString(calls) + ' method ' + method + ' response length ' + this.numberToString(responseLength);
|
|
5321
|
+
if (paginationTimestamp !== undefined) {
|
|
5322
|
+
backwardMessage += ' timestamp ' + this.numberToString(paginationTimestamp);
|
|
5323
|
+
}
|
|
5321
5324
|
this.log(backwardMessage);
|
|
5322
5325
|
}
|
|
5323
5326
|
if (responseLength === 0) {
|
|
@@ -5336,7 +5339,10 @@ export default class Exchange {
|
|
|
5336
5339
|
const response = await this[method](symbol, paginationTimestamp, maxEntriesPerRequest, params);
|
|
5337
5340
|
const responseLength = response.length;
|
|
5338
5341
|
if (this.verbose) {
|
|
5339
|
-
|
|
5342
|
+
let forwardMessage = 'Dynamic pagination call ' + this.numberToString(calls) + ' method ' + method + ' response length ' + this.numberToString(responseLength);
|
|
5343
|
+
if (paginationTimestamp !== undefined) {
|
|
5344
|
+
forwardMessage += ' timestamp ' + this.numberToString(paginationTimestamp);
|
|
5345
|
+
}
|
|
5340
5346
|
this.log(forwardMessage);
|
|
5341
5347
|
}
|
|
5342
5348
|
if (responseLength === 0) {
|
package/js/src/bitfinex2.js
CHANGED
|
@@ -1387,9 +1387,11 @@ export default class bitfinex2 extends Exchange {
|
|
|
1387
1387
|
'symbol': market['id'],
|
|
1388
1388
|
'timeframe': this.safeString(this.timeframes, timeframe, timeframe),
|
|
1389
1389
|
'sort': 1,
|
|
1390
|
-
'start': since,
|
|
1391
1390
|
'limit': limit,
|
|
1392
1391
|
};
|
|
1392
|
+
if (since !== undefined) {
|
|
1393
|
+
request['start'] = since;
|
|
1394
|
+
}
|
|
1393
1395
|
[request, params] = this.handleUntilOption('end', request, params);
|
|
1394
1396
|
const response = await this.publicGetCandlesTradeTimeframeSymbolHist(this.extend(request, params));
|
|
1395
1397
|
//
|
|
@@ -2962,7 +2964,7 @@ export default class bitfinex2 extends Exchange {
|
|
|
2962
2964
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
2963
2965
|
* @returns {object} a [funding rate structure]{@link https://docs.ccxt.com/#/?id=funding-rate-structure}
|
|
2964
2966
|
*/
|
|
2965
|
-
return this.fetchFundingRates([symbol], params);
|
|
2967
|
+
return await this.fetchFundingRates([symbol], params);
|
|
2966
2968
|
}
|
|
2967
2969
|
async fetchFundingRates(symbols = undefined, params = {}) {
|
|
2968
2970
|
/**
|
package/js/src/gate.js
CHANGED
|
@@ -2244,7 +2244,8 @@ export default class gate extends Exchange {
|
|
|
2244
2244
|
const [request, requestParams] = this.prepareRequest(market, type, query);
|
|
2245
2245
|
request['type'] = 'fund'; // 'dnw' 'pnl' 'fee' 'refr' 'fund' 'point_dnw' 'point_fee' 'point_refr'
|
|
2246
2246
|
if (since !== undefined) {
|
|
2247
|
-
|
|
2247
|
+
// from should be integer
|
|
2248
|
+
request['from'] = this.parseToInt(since / 1000);
|
|
2248
2249
|
}
|
|
2249
2250
|
if (limit !== undefined) {
|
|
2250
2251
|
request['limit'] = limit;
|
package/package.json
CHANGED
package/skip-tests.json
CHANGED
|
@@ -367,13 +367,12 @@
|
|
|
367
367
|
"bitmex": {
|
|
368
368
|
"skipMethods": {
|
|
369
369
|
"loadMarkets": "some market types are out of expected market-types",
|
|
370
|
-
"fetchOHLCV":
|
|
371
|
-
|
|
372
|
-
},
|
|
373
|
-
"watchOHLCV": {
|
|
374
|
-
"1": "same as above"
|
|
375
|
-
},
|
|
370
|
+
"fetchOHLCV": "https://github.com/ccxt/ccxt/pull/21356#issuecomment-1969565862",
|
|
371
|
+
"watchOHLCV": "same as above, needs key fix",
|
|
376
372
|
"fetchTickers": "negative values",
|
|
373
|
+
"watchTickers": {
|
|
374
|
+
"open": "https://app.travis-ci.com/github/ccxt/ccxt/builds/269367056#L3473"
|
|
375
|
+
},
|
|
377
376
|
"fetchPositions": {
|
|
378
377
|
"stopLossPrice": "undefined",
|
|
379
378
|
"takeProfitPrice": "undefined",
|
|
@@ -821,6 +820,9 @@
|
|
|
821
820
|
"ask": "not above bid https://app.travis-ci.com/github/ccxt/ccxt/builds/263871244#L2163",
|
|
822
821
|
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
|
|
823
822
|
"baseVolume": "quoteVolume >= baseVolume * low is failing"
|
|
823
|
+
},
|
|
824
|
+
"watchTrades": {
|
|
825
|
+
"fees": "missing https://app.travis-ci.com/github/ccxt/ccxt/builds/269365378#L3601"
|
|
824
826
|
}
|
|
825
827
|
}
|
|
826
828
|
},
|
|
@@ -1152,9 +1154,11 @@
|
|
|
1152
1154
|
"latoken": {
|
|
1153
1155
|
"skipMethods":{
|
|
1154
1156
|
"loadMarkets": {
|
|
1157
|
+
"currency": "messed",
|
|
1155
1158
|
"currencyIdAndCode": "messed"
|
|
1156
1159
|
},
|
|
1157
1160
|
"fetchCurrencies": {
|
|
1161
|
+
"currency": "messed",
|
|
1158
1162
|
"currencyIdAndCode": "https://app.travis-ci.com/github/ccxt/ccxt/builds/269188556#L4337",
|
|
1159
1163
|
"withdraw":"not provided",
|
|
1160
1164
|
"deposit":"not provided"
|
|
@@ -1183,7 +1187,10 @@
|
|
|
1183
1187
|
"watchTrades": {
|
|
1184
1188
|
"timestamp": "ts several hours ahead in in future :)"
|
|
1185
1189
|
},
|
|
1186
|
-
"watchOHLCV": "some timestamp issues"
|
|
1190
|
+
"watchOHLCV": "some timestamp issues",
|
|
1191
|
+
"watchOrderBook": {
|
|
1192
|
+
"spread": "https://app.travis-ci.com/github/ccxt/ccxt/builds/269364330#L3612"
|
|
1193
|
+
}
|
|
1187
1194
|
}
|
|
1188
1195
|
},
|
|
1189
1196
|
"lykke": {
|