ccxt 4.5.0 → 4.5.2
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 +110 -112
- package/dist/ccxt.browser.min.js +5 -5
- package/dist/cjs/ccxt.js +1 -9
- package/dist/cjs/src/ascendex.js +1 -1
- package/dist/cjs/src/base/Exchange.js +13 -0
- package/dist/cjs/src/binance.js +20 -14
- package/dist/cjs/src/bitget.js +1 -1
- package/dist/cjs/src/coinbase.js +46 -34
- package/dist/cjs/src/gate.js +39 -18
- package/dist/cjs/src/gemini.js +1 -1
- package/dist/cjs/src/hibachi.js +1 -1
- package/dist/cjs/src/hyperliquid.js +16 -2
- package/dist/cjs/src/indodax.js +11 -12
- package/dist/cjs/src/kraken.js +1 -12
- package/dist/cjs/src/krakenfutures.js +25 -25
- package/dist/cjs/src/mexc.js +2 -1
- package/dist/cjs/src/okx.js +2 -2
- package/dist/cjs/src/poloniex.js +1 -1
- package/dist/cjs/src/pro/bitget.js +352 -75
- package/dist/cjs/src/pro/bitmart.js +1 -1
- package/dist/cjs/src/pro/bybit.js +8 -15
- package/dist/cjs/src/pro/gate.js +6 -1
- package/dist/cjs/src/pro/gemini.js +7 -2
- package/dist/cjs/src/pro/hyperliquid.js +9 -1
- package/dist/cjs/src/pro/kraken.js +5 -6
- package/dist/cjs/src/pro/lbank.js +55 -1
- package/dist/cjs/src/pro/mexc.js +1 -1
- package/dist/cjs/src/timex.js +35 -0
- package/dist/cjs/src/tradeogre.js +32 -0
- package/dist/cjs/src/wavesexchange.js +33 -0
- package/dist/cjs/src/zonda.js +12 -0
- package/js/ccxt.d.ts +2 -11
- package/js/ccxt.js +2 -8
- package/js/src/ascendex.js +1 -1
- package/js/src/base/Exchange.d.ts +1 -0
- package/js/src/base/Exchange.js +14 -1
- package/js/src/binance.d.ts +1 -1
- package/js/src/binance.js +20 -14
- package/js/src/bitget.js +1 -1
- package/js/src/coinbase.js +46 -34
- package/js/src/gate.d.ts +2 -1
- package/js/src/gate.js +39 -18
- package/js/src/gemini.js +1 -1
- package/js/src/hibachi.js +1 -1
- package/js/src/hyperliquid.d.ts +1 -0
- package/js/src/hyperliquid.js +16 -2
- package/js/src/indodax.js +11 -12
- package/js/src/kraken.d.ts +0 -1
- package/js/src/kraken.js +1 -12
- package/js/src/krakenfutures.d.ts +24 -24
- package/js/src/krakenfutures.js +25 -25
- package/js/src/mexc.js +2 -1
- package/js/src/okx.js +2 -2
- package/js/src/poloniex.js +1 -1
- package/js/src/pro/bitget.d.ts +12 -2
- package/js/src/pro/bitget.js +358 -75
- package/js/src/pro/bitmart.js +1 -1
- package/js/src/pro/bybit.js +8 -15
- package/js/src/pro/gate.d.ts +5 -0
- package/js/src/pro/gate.js +6 -1
- package/js/src/pro/gemini.d.ts +1 -1
- package/js/src/pro/gemini.js +7 -2
- package/js/src/pro/hyperliquid.js +9 -1
- package/js/src/pro/kraken.js +5 -6
- package/js/src/pro/lbank.d.ts +11 -1
- package/js/src/pro/lbank.js +55 -1
- package/js/src/pro/mexc.js +1 -1
- package/js/src/timex.js +35 -0
- package/js/src/tradeogre.js +32 -0
- package/js/src/wavesexchange.js +33 -0
- package/js/src/zonda.js +12 -0
- package/package.json +2 -1
- package/js/src/abstract/ellipx.d.ts +0 -28
- package/js/src/abstract/ellipx.js +0 -11
- package/js/src/abstract/vertex.d.ts +0 -22
- package/js/src/abstract/vertex.js +0 -11
- package/js/src/ellipx.d.ts +0 -237
- package/js/src/ellipx.js +0 -2071
- package/js/src/pro/vertex.d.ts +0 -104
- package/js/src/pro/vertex.js +0 -999
- package/js/src/vertex.d.ts +0 -346
- package/js/src/vertex.js +0 -3146
package/js/src/pro/bitmart.js
CHANGED
|
@@ -220,7 +220,7 @@ export default class bitmart extends bitmartRest {
|
|
|
220
220
|
// "fz_bal":"0.100000000000000000000000000000"
|
|
221
221
|
// }
|
|
222
222
|
// ],
|
|
223
|
-
// "event_time":"
|
|
223
|
+
// "event_time":"1701632345416",
|
|
224
224
|
// "event_type":"TRANSACTION_COMPLETED"
|
|
225
225
|
// }
|
|
226
226
|
// ],
|
package/js/src/pro/bybit.js
CHANGED
|
@@ -867,21 +867,14 @@ export default class bybit extends bybitRest {
|
|
|
867
867
|
}
|
|
868
868
|
}
|
|
869
869
|
else {
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
throw new BadRequest(this.id + ' watchOrderBookForSymbols() can only use limit 1, 50, 200 and 500 for swap and future markets.');
|
|
879
|
-
}
|
|
880
|
-
}
|
|
881
|
-
else {
|
|
882
|
-
if ((limit !== 1) && (limit !== 50) && (limit !== 200)) {
|
|
883
|
-
throw new BadRequest(this.id + ' watchOrderBookForSymbols() can only use limit 1,50, and 200 for spot markets.');
|
|
884
|
-
}
|
|
870
|
+
const limits = {
|
|
871
|
+
'spot': [1, 50, 200, 1000],
|
|
872
|
+
'option': [25, 100],
|
|
873
|
+
'default': [1, 50, 200, 500, 1000],
|
|
874
|
+
};
|
|
875
|
+
const selectedLimits = this.safeList2(limits, market['type'], 'default');
|
|
876
|
+
if (!this.inArray(limit, selectedLimits)) {
|
|
877
|
+
throw new BadRequest(this.id + ' watchOrderBookForSymbols(): for ' + market['type'] + ' markets limit can be one of: ' + this.json(selectedLimits));
|
|
885
878
|
}
|
|
886
879
|
}
|
|
887
880
|
const topics = [];
|
package/js/src/pro/gate.d.ts
CHANGED
|
@@ -143,6 +143,11 @@ export default class gate extends gateRest {
|
|
|
143
143
|
* @method
|
|
144
144
|
* @name gate#watchOrderBook
|
|
145
145
|
* @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
|
|
146
|
+
* @see https://www.gate.com/docs/developers/apiv4/ws/en/#order-book-channel
|
|
147
|
+
* @see https://www.gate.com/docs/developers/apiv4/ws/en/#order-book-v2-api
|
|
148
|
+
* @see https://www.gate.com/docs/developers/futures/ws/en/#order-book-api
|
|
149
|
+
* @see https://www.gate.com/docs/developers/futures/ws/en/#order-book-v2-api
|
|
150
|
+
* @see https://www.gate.com/docs/developers/delivery/ws/en/#order-book-api
|
|
146
151
|
* @param {string} symbol unified symbol of the market to fetch the order book for
|
|
147
152
|
* @param {int} [limit] the maximum amount of order book entries to return
|
|
148
153
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
package/js/src/pro/gate.js
CHANGED
|
@@ -361,6 +361,11 @@ export default class gate extends gateRest {
|
|
|
361
361
|
* @method
|
|
362
362
|
* @name gate#watchOrderBook
|
|
363
363
|
* @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
|
|
364
|
+
* @see https://www.gate.com/docs/developers/apiv4/ws/en/#order-book-channel
|
|
365
|
+
* @see https://www.gate.com/docs/developers/apiv4/ws/en/#order-book-v2-api
|
|
366
|
+
* @see https://www.gate.com/docs/developers/futures/ws/en/#order-book-api
|
|
367
|
+
* @see https://www.gate.com/docs/developers/futures/ws/en/#order-book-v2-api
|
|
368
|
+
* @see https://www.gate.com/docs/developers/delivery/ws/en/#order-book-api
|
|
364
369
|
* @param {string} symbol unified symbol of the market to fetch the order book for
|
|
365
370
|
* @param {int} [limit] the maximum amount of order book entries to return
|
|
366
371
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
@@ -378,7 +383,7 @@ export default class gate extends gateRest {
|
|
|
378
383
|
const url = this.getUrlByMarket(market);
|
|
379
384
|
const payload = [marketId, interval];
|
|
380
385
|
if (limit === undefined) {
|
|
381
|
-
limit = 100;
|
|
386
|
+
limit = 100; // max 100 atm
|
|
382
387
|
}
|
|
383
388
|
if (market['contract']) {
|
|
384
389
|
const stringLimit = limit.toString();
|
package/js/src/pro/gemini.d.ts
CHANGED
|
@@ -79,7 +79,7 @@ export default class gemini extends geminiRest {
|
|
|
79
79
|
*/
|
|
80
80
|
watchBidsAsks(symbols?: Strings, params?: {}): Promise<Tickers>;
|
|
81
81
|
handleBidsAsksForMultidata(client: Client, rawBidAskChanges: any, timestamp: Int, nonce: Int): void;
|
|
82
|
-
helperForWatchMultipleConstruct(itemHashName: string, symbols
|
|
82
|
+
helperForWatchMultipleConstruct(itemHashName: string, symbols?: string[], params?: {}): Promise<any>;
|
|
83
83
|
handleOrderBookForMultidata(client: Client, rawOrderBookChanges: any, timestamp: Int, nonce: Int): void;
|
|
84
84
|
handleL2Updates(client: Client, message: any): void;
|
|
85
85
|
/**
|
package/js/src/pro/gemini.js
CHANGED
|
@@ -491,11 +491,16 @@ export default class gemini extends geminiRest {
|
|
|
491
491
|
currentBidAsk['timestamp'] = timestamp;
|
|
492
492
|
currentBidAsk['datetime'] = this.iso8601(timestamp);
|
|
493
493
|
currentBidAsk['info'] = rawBidAskChanges;
|
|
494
|
+
const bidsAsksDict = {};
|
|
495
|
+
bidsAsksDict[symbol] = currentBidAsk;
|
|
494
496
|
this.bidsasks[symbol] = currentBidAsk;
|
|
495
|
-
client.resolve(
|
|
497
|
+
client.resolve(bidsAsksDict, messageHash);
|
|
496
498
|
}
|
|
497
|
-
async helperForWatchMultipleConstruct(itemHashName, symbols, params = {}) {
|
|
499
|
+
async helperForWatchMultipleConstruct(itemHashName, symbols = undefined, params = {}) {
|
|
498
500
|
await this.loadMarkets();
|
|
501
|
+
if (symbols === undefined) {
|
|
502
|
+
throw new NotSupported(this.id + ' watchMultiple requires at least one symbol');
|
|
503
|
+
}
|
|
499
504
|
symbols = this.marketSymbols(symbols, undefined, false, true, true);
|
|
500
505
|
const firstMarket = this.market(symbols[0]);
|
|
501
506
|
if (!firstMarket['spot'] && !firstMarket['linear']) {
|
|
@@ -99,6 +99,11 @@ export default class hyperliquid extends hyperliquidRest {
|
|
|
99
99
|
await this.loadMarkets();
|
|
100
100
|
const [order, globalParams] = this.parseCreateEditOrderArgs(undefined, symbol, type, side, amount, price, params);
|
|
101
101
|
const orders = await this.createOrdersWs([order], globalParams);
|
|
102
|
+
const ordersLength = orders.length;
|
|
103
|
+
if (ordersLength === 0) {
|
|
104
|
+
// not sure why but it is happening sometimes
|
|
105
|
+
return this.safeOrder({});
|
|
106
|
+
}
|
|
102
107
|
const parsedOrder = orders[0];
|
|
103
108
|
return parsedOrder;
|
|
104
109
|
}
|
|
@@ -921,7 +926,10 @@ export default class hyperliquid extends hyperliquidRest {
|
|
|
921
926
|
return true;
|
|
922
927
|
}
|
|
923
928
|
const data = this.safeDict(message, 'data', {});
|
|
924
|
-
|
|
929
|
+
let id = this.safeString(message, 'id');
|
|
930
|
+
if (id === undefined) {
|
|
931
|
+
id = this.safeString(data, 'id');
|
|
932
|
+
}
|
|
925
933
|
const response = this.safeDict(data, 'response', {});
|
|
926
934
|
const payload = this.safeDict(response, 'payload', {});
|
|
927
935
|
const status = this.safeString(payload, 'status');
|
package/js/src/pro/kraken.js
CHANGED
|
@@ -70,6 +70,7 @@ export default class kraken extends krakenRest {
|
|
|
70
70
|
'broad': {
|
|
71
71
|
'Already subscribed': BadRequest,
|
|
72
72
|
'Currency pair not in ISO 4217-A3 format': BadSymbol,
|
|
73
|
+
'Currency pair not supported': BadSymbol,
|
|
73
74
|
'Malformed request': BadRequest,
|
|
74
75
|
'Pair field must be an array': BadRequest,
|
|
75
76
|
'Pair field unsupported for this subscription type': BadRequest,
|
|
@@ -1709,7 +1710,7 @@ export default class kraken extends krakenRest {
|
|
|
1709
1710
|
//
|
|
1710
1711
|
const errorMessage = this.safeString2(message, 'errorMessage', 'error');
|
|
1711
1712
|
if (errorMessage !== undefined) {
|
|
1712
|
-
|
|
1713
|
+
const requestId = this.safeString2(message, 'reqid', 'req_id');
|
|
1713
1714
|
const broad = this.exceptions['ws']['broad'];
|
|
1714
1715
|
const broadKey = this.findBroadlyMatchedKey(broad, errorMessage);
|
|
1715
1716
|
let exception = undefined;
|
|
@@ -1719,11 +1720,9 @@ export default class kraken extends krakenRest {
|
|
|
1719
1720
|
else {
|
|
1720
1721
|
exception = new broad[broadKey](errorMessage);
|
|
1721
1722
|
}
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
client.reject(exception);
|
|
1726
|
-
// }
|
|
1723
|
+
if (requestId !== undefined) {
|
|
1724
|
+
client.reject(exception, requestId);
|
|
1725
|
+
}
|
|
1727
1726
|
return false;
|
|
1728
1727
|
}
|
|
1729
1728
|
return true;
|
package/js/src/pro/lbank.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import lbankRest from '../lbank.js';
|
|
2
|
-
import type { Int, Str, Trade, OrderBook, Order, OHLCV, Ticker } from '../base/types.js';
|
|
2
|
+
import type { Balances, Int, Str, Trade, OrderBook, Order, OHLCV, Ticker } from '../base/types.js';
|
|
3
3
|
import Client from '../base/ws/Client.js';
|
|
4
4
|
export default class lbank extends lbankRest {
|
|
5
5
|
describe(): any;
|
|
@@ -94,6 +94,16 @@ export default class lbank extends lbankRest {
|
|
|
94
94
|
handleOrders(client: any, message: any): void;
|
|
95
95
|
parseWsOrder(order: any, market?: any): Order;
|
|
96
96
|
parseWsOrderStatus(status: any): string;
|
|
97
|
+
/**
|
|
98
|
+
* @method
|
|
99
|
+
* @name lbank#watchBalance
|
|
100
|
+
* @description watch balance and get the amount of funds available for trading or funds locked in orders
|
|
101
|
+
* @see https://www.lbank.com/docs/index.html#update-subscribed-asset
|
|
102
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
103
|
+
* @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
|
|
104
|
+
*/
|
|
105
|
+
watchBalance(params?: {}): Promise<Balances>;
|
|
106
|
+
handleBalance(client: Client, message: any): void;
|
|
97
107
|
/**
|
|
98
108
|
* @method
|
|
99
109
|
* @name lbank#fetchOrderBookWs
|
package/js/src/pro/lbank.js
CHANGED
|
@@ -17,7 +17,7 @@ export default class lbank extends lbankRest {
|
|
|
17
17
|
'fetchOrderBookWs': true,
|
|
18
18
|
'fetchTickerWs': true,
|
|
19
19
|
'fetchTradesWs': true,
|
|
20
|
-
'watchBalance':
|
|
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) {
|
package/js/src/pro/mexc.js
CHANGED
|
@@ -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, '
|
|
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
|
},
|
package/js/src/tradeogre.js
CHANGED
|
@@ -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,
|
package/js/src/wavesexchange.js
CHANGED
|
@@ -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/js/src/zonda.js
CHANGED
|
@@ -30,6 +30,9 @@ export default class zonda 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': false,
|
|
34
37
|
'cancelOrder': true,
|
|
35
38
|
'cancelOrders': false,
|
|
@@ -38,6 +41,7 @@ export default class zonda extends Exchange {
|
|
|
38
41
|
'createDepositAddress': false,
|
|
39
42
|
'createOrder': true,
|
|
40
43
|
'createReduceOnlyOrder': false,
|
|
44
|
+
'fetchAllGreeks': false,
|
|
41
45
|
'fetchBalance': true,
|
|
42
46
|
'fetchBorrowInterest': false,
|
|
43
47
|
'fetchBorrowRate': false,
|
|
@@ -68,12 +72,15 @@ export default class zonda extends Exchange {
|
|
|
68
72
|
'fetchLeverages': false,
|
|
69
73
|
'fetchLeverageTiers': false,
|
|
70
74
|
'fetchLiquidations': false,
|
|
75
|
+
'fetchLongShortRatio': false,
|
|
76
|
+
'fetchLongShortRatioHistory': false,
|
|
71
77
|
'fetchMarginAdjustmentHistory': false,
|
|
72
78
|
'fetchMarginMode': false,
|
|
73
79
|
'fetchMarginModes': false,
|
|
74
80
|
'fetchMarketLeverageTiers': false,
|
|
75
81
|
'fetchMarkets': true,
|
|
76
82
|
'fetchMarkOHLCV': false,
|
|
83
|
+
'fetchMarkPrice': false,
|
|
77
84
|
'fetchMarkPrices': false,
|
|
78
85
|
'fetchMyLiquidations': false,
|
|
79
86
|
'fetchMySettlementHistory': false,
|
|
@@ -81,6 +88,7 @@ export default class zonda extends Exchange {
|
|
|
81
88
|
'fetchOHLCV': true,
|
|
82
89
|
'fetchOpenInterest': false,
|
|
83
90
|
'fetchOpenInterestHistory': false,
|
|
91
|
+
'fetchOpenInterests': false,
|
|
84
92
|
'fetchOpenOrder': false,
|
|
85
93
|
'fetchOpenOrders': true,
|
|
86
94
|
'fetchOption': false,
|
|
@@ -88,8 +96,11 @@ export default class zonda extends Exchange {
|
|
|
88
96
|
'fetchOrderBook': true,
|
|
89
97
|
'fetchOrderBooks': false,
|
|
90
98
|
'fetchPosition': false,
|
|
99
|
+
'fetchPositionHistory': false,
|
|
91
100
|
'fetchPositionMode': false,
|
|
92
101
|
'fetchPositions': false,
|
|
102
|
+
'fetchPositionsForSymbol': false,
|
|
103
|
+
'fetchPositionsHistory': false,
|
|
93
104
|
'fetchPositionsRisk': false,
|
|
94
105
|
'fetchPremiumIndexOHLCV': false,
|
|
95
106
|
'fetchSettlementHistory': false,
|
|
@@ -110,6 +121,7 @@ export default class zonda extends Exchange {
|
|
|
110
121
|
'reduceMargin': false,
|
|
111
122
|
'repayCrossMargin': false,
|
|
112
123
|
'repayIsolatedMargin': false,
|
|
124
|
+
'repayMargin': false,
|
|
113
125
|
'setLeverage': false,
|
|
114
126
|
'setMargin': false,
|
|
115
127
|
'setMarginMode': false,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ccxt",
|
|
3
|
-
"version": "4.5.
|
|
3
|
+
"version": "4.5.2",
|
|
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",
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
"transpileCS": "tsx build/csharpTranspiler.ts --multi",
|
|
32
32
|
"transpileCSWs": "tsx build/csharpTranspiler.ts --ws",
|
|
33
33
|
"buildCS": "dotnet build cs/ccxt.sln",
|
|
34
|
+
"buildCSTests": "dotnet build cs/tests/tests.csproj",
|
|
34
35
|
"buildGO": "go build -C go ./v4",
|
|
35
36
|
"transpileGO": "tsx build/goTranspiler.ts",
|
|
36
37
|
"buildCSRelease": "dotnet build cs --configuration Release",
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { implicitReturnType } from '../base/types.js';
|
|
2
|
-
import { Exchange as _Exchange } from '../base/Exchange.js';
|
|
3
|
-
interface Exchange {
|
|
4
|
-
_restGetMarket(params?: {}): Promise<implicitReturnType>;
|
|
5
|
-
_restGetMarketCurrencyPair(params?: {}): Promise<implicitReturnType>;
|
|
6
|
-
_restGetCryptoTokenInfo(params?: {}): Promise<implicitReturnType>;
|
|
7
|
-
publicGetMarketCurrencyPairGetDepth(params?: {}): Promise<implicitReturnType>;
|
|
8
|
-
publicGetMarketCurrencyPairTicker(params?: {}): Promise<implicitReturnType>;
|
|
9
|
-
publicGetMarketCurrencyPairGetTrades(params?: {}): Promise<implicitReturnType>;
|
|
10
|
-
publicGetMarketCurrencyPairGetGraph(params?: {}): Promise<implicitReturnType>;
|
|
11
|
-
publicGetCMCSummary(params?: {}): Promise<implicitReturnType>;
|
|
12
|
-
publicGetCMCCurrencyPairTicker(params?: {}): Promise<implicitReturnType>;
|
|
13
|
-
privateGetUserWallet(params?: {}): Promise<implicitReturnType>;
|
|
14
|
-
privateGetMarketCurrencyPairOrder(params?: {}): Promise<implicitReturnType>;
|
|
15
|
-
privateGetMarketOrderOrderUuid(params?: {}): Promise<implicitReturnType>;
|
|
16
|
-
privateGetMarketCurrencyPairTrade(params?: {}): Promise<implicitReturnType>;
|
|
17
|
-
privateGetMarketTradeFeeQuery(params?: {}): Promise<implicitReturnType>;
|
|
18
|
-
privateGetUnitCurrency(params?: {}): Promise<implicitReturnType>;
|
|
19
|
-
privateGetCryptoTokenCurrency(params?: {}): Promise<implicitReturnType>;
|
|
20
|
-
privateGetCryptoTokenCurrencyChains(params?: {}): Promise<implicitReturnType>;
|
|
21
|
-
privatePostMarketCurrencyPairOrder(params?: {}): Promise<implicitReturnType>;
|
|
22
|
-
privatePostCryptoAddressFetch(params?: {}): Promise<implicitReturnType>;
|
|
23
|
-
privatePostCryptoDisbursementWithdraw(params?: {}): Promise<implicitReturnType>;
|
|
24
|
-
privateDeleteMarketOrderOrderUuid(params?: {}): Promise<implicitReturnType>;
|
|
25
|
-
}
|
|
26
|
-
declare abstract class Exchange extends _Exchange {
|
|
27
|
-
}
|
|
28
|
-
export default Exchange;
|