ccxt 4.5.0 → 4.5.1

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.
Files changed (52) hide show
  1. package/README.md +4 -4
  2. package/dist/ccxt.browser.min.js +5 -5
  3. package/dist/cjs/ccxt.js +1 -1
  4. package/dist/cjs/src/base/Exchange.js +13 -0
  5. package/dist/cjs/src/coinbase.js +46 -34
  6. package/dist/cjs/src/gate.js +39 -18
  7. package/dist/cjs/src/gemini.js +1 -1
  8. package/dist/cjs/src/hibachi.js +1 -1
  9. package/dist/cjs/src/hyperliquid.js +16 -2
  10. package/dist/cjs/src/kraken.js +1 -12
  11. package/dist/cjs/src/krakenfutures.js +25 -25
  12. package/dist/cjs/src/mexc.js +2 -1
  13. package/dist/cjs/src/pro/bitget.js +193 -51
  14. package/dist/cjs/src/pro/bybit.js +8 -15
  15. package/dist/cjs/src/pro/gate.js +6 -1
  16. package/dist/cjs/src/pro/hyperliquid.js +4 -1
  17. package/dist/cjs/src/pro/kraken.js +1 -0
  18. package/dist/cjs/src/pro/lbank.js +55 -1
  19. package/dist/cjs/src/pro/mexc.js +1 -1
  20. package/dist/cjs/src/timex.js +35 -0
  21. package/dist/cjs/src/tradeogre.js +32 -0
  22. package/dist/cjs/src/wavesexchange.js +33 -0
  23. package/js/ccxt.d.ts +1 -1
  24. package/js/ccxt.js +1 -1
  25. package/js/src/base/Exchange.d.ts +1 -0
  26. package/js/src/base/Exchange.js +14 -1
  27. package/js/src/coinbase.js +46 -34
  28. package/js/src/gate.d.ts +2 -1
  29. package/js/src/gate.js +39 -18
  30. package/js/src/gemini.js +1 -1
  31. package/js/src/hibachi.js +1 -1
  32. package/js/src/hyperliquid.d.ts +1 -0
  33. package/js/src/hyperliquid.js +16 -2
  34. package/js/src/kraken.d.ts +0 -1
  35. package/js/src/kraken.js +1 -12
  36. package/js/src/krakenfutures.d.ts +24 -24
  37. package/js/src/krakenfutures.js +25 -25
  38. package/js/src/mexc.js +2 -1
  39. package/js/src/pro/bitget.d.ts +8 -2
  40. package/js/src/pro/bitget.js +193 -51
  41. package/js/src/pro/bybit.js +8 -15
  42. package/js/src/pro/gate.d.ts +5 -0
  43. package/js/src/pro/gate.js +6 -1
  44. package/js/src/pro/hyperliquid.js +4 -1
  45. package/js/src/pro/kraken.js +1 -0
  46. package/js/src/pro/lbank.d.ts +11 -1
  47. package/js/src/pro/lbank.js +55 -1
  48. package/js/src/pro/mexc.js +1 -1
  49. package/js/src/timex.js +35 -0
  50. package/js/src/tradeogre.js +32 -0
  51. package/js/src/wavesexchange.js +33 -0
  52. package/package.json +1 -1
@@ -17,7 +17,7 @@ export default class lbank extends lbankRest {
17
17
  'fetchOrderBookWs': true,
18
18
  'fetchTickerWs': true,
19
19
  'fetchTradesWs': true,
20
- 'watchBalance': false,
20
+ 'watchBalance': true,
21
21
  'watchTicker': true,
22
22
  'watchTickers': false,
23
23
  'watchTrades': true,
@@ -669,6 +669,59 @@ export default class lbank extends lbankRest {
669
669
  };
670
670
  return this.safeString(statuses, status, status);
671
671
  }
672
+ /**
673
+ * @method
674
+ * @name lbank#watchBalance
675
+ * @description watch balance and get the amount of funds available for trading or funds locked in orders
676
+ * @see https://www.lbank.com/docs/index.html#update-subscribed-asset
677
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
678
+ * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
679
+ */
680
+ async watchBalance(params = {}) {
681
+ await this.loadMarkets();
682
+ const key = await this.authenticate(params);
683
+ const url = this.urls['api']['ws'];
684
+ const messageHash = 'balance';
685
+ const message = {
686
+ 'action': 'subscribe',
687
+ 'subscribe': 'assetUpdate',
688
+ 'subscribeKey': key,
689
+ };
690
+ const request = this.deepExtend(message, params);
691
+ return await this.watch(url, messageHash, request, messageHash, request);
692
+ }
693
+ handleBalance(client, message) {
694
+ //
695
+ // {
696
+ // "data": {
697
+ // "asset": "114548.31881315",
698
+ // "assetCode": "usdt",
699
+ // "free": "97430.6739041",
700
+ // "freeze": "17117.64490905",
701
+ // "time": 1627300043270,
702
+ // "type": "ORDER_CREATE"
703
+ // },
704
+ // "SERVER": "V2",
705
+ // "type": "assetUpdate",
706
+ // "TS": "2021-07-26T19:48:03.548"
707
+ // }
708
+ //
709
+ const data = this.safeDict(message, 'data', {});
710
+ const timestamp = this.parse8601(this.safeString(message, 'TS'));
711
+ const datetime = this.iso8601(timestamp);
712
+ this.balance['info'] = data;
713
+ this.balance['timestamp'] = timestamp;
714
+ this.balance['datetime'] = datetime;
715
+ const currencyId = this.safeString(data, 'assetCode');
716
+ const code = this.safeCurrencyCode(currencyId);
717
+ const account = this.account();
718
+ account['free'] = this.safeString(data, 'free');
719
+ account['used'] = this.safeString(data, 'freeze');
720
+ account['total'] = this.safeString(data, 'asset');
721
+ this.balance[code] = account;
722
+ this.balance = this.safeBalance(this.balance);
723
+ client.resolve(this.balance, 'balance');
724
+ }
672
725
  /**
673
726
  * @method
674
727
  * @name lbank#fetchOrderBookWs
@@ -845,6 +898,7 @@ export default class lbank extends lbankRest {
845
898
  'trade': this.handleTrades,
846
899
  'tick': this.handleTicker,
847
900
  'orderUpdate': this.handleOrders,
901
+ 'assetUpdate': this.handleBalance,
848
902
  };
849
903
  const handler = this.safeValue(handlers, type);
850
904
  if (handler !== undefined) {
@@ -1422,7 +1422,7 @@ export default class mexc extends mexcRest {
1422
1422
  }
1423
1423
  return this.safeOrder({
1424
1424
  'id': this.safeString(order, 'id'),
1425
- 'clientOrderId': this.safeString(order, 'clientOrderId'),
1425
+ 'clientOrderId': this.safeString(order, 'clientId'),
1426
1426
  'timestamp': timestamp,
1427
1427
  'datetime': this.iso8601(timestamp),
1428
1428
  'lastTradeTimestamp': undefined,
package/js/src/timex.js CHANGED
@@ -28,17 +28,27 @@ export default class timex extends Exchange {
28
28
  'future': false,
29
29
  'option': false,
30
30
  'addMargin': false,
31
+ 'borrowCrossMargin': false,
32
+ 'borrowIsolatedMargin': false,
33
+ 'borrowMargin': false,
31
34
  'cancelOrder': true,
32
35
  'cancelOrders': true,
36
+ 'closeAllPositions': false,
37
+ 'closePosition': false,
33
38
  'createOrder': true,
34
39
  'createReduceOnlyOrder': false,
35
40
  'createStopLimitOrder': false,
36
41
  'createStopMarketOrder': false,
37
42
  'createStopOrder': false,
38
43
  'editOrder': true,
44
+ 'fetchAllGreeks': false,
39
45
  'fetchBalance': true,
46
+ 'fetchBorrowInterest': false,
47
+ 'fetchBorrowRate': false,
40
48
  'fetchBorrowRateHistories': false,
41
49
  'fetchBorrowRateHistory': false,
50
+ 'fetchBorrowRates': false,
51
+ 'fetchBorrowRatesPerSymbol': false,
42
52
  'fetchClosedOrders': true,
43
53
  'fetchCrossBorrowRate': false,
44
54
  'fetchCrossBorrowRates': false,
@@ -49,21 +59,40 @@ export default class timex extends Exchange {
49
59
  'fetchDepositAddressesByNetwork': false,
50
60
  'fetchDeposits': true,
51
61
  'fetchFundingHistory': false,
62
+ 'fetchFundingInterval': false,
63
+ 'fetchFundingIntervals': false,
52
64
  'fetchFundingRate': false,
53
65
  'fetchFundingRateHistory': false,
54
66
  'fetchFundingRates': false,
67
+ 'fetchGreeks': false,
55
68
  'fetchIndexOHLCV': false,
56
69
  'fetchIsolatedBorrowRate': false,
57
70
  'fetchIsolatedBorrowRates': false,
71
+ 'fetchIsolatedPositions': false,
58
72
  'fetchLeverage': false,
73
+ 'fetchLeverages': false,
59
74
  'fetchLeverageTiers': false,
75
+ 'fetchLiquidations': false,
76
+ 'fetchLongShortRatio': false,
77
+ 'fetchLongShortRatioHistory': false,
78
+ 'fetchMarginAdjustmentHistory': false,
60
79
  'fetchMarginMode': false,
80
+ 'fetchMarginModes': false,
81
+ 'fetchMarketLeverageTiers': false,
61
82
  'fetchMarkets': true,
62
83
  'fetchMarkOHLCV': false,
84
+ 'fetchMarkPrice': false,
85
+ 'fetchMarkPrices': false,
86
+ 'fetchMyLiquidations': false,
87
+ 'fetchMySettlementHistory': false,
63
88
  'fetchMyTrades': true,
64
89
  'fetchOHLCV': true,
90
+ 'fetchOpenInterest': false,
65
91
  'fetchOpenInterestHistory': false,
92
+ 'fetchOpenInterests': false,
66
93
  'fetchOpenOrders': true,
94
+ 'fetchOption': false,
95
+ 'fetchOptionChain': false,
67
96
  'fetchOrder': true,
68
97
  'fetchOrderBook': true,
69
98
  'fetchPosition': false,
@@ -74,15 +103,21 @@ export default class timex extends Exchange {
74
103
  'fetchPositionsHistory': false,
75
104
  'fetchPositionsRisk': false,
76
105
  'fetchPremiumIndexOHLCV': false,
106
+ 'fetchSettlementHistory': false,
77
107
  'fetchTicker': true,
78
108
  'fetchTickers': true,
79
109
  'fetchTime': true,
80
110
  'fetchTrades': true,
81
111
  'fetchTradingFee': true,
112
+ 'fetchUnderlyingAssets': false,
113
+ 'fetchVolatilityHistory': false,
82
114
  'fetchWithdrawal': false,
83
115
  'fetchWithdrawals': true,
84
116
  'reduceMargin': false,
117
+ 'repayCrossMargin': false,
118
+ 'repayIsolatedMargin': false,
85
119
  'setLeverage': false,
120
+ 'setMargin': false,
86
121
  'setMarginMode': false,
87
122
  'setPositionMode': false,
88
123
  },
@@ -30,6 +30,9 @@ export default class tradeogre extends Exchange {
30
30
  'future': false,
31
31
  'option': false,
32
32
  'addMargin': false,
33
+ 'borrowCrossMargin': false,
34
+ 'borrowIsolatedMargin': false,
35
+ 'borrowMargin': false,
33
36
  'cancelAllOrders': true,
34
37
  'cancelOrder': true,
35
38
  'cancelOrders': false,
@@ -45,9 +48,14 @@ export default class tradeogre extends Exchange {
45
48
  'createStopMarketOrder': false,
46
49
  'createStopOrder': false,
47
50
  'fetchAccounts': false,
51
+ 'fetchAllGreeks': false,
48
52
  'fetchBalance': true,
49
53
  'fetchBorrowInterest': false,
54
+ 'fetchBorrowRate': false,
55
+ 'fetchBorrowRateHistories': false,
50
56
  'fetchBorrowRateHistory': false,
57
+ 'fetchBorrowRates': false,
58
+ 'fetchBorrowRatesPerSymbol': false,
51
59
  'fetchClosedOrders': false,
52
60
  'fetchCrossBorrowRate': false,
53
61
  'fetchCrossBorrowRates': false,
@@ -58,23 +66,42 @@ export default class tradeogre extends Exchange {
58
66
  'fetchDeposits': false,
59
67
  'fetchDepositsWithdrawals': false,
60
68
  'fetchFundingHistory': false,
69
+ 'fetchFundingInterval': false,
70
+ 'fetchFundingIntervals': false,
61
71
  'fetchFundingRate': false,
62
72
  'fetchFundingRateHistory': false,
63
73
  'fetchFundingRates': false,
74
+ 'fetchGreeks': false,
64
75
  'fetchIndexOHLCV': false,
65
76
  'fetchIsolatedBorrowRate': false,
66
77
  'fetchIsolatedBorrowRates': false,
78
+ 'fetchIsolatedPositions': false,
67
79
  'fetchLedger': false,
68
80
  'fetchLedgerEntry': false,
81
+ 'fetchLeverage': false,
82
+ 'fetchLeverages': false,
69
83
  'fetchLeverageTiers': false,
84
+ 'fetchLiquidations': false,
85
+ 'fetchLongShortRatio': false,
86
+ 'fetchLongShortRatioHistory': false,
87
+ 'fetchMarginAdjustmentHistory': false,
88
+ 'fetchMarginMode': false,
89
+ 'fetchMarginModes': false,
70
90
  'fetchMarketLeverageTiers': false,
71
91
  'fetchMarkets': true,
72
92
  'fetchMarkOHLCV': false,
93
+ 'fetchMarkPrice': false,
94
+ 'fetchMarkPrices': false,
95
+ 'fetchMyLiquidations': false,
96
+ 'fetchMySettlementHistory': false,
73
97
  'fetchMyTrades': false,
74
98
  'fetchOHLCV': true,
75
99
  'fetchOpenInterest': false,
76
100
  'fetchOpenInterestHistory': false,
101
+ 'fetchOpenInterests': false,
77
102
  'fetchOpenOrders': true,
103
+ 'fetchOption': false,
104
+ 'fetchOptionChain': false,
78
105
  'fetchOrder': true,
79
106
  'fetchOrderBook': true,
80
107
  'fetchOrderBooks': false,
@@ -88,6 +115,7 @@ export default class tradeogre extends Exchange {
88
115
  'fetchPositionsHistory': false,
89
116
  'fetchPositionsRisk': false,
90
117
  'fetchPremiumIndexOHLCV': false,
118
+ 'fetchSettlementHistory': false,
91
119
  'fetchTicker': true,
92
120
  'fetchTickers': true,
93
121
  'fetchTrades': true,
@@ -96,10 +124,14 @@ export default class tradeogre extends Exchange {
96
124
  'fetchTransactionFees': false,
97
125
  'fetchTransactions': false,
98
126
  'fetchTransfers': false,
127
+ 'fetchUnderlyingAssets': false,
128
+ 'fetchVolatilityHistory': false,
99
129
  'fetchWithdrawAddresses': false,
100
130
  'fetchWithdrawal': false,
101
131
  'fetchWithdrawals': false,
102
132
  'reduceMargin': false,
133
+ 'repayCrossMargin': false,
134
+ 'repayIsolatedMargin': false,
103
135
  'setLeverage': false,
104
136
  'setMargin': false,
105
137
  'setMarginMode': false,
@@ -32,6 +32,9 @@ export default class wavesexchange extends Exchange {
32
32
  'future': false,
33
33
  'option': false,
34
34
  'addMargin': false,
35
+ 'borrowCrossMargin': false,
36
+ 'borrowIsolatedMargin': false,
37
+ 'borrowMargin': false,
35
38
  'cancelOrder': true,
36
39
  'closeAllPositions': false,
37
40
  'closePosition': false,
@@ -41,9 +44,14 @@ export default class wavesexchange extends Exchange {
41
44
  'createStopLimitOrder': false,
42
45
  'createStopMarketOrder': false,
43
46
  'createStopOrder': false,
47
+ 'fetchAllGreeks': false,
44
48
  'fetchBalance': true,
49
+ 'fetchBorrowInterest': false,
50
+ 'fetchBorrowRate': false,
45
51
  'fetchBorrowRateHistories': false,
46
52
  'fetchBorrowRateHistory': false,
53
+ 'fetchBorrowRates': false,
54
+ 'fetchBorrowRatesPerSymbol': false,
47
55
  'fetchClosedOrders': true,
48
56
  'fetchCrossBorrowRate': false,
49
57
  'fetchCrossBorrowRates': false,
@@ -53,21 +61,40 @@ export default class wavesexchange extends Exchange {
53
61
  'fetchDepositWithdrawFee': 'emulated',
54
62
  'fetchDepositWithdrawFees': true,
55
63
  'fetchFundingHistory': false,
64
+ 'fetchFundingInterval': false,
65
+ 'fetchFundingIntervals': false,
56
66
  'fetchFundingRate': false,
57
67
  'fetchFundingRateHistory': false,
58
68
  'fetchFundingRates': false,
69
+ 'fetchGreeks': false,
59
70
  'fetchIndexOHLCV': false,
60
71
  'fetchIsolatedBorrowRate': false,
61
72
  'fetchIsolatedBorrowRates': false,
73
+ 'fetchIsolatedPositions': false,
62
74
  'fetchLeverage': false,
75
+ 'fetchLeverages': false,
63
76
  'fetchLeverageTiers': false,
77
+ 'fetchLiquidations': false,
78
+ 'fetchLongShortRatio': false,
79
+ 'fetchLongShortRatioHistory': false,
80
+ 'fetchMarginAdjustmentHistory': false,
64
81
  'fetchMarginMode': false,
82
+ 'fetchMarginModes': false,
83
+ 'fetchMarketLeverageTiers': false,
65
84
  'fetchMarkets': true,
66
85
  'fetchMarkOHLCV': false,
86
+ 'fetchMarkPrice': false,
87
+ 'fetchMarkPrices': false,
88
+ 'fetchMyLiquidations': false,
89
+ 'fetchMySettlementHistory': false,
67
90
  'fetchMyTrades': true,
68
91
  'fetchOHLCV': true,
92
+ 'fetchOpenInterest': false,
69
93
  'fetchOpenInterestHistory': false,
94
+ 'fetchOpenInterests': false,
70
95
  'fetchOpenOrders': true,
96
+ 'fetchOption': false,
97
+ 'fetchOptionChain': false,
71
98
  'fetchOrder': true,
72
99
  'fetchOrderBook': true,
73
100
  'fetchOrders': true,
@@ -79,14 +106,20 @@ export default class wavesexchange extends Exchange {
79
106
  'fetchPositionsHistory': false,
80
107
  'fetchPositionsRisk': false,
81
108
  'fetchPremiumIndexOHLCV': false,
109
+ 'fetchSettlementHistory': false,
82
110
  'fetchTicker': true,
83
111
  'fetchTickers': true,
84
112
  'fetchTrades': true,
85
113
  'fetchTransfer': false,
86
114
  'fetchTransfers': false,
115
+ 'fetchUnderlyingAssets': false,
116
+ 'fetchVolatilityHistory': false,
87
117
  'reduceMargin': false,
118
+ 'repayCrossMargin': false,
119
+ 'repayIsolatedMargin': false,
88
120
  'sandbox': true,
89
121
  'setLeverage': false,
122
+ 'setMargin': false,
90
123
  'setMarginMode': false,
91
124
  'setPositionMode': false,
92
125
  'signIn': true,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccxt",
3
- "version": "4.5.0",
3
+ "version": "4.5.1",
4
4
  "description": "A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges",
5
5
  "unpkg": "dist/ccxt.browser.min.js",
6
6
  "type": "module",