ccxt 4.5.29 → 4.5.31
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 +4 -4
- package/dist/ccxt.browser.min.js +18 -18
- package/dist/cjs/ccxt.js +6 -4
- package/dist/cjs/src/base/Exchange.js +16 -1
- package/dist/cjs/src/base/ws/WsClient.js +1 -0
- package/dist/cjs/src/bingx.js +1 -1
- package/dist/cjs/src/bullish.js +1 -1
- package/dist/cjs/src/bybit.js +2 -0
- package/dist/cjs/src/bydfi.js +2907 -0
- package/dist/cjs/src/coinbase.js +34 -1
- package/dist/cjs/src/dydx.js +3 -3
- package/dist/cjs/src/gate.js +55 -8
- package/dist/cjs/src/hyperliquid.js +19 -4
- package/dist/cjs/src/kucoin.js +175 -68
- package/dist/cjs/src/pro/apex.js +7 -5
- package/dist/cjs/src/pro/ascendex.js +1 -1
- package/dist/cjs/src/pro/binance.js +10 -6
- package/dist/cjs/src/pro/bingx.js +6 -4
- package/dist/cjs/src/pro/bitmart.js +5 -3
- package/dist/cjs/src/pro/bybit.js +6 -4
- package/dist/cjs/src/pro/bydfi.js +1077 -0
- package/dist/cjs/src/pro/cryptocom.js +6 -4
- package/dist/cjs/src/pro/gate.js +5 -3
- package/dist/cjs/src/pro/hashkey.js +5 -3
- package/dist/cjs/src/pro/htx.js +1 -1
- package/dist/cjs/src/pro/hyperliquid.js +1 -1
- package/dist/cjs/src/pro/kucoinfutures.js +5 -3
- package/dist/cjs/src/pro/modetrade.js +5 -3
- package/dist/cjs/src/pro/p2b.js +1 -1
- package/dist/cjs/src/pro/toobit.js +12 -8
- package/dist/cjs/src/pro/woo.js +5 -3
- package/dist/cjs/src/pro/woofipro.js +5 -3
- package/dist/cjs/src/pro/xt.js +5 -3
- package/dist/cjs/src/toobit.js +2 -1
- package/js/ccxt.d.ts +8 -5
- package/js/ccxt.js +6 -4
- package/js/src/abstract/bydfi.d.ts +52 -0
- package/js/src/abstract/kucoin.d.ts +2 -0
- package/js/src/abstract/kucoinfutures.d.ts +2 -0
- package/js/src/base/Exchange.d.ts +3 -0
- package/js/src/base/Exchange.js +16 -1
- package/js/src/base/ws/WsClient.js +1 -0
- package/js/src/binance.d.ts +1 -1
- package/js/src/bingx.js +1 -1
- package/js/src/bullish.js +1 -1
- package/js/src/bybit.js +2 -0
- package/js/src/bydfi.d.ts +472 -0
- package/js/src/bydfi.js +2905 -0
- package/js/src/coinbase.d.ts +11 -0
- package/js/src/coinbase.js +34 -1
- package/js/src/dydx.js +3 -3
- package/js/src/exmo.d.ts +1 -1
- package/js/src/gate.js +55 -8
- package/js/src/hyperliquid.d.ts +1 -0
- package/js/src/hyperliquid.js +19 -4
- package/js/src/kucoin.d.ts +19 -3
- package/js/src/kucoin.js +175 -68
- package/js/src/pro/apex.js +7 -5
- package/js/src/pro/ascendex.js +1 -1
- package/js/src/pro/binance.js +10 -6
- package/js/src/pro/bingx.js +6 -4
- package/js/src/pro/bitmart.js +5 -3
- package/js/src/pro/bybit.js +6 -4
- package/js/src/pro/bydfi.d.ts +206 -0
- package/js/src/pro/bydfi.js +1076 -0
- package/js/src/pro/cryptocom.js +6 -4
- package/js/src/pro/gate.js +5 -3
- package/js/src/pro/hashkey.js +5 -3
- package/js/src/pro/htx.js +1 -1
- package/js/src/pro/hyperliquid.js +1 -1
- package/js/src/pro/kucoinfutures.js +5 -3
- package/js/src/pro/modetrade.js +5 -3
- package/js/src/pro/p2b.js +1 -1
- package/js/src/pro/toobit.js +12 -8
- package/js/src/pro/woo.js +5 -3
- package/js/src/pro/woofipro.js +5 -3
- package/js/src/pro/xt.js +5 -3
- package/js/src/toobit.js +2 -1
- package/package.json +1 -1
- package/dist/cjs/src/oceanex.js +0 -1125
- package/js/src/abstract/oceanex.d.ts +0 -30
- package/js/src/oceanex.d.ts +0 -231
- package/js/src/oceanex.js +0 -1124
- /package/dist/cjs/src/abstract/{oceanex.js → bydfi.js} +0 -0
- /package/js/src/abstract/{oceanex.js → bydfi.js} +0 -0
package/js/src/pro/cryptocom.js
CHANGED
|
@@ -66,7 +66,7 @@ export default class cryptocom extends cryptocomRest {
|
|
|
66
66
|
await client.send({ 'id': this.safeInteger(message, 'id'), 'method': 'public/respond-heartbeat' });
|
|
67
67
|
}
|
|
68
68
|
catch (e) {
|
|
69
|
-
const error = new NetworkError(this.id + ' pong failed with error ' + this.
|
|
69
|
+
const error = new NetworkError(this.id + ' pong failed with error ' + this.exceptionMessage(e));
|
|
70
70
|
client.reset(error);
|
|
71
71
|
}
|
|
72
72
|
}
|
|
@@ -906,9 +906,11 @@ export default class cryptocom extends cryptocomRest {
|
|
|
906
906
|
}
|
|
907
907
|
}
|
|
908
908
|
// don't remove the future from the .futures cache
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
909
|
+
if (messageHash in client.futures) {
|
|
910
|
+
const future = client.futures[messageHash];
|
|
911
|
+
future.resolve(cache);
|
|
912
|
+
client.resolve(cache, 'positions');
|
|
913
|
+
}
|
|
912
914
|
}
|
|
913
915
|
handlePositions(client, message) {
|
|
914
916
|
//
|
package/js/src/pro/gate.js
CHANGED
|
@@ -1205,9 +1205,11 @@ export default class gate extends gateRest {
|
|
|
1205
1205
|
}
|
|
1206
1206
|
}
|
|
1207
1207
|
// don't remove the future from the .futures cache
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1208
|
+
if (messageHash in client.futures) {
|
|
1209
|
+
const future = client.futures[messageHash];
|
|
1210
|
+
future.resolve(cache);
|
|
1211
|
+
client.resolve(cache, type + ':position');
|
|
1212
|
+
}
|
|
1211
1213
|
}
|
|
1212
1214
|
handlePositions(client, message) {
|
|
1213
1215
|
//
|
package/js/src/pro/hashkey.js
CHANGED
|
@@ -731,9 +731,11 @@ export default class hashkey extends hashkeyRest {
|
|
|
731
731
|
const response = await this.fetchBalance({ 'type': type });
|
|
732
732
|
this.balance[type] = this.extend(response, this.safeValue(this.balance, type, {}));
|
|
733
733
|
// don't remove the future from the .futures cache
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
734
|
+
if (messageHash in client.futures) {
|
|
735
|
+
const future = client.futures[messageHash];
|
|
736
|
+
future.resolve();
|
|
737
|
+
client.resolve(this.balance[type], 'balance:' + type);
|
|
738
|
+
}
|
|
737
739
|
}
|
|
738
740
|
handleBalance(client, message) {
|
|
739
741
|
//
|
package/js/src/pro/htx.js
CHANGED
|
@@ -2034,7 +2034,7 @@ export default class htx extends htxRest {
|
|
|
2034
2034
|
}
|
|
2035
2035
|
}
|
|
2036
2036
|
catch (e) {
|
|
2037
|
-
const error = new NetworkError(this.id + ' pong failed ' + this.
|
|
2037
|
+
const error = new NetworkError(this.id + ' pong failed ' + this.exceptionMessage(e));
|
|
2038
2038
|
client.reset(error);
|
|
2039
2039
|
}
|
|
2040
2040
|
}
|
|
@@ -1262,7 +1262,7 @@ export default class hyperliquid extends hyperliquidRest {
|
|
|
1262
1262
|
// "channel": "pong"
|
|
1263
1263
|
// }
|
|
1264
1264
|
//
|
|
1265
|
-
client.lastPong = this.safeInteger(message, 'pong');
|
|
1265
|
+
client.lastPong = this.safeInteger(message, 'pong', this.milliseconds());
|
|
1266
1266
|
return message;
|
|
1267
1267
|
}
|
|
1268
1268
|
requestId() {
|
|
@@ -410,9 +410,11 @@ export default class kucoinfutures extends kucoinfuturesRest {
|
|
|
410
410
|
const cache = this.positions;
|
|
411
411
|
cache.append(position);
|
|
412
412
|
// don't remove the future from the .futures cache
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
413
|
+
if (messageHash in client.futures) {
|
|
414
|
+
const future = client.futures[messageHash];
|
|
415
|
+
future.resolve(cache);
|
|
416
|
+
client.resolve(position, 'position:' + symbol);
|
|
417
|
+
}
|
|
416
418
|
}
|
|
417
419
|
handlePosition(client, message) {
|
|
418
420
|
//
|
package/js/src/pro/modetrade.js
CHANGED
|
@@ -1024,9 +1024,11 @@ export default class modetrade extends modetradeRest {
|
|
|
1024
1024
|
}
|
|
1025
1025
|
}
|
|
1026
1026
|
// don't remove the future from the .futures cache
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1027
|
+
if (messageHash in client.futures) {
|
|
1028
|
+
const future = client.futures[messageHash];
|
|
1029
|
+
future.resolve(cache);
|
|
1030
|
+
client.resolve(cache, 'positions');
|
|
1031
|
+
}
|
|
1030
1032
|
}
|
|
1031
1033
|
handlePositions(client, message) {
|
|
1032
1034
|
//
|
package/js/src/pro/p2b.js
CHANGED
|
@@ -492,7 +492,7 @@ export default class p2b extends p2bRest {
|
|
|
492
492
|
// id: 1706539608030
|
|
493
493
|
// }
|
|
494
494
|
//
|
|
495
|
-
client.lastPong = this.safeInteger(message, 'id');
|
|
495
|
+
client.lastPong = this.safeInteger(message, 'id', this.milliseconds());
|
|
496
496
|
return message;
|
|
497
497
|
}
|
|
498
498
|
onError(client, error) {
|
package/js/src/pro/toobit.js
CHANGED
|
@@ -734,10 +734,12 @@ export default class toobit extends toobitRest {
|
|
|
734
734
|
const type = (marketType === 'spot') ? 'spot' : 'contract';
|
|
735
735
|
this.balance[type] = this.extend(response, this.safeDict(this.balance, type, {}));
|
|
736
736
|
// don't remove the future from the .futures cache
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
737
|
+
if (messageHash in client.futures) {
|
|
738
|
+
const future = client.futures[messageHash];
|
|
739
|
+
future.resolve();
|
|
740
|
+
client.resolve(this.balance[type], type + ':fetchBalanceSnapshot');
|
|
741
|
+
client.resolve(this.balance[type], type + ':balance'); // we should also resolve right away after snapshot, so user doesn't double-fetch balance
|
|
742
|
+
}
|
|
741
743
|
}
|
|
742
744
|
/**
|
|
743
745
|
* @method
|
|
@@ -997,9 +999,11 @@ export default class toobit extends toobitRest {
|
|
|
997
999
|
cache.append(position);
|
|
998
1000
|
}
|
|
999
1001
|
// don't remove the future from the .futures cache
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1002
|
+
if (messageHash in client.futures) {
|
|
1003
|
+
const future = client.futures[messageHash];
|
|
1004
|
+
future.resolve(cache);
|
|
1005
|
+
client.resolve(cache, type + ':positions');
|
|
1006
|
+
}
|
|
1003
1007
|
}
|
|
1004
1008
|
handlePositions(client, message) {
|
|
1005
1009
|
//
|
|
@@ -1108,7 +1112,7 @@ export default class toobit extends toobitRest {
|
|
|
1108
1112
|
this.delay(listenKeyRefreshRate, this.keepAliveListenKey, params);
|
|
1109
1113
|
}
|
|
1110
1114
|
catch (e) {
|
|
1111
|
-
const err = new AuthenticationError(this.id + ' ' + this.
|
|
1115
|
+
const err = new AuthenticationError(this.id + ' ' + this.exceptionMessage(e));
|
|
1112
1116
|
client.reject(err, messageHash);
|
|
1113
1117
|
if (messageHash in client.subscriptions) {
|
|
1114
1118
|
delete client.subscriptions[messageHash];
|
package/js/src/pro/woo.js
CHANGED
|
@@ -1269,9 +1269,11 @@ export default class woo extends wooRest {
|
|
|
1269
1269
|
}
|
|
1270
1270
|
}
|
|
1271
1271
|
// don't remove the future from the .futures cache
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1272
|
+
if (messageHash in client.futures) {
|
|
1273
|
+
const future = client.futures[messageHash];
|
|
1274
|
+
future.resolve(cache);
|
|
1275
|
+
client.resolve(cache, 'positions');
|
|
1276
|
+
}
|
|
1275
1277
|
}
|
|
1276
1278
|
handlePositions(client, message) {
|
|
1277
1279
|
//
|
package/js/src/pro/woofipro.js
CHANGED
|
@@ -1024,9 +1024,11 @@ export default class woofipro extends woofiproRest {
|
|
|
1024
1024
|
}
|
|
1025
1025
|
}
|
|
1026
1026
|
// don't remove the future from the .futures cache
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1027
|
+
if (messageHash in client.futures) {
|
|
1028
|
+
const future = client.futures[messageHash];
|
|
1029
|
+
future.resolve(cache);
|
|
1030
|
+
client.resolve(cache, 'positions');
|
|
1031
|
+
}
|
|
1030
1032
|
}
|
|
1031
1033
|
handlePositions(client, message) {
|
|
1032
1034
|
//
|
package/js/src/pro/xt.js
CHANGED
|
@@ -615,9 +615,11 @@ export default class xt extends xtRest {
|
|
|
615
615
|
}
|
|
616
616
|
}
|
|
617
617
|
// don't remove the future from the .futures cache
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
618
|
+
if (messageHash in client.futures) {
|
|
619
|
+
const future = client.futures[messageHash];
|
|
620
|
+
future.resolve(cache);
|
|
621
|
+
client.resolve(cache, 'position::contract');
|
|
622
|
+
}
|
|
621
623
|
}
|
|
622
624
|
handlePosition(client, message) {
|
|
623
625
|
//
|
package/js/src/toobit.js
CHANGED
|
@@ -2732,7 +2732,8 @@ export default class toobit extends Exchange {
|
|
|
2732
2732
|
'coin': currency['id'],
|
|
2733
2733
|
'address': address,
|
|
2734
2734
|
'quantity': this.currencyToPrecision(currency['code'], amount),
|
|
2735
|
-
'
|
|
2735
|
+
'chainType': networkCode,
|
|
2736
|
+
'clientOrderId': this.milliseconds(),
|
|
2736
2737
|
};
|
|
2737
2738
|
if (tag !== undefined) {
|
|
2738
2739
|
request['addressExt'] = tag;
|
package/package.json
CHANGED