ccxt 4.2.37 → 4.2.39

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 (113) hide show
  1. package/README.md +6 -5
  2. package/dist/ccxt.browser.js +3015 -509
  3. package/dist/ccxt.browser.min.js +7 -7
  4. package/dist/cjs/ccxt.js +4 -1
  5. package/dist/cjs/src/abstract/blofin.js +9 -0
  6. package/dist/cjs/src/base/Exchange.js +14 -2
  7. package/dist/cjs/src/binance.js +156 -35
  8. package/dist/cjs/src/bitget.js +1 -1
  9. package/dist/cjs/src/bitso.js +18 -2
  10. package/dist/cjs/src/bitstamp.js +24 -2
  11. package/dist/cjs/src/bl3p.js +6 -0
  12. package/dist/cjs/src/blockchaincom.js +21 -0
  13. package/dist/cjs/src/blofin.js +2103 -0
  14. package/dist/cjs/src/btcalpha.js +9 -0
  15. package/dist/cjs/src/btcbox.js +9 -0
  16. package/dist/cjs/src/btcmarkets.js +19 -0
  17. package/dist/cjs/src/coinbase.js +13 -2
  18. package/dist/cjs/src/krakenfutures.js +7 -14
  19. package/dist/cjs/src/luno.js +1 -1
  20. package/dist/cjs/src/okx.js +2 -2
  21. package/dist/cjs/src/poloniexfutures.js +11 -5
  22. package/dist/cjs/src/pro/bitmart.js +110 -35
  23. package/dist/cjs/src/pro/kucoin.js +93 -40
  24. package/dist/cjs/src/pro/mexc.js +1 -1
  25. package/dist/cjs/src/wavesexchange.js +1 -1
  26. package/dist/cjs/src/woo.js +1 -1
  27. package/js/ccxt.d.ts +5 -2
  28. package/js/ccxt.js +4 -2
  29. package/js/src/abstract/blofin.d.ts +36 -0
  30. package/js/src/abstract/blofin.js +11 -0
  31. package/js/src/abstract/coinbase.d.ts +1 -0
  32. package/js/src/abstract/okx.d.ts +1 -0
  33. package/js/src/ascendex.d.ts +2 -2
  34. package/js/src/base/Exchange.d.ts +4 -0
  35. package/js/src/base/Exchange.js +14 -2
  36. package/js/src/base/types.d.ts +2 -0
  37. package/js/src/bigone.d.ts +2 -2
  38. package/js/src/binance.d.ts +8 -8
  39. package/js/src/binance.js +156 -35
  40. package/js/src/bingx.d.ts +5 -5
  41. package/js/src/bitfinex.d.ts +3 -3
  42. package/js/src/bitfinex2.d.ts +2 -2
  43. package/js/src/bitget.d.ts +5 -5
  44. package/js/src/bitget.js +1 -1
  45. package/js/src/bitmart.d.ts +2 -2
  46. package/js/src/bitmex.d.ts +2 -2
  47. package/js/src/bitrue.d.ts +2 -2
  48. package/js/src/bitso.d.ts +1 -1
  49. package/js/src/bitso.js +18 -2
  50. package/js/src/bitstamp.d.ts +1 -1
  51. package/js/src/bitstamp.js +24 -2
  52. package/js/src/bitvavo.d.ts +1 -1
  53. package/js/src/bl3p.js +6 -0
  54. package/js/src/blockchaincom.js +21 -0
  55. package/js/src/blofin.d.ts +124 -0
  56. package/js/src/blofin.js +2104 -0
  57. package/js/src/btcalpha.js +9 -0
  58. package/js/src/btcbox.js +9 -0
  59. package/js/src/btcmarkets.js +19 -0
  60. package/js/src/bybit.d.ts +7 -7
  61. package/js/src/cex.d.ts +1 -1
  62. package/js/src/coinbase.d.ts +2 -2
  63. package/js/src/coinbase.js +13 -2
  64. package/js/src/coinex.d.ts +4 -4
  65. package/js/src/coinlist.d.ts +2 -2
  66. package/js/src/coinone.d.ts +1 -1
  67. package/js/src/delta.d.ts +2 -2
  68. package/js/src/deribit.d.ts +3 -3
  69. package/js/src/digifinex.d.ts +3 -3
  70. package/js/src/exmo.d.ts +2 -2
  71. package/js/src/gate.d.ts +6 -6
  72. package/js/src/hitbtc.d.ts +2 -2
  73. package/js/src/hollaex.d.ts +1 -1
  74. package/js/src/htx.d.ts +3 -3
  75. package/js/src/huobijp.d.ts +1 -1
  76. package/js/src/kraken.d.ts +2 -2
  77. package/js/src/krakenfutures.d.ts +2 -2
  78. package/js/src/krakenfutures.js +7 -14
  79. package/js/src/kucoin.d.ts +5 -5
  80. package/js/src/kucoinfutures.d.ts +2 -2
  81. package/js/src/latoken.d.ts +1 -1
  82. package/js/src/lbank.d.ts +2 -2
  83. package/js/src/luno.d.ts +1 -1
  84. package/js/src/luno.js +1 -1
  85. package/js/src/mexc.d.ts +4 -4
  86. package/js/src/ndax.d.ts +1 -1
  87. package/js/src/novadax.d.ts +1 -1
  88. package/js/src/okcoin.d.ts +2 -2
  89. package/js/src/okx.d.ts +7 -7
  90. package/js/src/okx.js +2 -2
  91. package/js/src/paymium.d.ts +2 -2
  92. package/js/src/phemex.d.ts +4 -4
  93. package/js/src/poloniex.d.ts +2 -2
  94. package/js/src/poloniexfutures.d.ts +2 -2
  95. package/js/src/poloniexfutures.js +11 -5
  96. package/js/src/pro/bitmart.d.ts +2 -0
  97. package/js/src/pro/bitmart.js +110 -35
  98. package/js/src/pro/bitvavo.d.ts +1 -1
  99. package/js/src/pro/cex.d.ts +2 -2
  100. package/js/src/pro/coinbase.d.ts +2 -2
  101. package/js/src/pro/coinex.d.ts +1 -1
  102. package/js/src/pro/kucoin.js +93 -40
  103. package/js/src/pro/lbank.d.ts +1 -1
  104. package/js/src/pro/mexc.js +1 -1
  105. package/js/src/probit.d.ts +1 -1
  106. package/js/src/timex.d.ts +1 -1
  107. package/js/src/upbit.d.ts +1 -1
  108. package/js/src/wavesexchange.js +1 -1
  109. package/js/src/whitebit.d.ts +2 -2
  110. package/js/src/woo.d.ts +3 -3
  111. package/js/src/woo.js +1 -1
  112. package/js/src/zonda.d.ts +3 -3
  113. package/package.json +2 -2
@@ -39,7 +39,7 @@ export default class hollaex extends Exchange {
39
39
  network: string;
40
40
  info: any;
41
41
  };
42
- fetchDepositAddresses(codes?: any, params?: {}): Promise<{}>;
42
+ fetchDepositAddresses(codes?: string[], params?: {}): Promise<{}>;
43
43
  fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
44
44
  fetchWithdrawal(id: string, code?: Str, params?: {}): Promise<Transaction>;
45
45
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
package/js/src/htx.d.ts CHANGED
@@ -92,7 +92,7 @@ export default class htx extends Exchange {
92
92
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
93
93
  parseOrderStatus(status: any): string;
94
94
  parseOrder(order: any, market?: Market): Order;
95
- createMarketBuyOrderWithCost(symbol: string, cost: any, params?: {}): Promise<Order>;
95
+ createMarketBuyOrderWithCost(symbol: string, cost: number, params?: {}): Promise<Order>;
96
96
  createTrailingPercentOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, trailingPercent?: any, trailingTriggerPrice?: any, params?: {}): Promise<Order>;
97
97
  createSpotOrderRequest(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<any>;
98
98
  createContractOrderRequest(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): any;
@@ -128,7 +128,7 @@ export default class htx extends Exchange {
128
128
  toAccount: any;
129
129
  status: any;
130
130
  };
131
- transfer(code: string, amount: number, fromAccount: any, toAccount: any, params?: {}): Promise<TransferEntry>;
131
+ transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
132
132
  fetchIsolatedBorrowRates(params?: {}): Promise<BorrowRate[]>;
133
133
  parseIsolatedBorrowRate(info: any, market?: Market): {
134
134
  symbol: string;
@@ -266,5 +266,5 @@ export default class htx extends Exchange {
266
266
  };
267
267
  fetchLiquidations(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").Liquidation[]>;
268
268
  parseLiquidation(liquidation: any, market?: Market): import("./base/types.js").Liquidation;
269
- setPositionMode(hedged: any, symbol?: Str, params?: {}): Promise<any>;
269
+ setPositionMode(hedged: boolean, symbol?: Str, params?: {}): Promise<any>;
270
270
  }
@@ -51,7 +51,7 @@ export default class huobijp extends Exchange {
51
51
  fetchOpenOrdersV2(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
52
52
  parseOrderStatus(status: any): string;
53
53
  parseOrder(order: any, market?: Market): Order;
54
- createMarketBuyOrderWithCost(symbol: string, cost: any, params?: {}): Promise<Order>;
54
+ createMarketBuyOrderWithCost(symbol: string, cost: number, params?: {}): Promise<Order>;
55
55
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
56
56
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
57
57
  cancelOrders(ids: any, symbol?: Str, params?: {}): Promise<any>;
@@ -70,7 +70,7 @@ export default class kraken extends Exchange {
70
70
  parseOrderType(status: any): string;
71
71
  parseOrder(order: any, market?: Market): Order;
72
72
  orderRequest(method: any, symbol: any, type: any, request: any, price?: any, params?: {}): any[];
73
- editOrder(id: string, symbol: any, type: any, side: any, amount?: any, price?: any, params?: {}): Promise<Order>;
73
+ editOrder(id: string, symbol: string, type: OrderType, side: OrderSide, amount?: number, price?: number, params?: {}): Promise<Order>;
74
74
  fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
75
75
  fetchOrderTrades(id: string, symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
76
76
  fetchOrdersByIds(ids: any, symbol?: Str, params?: {}): Promise<any[]>;
@@ -114,7 +114,7 @@ export default class kraken extends Exchange {
114
114
  fetchPositions(symbols?: Strings, params?: {}): Promise<any>;
115
115
  parseAccount(account: any): string;
116
116
  transferOut(code: string, amount: any, params?: {}): Promise<TransferEntry>;
117
- transfer(code: string, amount: number, fromAccount: any, toAccount: any, params?: {}): Promise<TransferEntry>;
117
+ transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
118
118
  parseTransfer(transfer: any, currency?: Currency): {
119
119
  info: any;
120
120
  id: string;
@@ -17,7 +17,7 @@ export default class krakenfutures extends Exchange {
17
17
  createOrderRequest(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): any;
18
18
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
19
19
  createOrders(orders: OrderRequest[], params?: {}): Promise<Order[]>;
20
- editOrder(id: string, symbol: any, type: any, side: any, amount?: any, price?: any, params?: {}): Promise<Order>;
20
+ editOrder(id: string, symbol: string, type: OrderType, side: OrderSide, amount?: number, price?: number, params?: {}): Promise<Order>;
21
21
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
22
22
  cancelOrders(ids: string[], symbol?: Str, params?: {}): Promise<Order[]>;
23
23
  cancelAllOrders(symbol?: Str, params?: {}): Promise<any>;
@@ -90,7 +90,7 @@ export default class krakenfutures extends Exchange {
90
90
  };
91
91
  parseAccount(account: any): any;
92
92
  transferOut(code: string, amount: any, params?: {}): Promise<TransferEntry>;
93
- transfer(code: string, amount: number, fromAccount: any, toAccount: any, params?: {}): Promise<TransferEntry>;
93
+ transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
94
94
  setLeverage(leverage: Int, symbol?: Str, params?: {}): Promise<any>;
95
95
  fetchLeverage(symbol?: Str, params?: {}): Promise<any>;
96
96
  handleErrors(code: any, reason: any, url: any, method: any, headers: any, body: any, response: any, requestHeaders: any, requestBody: any): any;
@@ -802,37 +802,30 @@ export default class krakenfutures extends Exchange {
802
802
  id = this.safeString(trade, 'executionId');
803
803
  }
804
804
  let order = this.safeString(trade, 'order_id');
805
- let symbolId = this.safeString(trade, 'symbol');
805
+ let marketId = this.safeString(trade, 'symbol');
806
806
  let side = this.safeString(trade, 'side');
807
807
  let type = undefined;
808
808
  const priorEdit = this.safeValue(trade, 'orderPriorEdit');
809
809
  const priorExecution = this.safeValue(trade, 'orderPriorExecution');
810
810
  if (priorExecution !== undefined) {
811
811
  order = this.safeString(priorExecution, 'orderId');
812
- symbolId = this.safeString(priorExecution, 'symbol');
812
+ marketId = this.safeString(priorExecution, 'symbol');
813
813
  side = this.safeString(priorExecution, 'side');
814
814
  type = this.safeString(priorExecution, 'type');
815
815
  }
816
816
  else if (priorEdit !== undefined) {
817
817
  order = this.safeString(priorEdit, 'orderId');
818
- symbolId = this.safeString(priorEdit, 'symbol');
818
+ marketId = this.safeString(priorEdit, 'symbol');
819
819
  side = this.safeString(priorEdit, 'type');
820
820
  type = this.safeString(priorEdit, 'type');
821
821
  }
822
822
  if (type !== undefined) {
823
823
  type = this.parseOrderType(type);
824
824
  }
825
- let symbol = undefined;
826
- if (symbolId !== undefined) {
827
- market = this.safeValue(this.markets_by_id, symbolId);
828
- if (market === undefined) {
829
- symbol = symbolId;
830
- }
831
- }
832
- symbol = this.safeString(market, 'symbol', symbol);
825
+ market = this.safeMarket(marketId, market);
833
826
  let cost = undefined;
827
+ const linear = this.safeBool(market, 'linear');
834
828
  if ((amount !== undefined) && (price !== undefined) && (market !== undefined)) {
835
- const linear = this.safeValue(market, 'linear');
836
829
  if (linear) {
837
830
  cost = Precise.stringMul(amount, price); // in quote
838
831
  }
@@ -855,15 +848,15 @@ export default class krakenfutures extends Exchange {
855
848
  return this.safeTrade({
856
849
  'info': trade,
857
850
  'id': id,
851
+ 'symbol': this.safeString(market, 'symbol'),
858
852
  'timestamp': timestamp,
859
853
  'datetime': this.iso8601(timestamp),
860
- 'symbol': symbol,
861
854
  'order': order,
862
855
  'type': type,
863
856
  'side': side,
864
857
  'takerOrMaker': takerOrMaker,
865
858
  'price': price,
866
- 'amount': amount,
859
+ 'amount': linear ? amount : undefined,
867
860
  'cost': cost,
868
861
  'fee': undefined,
869
862
  });
@@ -67,12 +67,12 @@ export default class kucoin extends Exchange {
67
67
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
68
68
  handleTriggerPrices(params: any): any[];
69
69
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
70
- createMarketOrderWithCost(symbol: string, side: OrderSide, cost: any, params?: {}): Promise<Order>;
71
- createMarketBuyOrderWithCost(symbol: string, cost: any, params?: {}): Promise<Order>;
72
- createMarketSellOrderWithCost(symbol: string, cost: any, params?: {}): Promise<Order>;
70
+ createMarketOrderWithCost(symbol: string, side: OrderSide, cost: number, params?: {}): Promise<Order>;
71
+ createMarketBuyOrderWithCost(symbol: string, cost: number, params?: {}): Promise<Order>;
72
+ createMarketSellOrderWithCost(symbol: string, cost: number, params?: {}): Promise<Order>;
73
73
  createOrders(orders: OrderRequest[], params?: {}): Promise<Order[]>;
74
74
  createOrderRequest(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): any;
75
- editOrder(id: string, symbol: any, type: any, side: any, amount?: any, price?: any, params?: {}): Promise<Order>;
75
+ editOrder(id: string, symbol: string, type: OrderType, side: OrderSide, amount?: number, price?: number, params?: {}): Promise<Order>;
76
76
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
77
77
  cancelAllOrders(symbol?: Str, params?: {}): Promise<any>;
78
78
  fetchOrdersByStatus(status: any, symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
@@ -99,7 +99,7 @@ export default class kucoin extends Exchange {
99
99
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
100
100
  parseBalanceHelper(entry: any): import("./base/types.js").Account;
101
101
  fetchBalance(params?: {}): Promise<Balances>;
102
- transfer(code: string, amount: number, fromAccount: any, toAccount: any, params?: {}): Promise<TransferEntry>;
102
+ transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
103
103
  parseTransfer(transfer: any, currency?: Currency): {
104
104
  id: string;
105
105
  currency: string;
@@ -48,7 +48,7 @@ export default class kucoinfutures extends kucoin {
48
48
  };
49
49
  fetchOrdersByStatus(status: any, symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
50
50
  fetchClosedOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
51
- fetchOrder(id?: any, symbol?: Str, params?: {}): Promise<Order>;
51
+ fetchOrder(id?: string, symbol?: Str, params?: {}): Promise<Order>;
52
52
  parseOrder(order: any, market?: Market): Order;
53
53
  fetchFundingRate(symbol: string, params?: {}): Promise<{
54
54
  info: any;
@@ -71,7 +71,7 @@ export default class kucoinfutures extends kucoin {
71
71
  }>;
72
72
  parseBalance(response: any): Balances;
73
73
  fetchBalance(params?: {}): Promise<Balances>;
74
- transfer(code: string, amount: number, fromAccount: any, toAccount: any, params?: {}): Promise<TransferEntry>;
74
+ transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
75
75
  parseTransfer(transfer: any, currency?: Currency): {
76
76
  id: string;
77
77
  timestamp: number;
@@ -52,7 +52,7 @@ export default class latoken extends Exchange {
52
52
  parseTransactionStatus(status: any): string;
53
53
  parseTransactionType(type: any): string;
54
54
  fetchTransfers(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
55
- transfer(code: string, amount: number, fromAccount: any, toAccount: any, params?: {}): Promise<TransferEntry>;
55
+ transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
56
56
  parseTransfer(transfer: any, currency?: Currency): {
57
57
  info: any;
58
58
  id: string;
package/js/src/lbank.d.ts CHANGED
@@ -28,7 +28,7 @@ export default class lbank extends Exchange {
28
28
  };
29
29
  fetchTradingFee(symbol: string, params?: {}): Promise<{}>;
30
30
  fetchTradingFees(params?: {}): Promise<{}>;
31
- createMarketBuyOrderWithCost(symbol: string, cost: any, params?: {}): Promise<Order>;
31
+ createMarketBuyOrderWithCost(symbol: string, cost: number, params?: {}): Promise<Order>;
32
32
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
33
33
  parseOrderStatus(status: any): string;
34
34
  parseOrder(order: any, market?: Market): Order;
@@ -61,7 +61,7 @@ export default class lbank extends Exchange {
61
61
  parseTransaction(transaction: any, currency?: Currency): Transaction;
62
62
  fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
63
63
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
64
- fetchTransactionFees(codes?: any, params?: {}): Promise<any>;
64
+ fetchTransactionFees(codes?: string[], params?: {}): Promise<any>;
65
65
  fetchPrivateTransactionFees(params?: {}): Promise<{
66
66
  withdraw: {};
67
67
  deposit: {};
package/js/src/luno.d.ts CHANGED
@@ -23,7 +23,7 @@ export default class luno extends Exchange {
23
23
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
24
24
  parseTrade(trade: any, market?: Market): Trade;
25
25
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
26
- fetchOHLCV(symbol: any, timeframe?: string, since?: any, limit?: any, params?: {}): Promise<OHLCV[]>;
26
+ fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
27
27
  parseOHLCV(ohlcv: any, market?: Market): OHLCV;
28
28
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
29
29
  fetchTradingFee(symbol: string, params?: {}): Promise<{
package/js/src/luno.js CHANGED
@@ -762,7 +762,7 @@ export default class luno extends Exchange {
762
762
  'pair': market['id'],
763
763
  };
764
764
  if (since !== undefined) {
765
- request['since'] = parseInt(since);
765
+ request['since'] = this.parseToInt(since);
766
766
  }
767
767
  else {
768
768
  const duration = 1000 * 1000 * this.parseTimeframe(timeframe);
package/js/src/mexc.d.ts CHANGED
@@ -30,7 +30,7 @@ export default class mexc extends Exchange {
30
30
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
31
31
  parseTicker(ticker: any, market?: Market): Ticker;
32
32
  fetchBidsAsks(symbols?: Strings, params?: {}): Promise<import("./base/types.js").Dictionary<Ticker>>;
33
- createMarketBuyOrderWithCost(symbol: string, cost: any, params?: {}): Promise<Order>;
33
+ createMarketBuyOrderWithCost(symbol: string, cost: number, params?: {}): Promise<Order>;
34
34
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
35
35
  createSpotOrderRequest(market: any, type: any, side: any, amount: any, price?: any, marginMode?: any, params?: {}): any;
36
36
  createSpotOrder(market: any, type: any, side: any, amount: any, price?: any, marginMode?: any, params?: {}): Promise<Order>;
@@ -140,7 +140,7 @@ export default class mexc extends Exchange {
140
140
  status: string;
141
141
  }>;
142
142
  fetchTransfers(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
143
- transfer(code: string, amount: number, fromAccount: any, toAccount: any, params?: {}): Promise<TransferEntry>;
143
+ transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
144
144
  parseTransfer(transfer: any, currency?: Currency): {
145
145
  info: any;
146
146
  id: string;
@@ -155,12 +155,12 @@ export default class mexc extends Exchange {
155
155
  parseAccountId(status: any): string;
156
156
  parseTransferStatus(status: any): string;
157
157
  withdraw(code: string, amount: number, address: any, tag?: any, params?: {}): Promise<Transaction>;
158
- setPositionMode(hedged: any, symbol?: Str, params?: {}): Promise<any>;
158
+ setPositionMode(hedged: boolean, symbol?: Str, params?: {}): Promise<any>;
159
159
  fetchPositionMode(symbol?: Str, params?: {}): Promise<{
160
160
  info: any;
161
161
  hedged: boolean;
162
162
  }>;
163
- fetchTransactionFees(codes?: any, params?: {}): Promise<{
163
+ fetchTransactionFees(codes?: string[], params?: {}): Promise<{
164
164
  withdraw: {};
165
165
  deposit: {};
166
166
  info: any;
package/js/src/ndax.d.ts CHANGED
@@ -43,7 +43,7 @@ export default class ndax extends Exchange {
43
43
  parseOrderStatus(status: any): string;
44
44
  parseOrder(order: any, market?: Market): Order;
45
45
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
46
- editOrder(id: string, symbol: any, type: any, side: any, amount?: any, price?: any, params?: {}): Promise<Order>;
46
+ editOrder(id: string, symbol: string, type: OrderType, side: OrderSide, amount?: number, price?: number, params?: {}): Promise<Order>;
47
47
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
48
48
  cancelAllOrders(symbol?: Str, params?: {}): Promise<any>;
49
49
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
@@ -28,7 +28,7 @@ export default class novadax extends Exchange {
28
28
  fetchOrderTrades(id: string, symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
29
29
  parseOrderStatus(status: any): string;
30
30
  parseOrder(order: any, market?: Market): Order;
31
- transfer(code: string, amount: number, fromAccount: any, toAccount: any, params?: {}): Promise<TransferEntry>;
31
+ transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
32
32
  parseTransfer(transfer: any, currency?: Currency): {
33
33
  info: any;
34
34
  id: string;
@@ -23,7 +23,7 @@ export default class okcoin extends Exchange {
23
23
  fetchBalance(params?: {}): Promise<Balances>;
24
24
  parseTradingBalance(response: any): Balances;
25
25
  parseFundingBalance(response: any): Balances;
26
- createMarketBuyOrderWithCost(symbol: string, cost: any, params?: {}): Promise<Order>;
26
+ createMarketBuyOrderWithCost(symbol: string, cost: number, params?: {}): Promise<Order>;
27
27
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
28
28
  createOrderRequest(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): any;
29
29
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
@@ -43,7 +43,7 @@ export default class okcoin extends Exchange {
43
43
  };
44
44
  fetchDepositAddress(code: string, params?: {}): Promise<any>;
45
45
  fetchDepositAddressesByNetwork(code: string, params?: {}): Promise<{}>;
46
- transfer(code: string, amount: number, fromAccount: any, toAccount: any, params?: {}): Promise<TransferEntry>;
46
+ transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
47
47
  parseTransfer(transfer: any, currency?: Currency): {
48
48
  info: any;
49
49
  id: string;
package/js/src/okx.d.ts CHANGED
@@ -9,7 +9,7 @@ export default class okx extends Exchange {
9
9
  handleMarketTypeAndParams(methodName: any, market?: any, params?: {}): any;
10
10
  convertToInstrumentType(type: any): string;
11
11
  convertExpireDate(date: any): string;
12
- createExpiredOptionMarket(symbol: any): MarketInterface;
12
+ createExpiredOptionMarket(symbol: string): MarketInterface;
13
13
  safeMarket(marketId?: any, market?: any, delimiter?: any, marketType?: any): MarketInterface;
14
14
  fetchStatus(params?: {}): Promise<{
15
15
  updated: any;
@@ -51,13 +51,13 @@ export default class okx extends Exchange {
51
51
  taker: number;
52
52
  }>;
53
53
  fetchBalance(params?: {}): Promise<Balances>;
54
- createMarketBuyOrderWithCost(symbol: string, cost: any, params?: {}): Promise<Order>;
55
- createMarketSellOrderWithCost(symbol: string, cost: any, params?: {}): Promise<Order>;
54
+ createMarketBuyOrderWithCost(symbol: string, cost: number, params?: {}): Promise<Order>;
55
+ createMarketSellOrderWithCost(symbol: string, cost: number, params?: {}): Promise<Order>;
56
56
  createOrderRequest(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): any;
57
57
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
58
58
  createOrders(orders: OrderRequest[], params?: {}): Promise<Order[]>;
59
59
  editOrderRequest(id: string, symbol: any, type: any, side: any, amount?: any, price?: any, params?: {}): any;
60
- editOrder(id: string, symbol: any, type: any, side: any, amount?: any, price?: any, params?: {}): Promise<Order>;
60
+ editOrder(id: string, symbol: string, type: OrderType, side: OrderSide, amount?: number, price?: number, params?: {}): Promise<Order>;
61
61
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
62
62
  parseIds(ids: any): any;
63
63
  cancelOrders(ids: any, symbol?: Str, params?: {}): Promise<Order[]>;
@@ -109,7 +109,7 @@ export default class okx extends Exchange {
109
109
  fetchPositions(symbols?: Strings, params?: {}): Promise<import("./base/types.js").Position[]>;
110
110
  fetchPositionsForSymbol(symbol: string, params?: {}): Promise<import("./base/types.js").Position[]>;
111
111
  parsePosition(position: any, market?: Market): import("./base/types.js").Position;
112
- transfer(code: string, amount: number, fromAccount: any, toAccount: any, params?: {}): Promise<TransferEntry>;
112
+ transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
113
113
  parseTransfer(transfer: any, currency?: Currency): {
114
114
  info: any;
115
115
  id: string;
@@ -180,8 +180,8 @@ export default class okx extends Exchange {
180
180
  }>;
181
181
  fetchFundingHistory(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<FundingHistory[]>;
182
182
  setLeverage(leverage: Int, symbol?: Str, params?: {}): Promise<any>;
183
- setPositionMode(hedged: any, symbol?: Str, params?: {}): Promise<any>;
184
- setMarginMode(marginMode: any, symbol?: Str, params?: {}): Promise<any>;
183
+ setPositionMode(hedged: boolean, symbol?: Str, params?: {}): Promise<any>;
184
+ setMarginMode(marginMode: string, symbol?: Str, params?: {}): Promise<any>;
185
185
  fetchCrossBorrowRates(params?: {}): Promise<any>;
186
186
  fetchCrossBorrowRate(code: string, params?: {}): Promise<{
187
187
  currency: string;
package/js/src/okx.js CHANGED
@@ -284,6 +284,7 @@ export default class okx extends Exchange {
284
284
  'trade/easy-convert-history': 20,
285
285
  'trade/one-click-repay-currency-list': 20,
286
286
  'trade/one-click-repay-history': 20,
287
+ 'trade/account-rate-limit': 1,
287
288
  // asset
288
289
  'asset/currencies': 5 / 3,
289
290
  'asset/balances': 5 / 3,
@@ -1628,7 +1629,7 @@ export default class okx extends Exchange {
1628
1629
  if ((networkId !== undefined) && (networkId.indexOf('-') >= 0)) {
1629
1630
  const parts = networkId.split('-');
1630
1631
  const chainPart = this.safeString(parts, 1, networkId);
1631
- const networkCode = this.safeNetwork(chainPart);
1632
+ const networkCode = this.networkIdToCode(chainPart, currency['code']);
1632
1633
  const precision = this.parsePrecision(this.safeString(chain, 'wdTickSz'));
1633
1634
  if (maxPrecision === undefined) {
1634
1635
  maxPrecision = precision;
@@ -3647,7 +3648,6 @@ export default class okx extends Exchange {
3647
3648
  * @param {int} [since] the earliest time in ms to fetch open orders for
3648
3649
  * @param {int} [limit] the maximum number of open orders structures to retrieve
3649
3650
  * @param {object} [params] extra parameters specific to the exchange API endpoint
3650
- * @param {int} [params.till] Timestamp in ms of the latest time to retrieve orders for
3651
3651
  * @param {bool} [params.stop] True if fetching trigger or conditional orders
3652
3652
  * @param {string} [params.ordType] "conditional", "oco", "trigger", "move_order_stop", "iceberg", or "twap"
3653
3653
  * @param {string} [params.algoId] Algo ID "'433845797218942976'"
@@ -27,7 +27,7 @@ export default class paymium extends Exchange {
27
27
  tag: any;
28
28
  network: any;
29
29
  }>;
30
- fetchDepositAddresses(codes?: any, params?: {}): Promise<{}>;
30
+ fetchDepositAddresses(codes?: string[], params?: {}): Promise<{}>;
31
31
  parseDepositAddress(depositAddress: any, currency?: Currency): {
32
32
  info: any;
33
33
  currency: string;
@@ -37,7 +37,7 @@ export default class paymium extends Exchange {
37
37
  };
38
38
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<import("./base/types.js").Order>;
39
39
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
40
- transfer(code: string, amount: number, fromAccount: any, toAccount: any, params?: {}): Promise<TransferEntry>;
40
+ transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
41
41
  parseTransfer(transfer: any, currency?: Currency): {
42
42
  info: any;
43
43
  id: string;
@@ -39,7 +39,7 @@ export default class phemex extends Exchange {
39
39
  parseSwapOrder(order: any, market?: Market): Order;
40
40
  parseOrder(order: any, market?: Market): Order;
41
41
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
42
- editOrder(id: string, symbol: any, type?: any, side?: any, amount?: any, price?: any, params?: {}): Promise<Order>;
42
+ editOrder(id: string, symbol: string, type?: OrderType, side?: OrderSide, amount?: number, price?: number, params?: {}): Promise<Order>;
43
43
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
44
44
  cancelAllOrders(symbol?: Str, params?: {}): Promise<any>;
45
45
  fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
@@ -110,8 +110,8 @@ export default class phemex extends Exchange {
110
110
  symbol: string;
111
111
  status: string;
112
112
  };
113
- setMarginMode(marginMode: any, symbol?: Str, params?: {}): Promise<any>;
114
- setPositionMode(hedged: any, symbol?: Str, params?: {}): Promise<any>;
113
+ setMarginMode(marginMode: string, symbol?: Str, params?: {}): Promise<any>;
114
+ setPositionMode(hedged: boolean, symbol?: Str, params?: {}): Promise<any>;
115
115
  fetchLeverageTiers(symbols?: Strings, params?: {}): Promise<{}>;
116
116
  parseMarketLeverageTiers(info: any, market?: Market): any[];
117
117
  sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
@@ -121,7 +121,7 @@ export default class phemex extends Exchange {
121
121
  headers: any;
122
122
  };
123
123
  setLeverage(leverage: Int, symbol?: Str, params?: {}): Promise<any>;
124
- transfer(code: string, amount: number, fromAccount: any, toAccount: any, params?: {}): Promise<TransferEntry>;
124
+ transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
125
125
  fetchTransfers(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
126
126
  parseTransfer(transfer: any, currency?: Currency): {
127
127
  info: any;
@@ -26,7 +26,7 @@ export default class poloniex extends Exchange {
26
26
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
27
27
  createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: number, params?: {}): Promise<Order>;
28
28
  orderRequest(symbol: any, type: any, side: any, amount: any, request: any, price?: any, params?: {}): any[];
29
- editOrder(id: string, symbol: any, type: any, side: any, amount?: any, price?: any, params?: {}): Promise<Order>;
29
+ editOrder(id: string, symbol: string, type: OrderType, side: OrderSide, amount?: number, price?: number, params?: {}): Promise<Order>;
30
30
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
31
31
  cancelAllOrders(symbol?: Str, params?: {}): Promise<Order[]>;
32
32
  fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
@@ -50,7 +50,7 @@ export default class poloniex extends Exchange {
50
50
  network: string;
51
51
  info: any;
52
52
  }>;
53
- transfer(code: string, amount: number, fromAccount: any, toAccount: any, params?: {}): Promise<TransferEntry>;
53
+ transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
54
54
  parseTransfer(transfer: any, currency?: Currency): {
55
55
  info: any;
56
56
  id: string;
@@ -53,7 +53,7 @@ export default class poloniexfutures extends Exchange {
53
53
  fetchOrdersByStatus(status: any, symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
54
54
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
55
55
  fetchClosedOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
56
- fetchOrder(id?: any, symbol?: Str, params?: {}): Promise<Order>;
56
+ fetchOrder(id?: string, symbol?: Str, params?: {}): Promise<Order>;
57
57
  parseOrder(order: any, market?: Market): Order;
58
58
  fetchFundingRate(symbol: string, params?: {}): Promise<{
59
59
  info: any;
@@ -75,7 +75,7 @@ export default class poloniexfutures extends Exchange {
75
75
  previousFundingDatetime: string;
76
76
  }>;
77
77
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
78
- setMarginMode(marginMode: any, symbol: any, params?: {}): Promise<any>;
78
+ setMarginMode(marginMode: string, symbol?: string, params?: {}): Promise<any>;
79
79
  sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
80
80
  url: any;
81
81
  method: string;
@@ -1705,13 +1705,13 @@ export default class poloniexfutures extends Exchange {
1705
1705
  const trades = this.safeValue(data, 'items', {});
1706
1706
  return this.parseTrades(trades, market, since, limit);
1707
1707
  }
1708
- async setMarginMode(marginMode, symbol, params = {}) {
1708
+ async setMarginMode(marginMode, symbol = undefined, params = {}) {
1709
1709
  /**
1710
1710
  * @method
1711
1711
  * @name poloniexfutures#setMarginMode
1712
1712
  * @description set margin mode to 'cross' or 'isolated'
1713
1713
  * @see https://futures-docs.poloniex.com/#change-margin-mode
1714
- * @param {int} marginMode 0 (isolated) or 1 (cross)
1714
+ * @param {string} marginMode "0" (isolated) or "1" (cross)
1715
1715
  * @param {string} symbol unified market symbol
1716
1716
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1717
1717
  * @returns {object} response from the exchange
@@ -1719,14 +1719,20 @@ export default class poloniexfutures extends Exchange {
1719
1719
  if (symbol === undefined) {
1720
1720
  throw new ArgumentsRequired(this.id + ' setMarginMode() requires a symbol argument');
1721
1721
  }
1722
- if ((marginMode !== 0) && (marginMode !== 1)) {
1723
- throw new ArgumentsRequired(this.id + ' setMarginMode() marginMode must be 0 (isolated) or 1 (cross)');
1722
+ if ((marginMode !== '0') && (marginMode !== '1') && (marginMode !== 'isolated') && (marginMode !== 'cross')) {
1723
+ throw new ArgumentsRequired(this.id + ' setMarginMode() marginMode must be 0/isolated or 1/cross');
1724
1724
  }
1725
1725
  await this.loadMarkets();
1726
+ if (marginMode === 'isolated') {
1727
+ marginMode = '0';
1728
+ }
1729
+ if (marginMode === 'cross') {
1730
+ marginMode = '1';
1731
+ }
1726
1732
  const market = this.market(symbol);
1727
1733
  const request = {
1728
1734
  'symbol': market['id'],
1729
- 'marginType': marginMode,
1735
+ 'marginType': this.parseToInt(marginMode),
1730
1736
  };
1731
1737
  return await this.privatePostMarginTypeChange(request);
1732
1738
  }
@@ -4,6 +4,7 @@ import Client from '../base/ws/Client.js';
4
4
  export default class bitmart extends bitmartRest {
5
5
  describe(): any;
6
6
  subscribe(channel: any, symbol: any, type: any, params?: {}): Promise<any>;
7
+ subscribeMultiple(channel: string, type: string, symbols: string[], params?: {}): Promise<any>;
7
8
  watchBalance(params?: {}): Promise<Balances>;
8
9
  setBalanceCache(client: Client, type: any, subscribeHash: any): void;
9
10
  loadBalanceSnapshot(client: any, messageHash: any, type: any): Promise<void>;
@@ -31,6 +32,7 @@ export default class bitmart extends bitmartRest {
31
32
  handleDeltas(bookside: any, deltas: any): void;
32
33
  handleOrderBookMessage(client: Client, message: any, orderbook: any): any;
33
34
  handleOrderBook(client: Client, message: any): void;
35
+ watchOrderBookForSymbols(symbols: string[], limit?: Int, params?: {}): Promise<OrderBook>;
34
36
  authenticate(type: any, params?: {}): Promise<any>;
35
37
  handleSubscriptionStatus(client: Client, message: any): any;
36
38
  handleAuthenticate(client: Client, message: any): void;