ccxt 4.1.74 → 4.1.76

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 (140) hide show
  1. package/README.md +3 -3
  2. package/dist/ccxt.browser.js +620 -342
  3. package/dist/ccxt.browser.min.js +3 -3
  4. package/dist/cjs/ccxt.js +1 -1
  5. package/dist/cjs/src/ace.js +2 -0
  6. package/dist/cjs/src/alpaca.js +2 -0
  7. package/dist/cjs/src/base/Exchange.js +14 -2
  8. package/dist/cjs/src/base/errors.js +7 -7
  9. package/dist/cjs/src/base/ws/Client.js +13 -14
  10. package/dist/cjs/src/bigone.js +38 -9
  11. package/dist/cjs/src/binance.js +4 -0
  12. package/dist/cjs/src/binanceus.js +2 -0
  13. package/dist/cjs/src/bingx.js +134 -40
  14. package/dist/cjs/src/bit2c.js +2 -0
  15. package/dist/cjs/src/bitbank.js +2 -0
  16. package/dist/cjs/src/bithumb.js +2 -0
  17. package/dist/cjs/src/bitmart.js +33 -11
  18. package/dist/cjs/src/bitopro.js +2 -0
  19. package/dist/cjs/src/bitpanda.js +2 -0
  20. package/dist/cjs/src/bitso.js +2 -0
  21. package/dist/cjs/src/bitstamp.js +2 -0
  22. package/dist/cjs/src/bittrex.js +2 -0
  23. package/dist/cjs/src/bitvavo.js +2 -0
  24. package/dist/cjs/src/bl3p.js +2 -0
  25. package/dist/cjs/src/btcalpha.js +2 -0
  26. package/dist/cjs/src/btcbox.js +2 -0
  27. package/dist/cjs/src/btcmarkets.js +2 -0
  28. package/dist/cjs/src/btcturk.js +2 -0
  29. package/dist/cjs/src/bybit.js +2 -0
  30. package/dist/cjs/src/coinbase.js +2 -0
  31. package/dist/cjs/src/coincheck.js +2 -0
  32. package/dist/cjs/src/coinlist.js +2 -0
  33. package/dist/cjs/src/coinmate.js +2 -0
  34. package/dist/cjs/src/coinone.js +2 -0
  35. package/dist/cjs/src/coinsph.js +2 -0
  36. package/dist/cjs/src/coinspot.js +2 -0
  37. package/dist/cjs/src/cryptocom.js +2 -185
  38. package/dist/cjs/src/gate.js +1 -0
  39. package/dist/cjs/src/gemini.js +23 -19
  40. package/dist/cjs/src/idex.js +2 -0
  41. package/dist/cjs/src/independentreserve.js +2 -0
  42. package/dist/cjs/src/indodax.js +2 -0
  43. package/dist/cjs/src/kraken.js +154 -11
  44. package/dist/cjs/src/kucoin.js +2 -0
  45. package/dist/cjs/src/kuna.js +2 -0
  46. package/dist/cjs/src/latoken.js +2 -0
  47. package/dist/cjs/src/luno.js +2 -0
  48. package/dist/cjs/src/mercado.js +2 -0
  49. package/dist/cjs/src/mexc.js +2 -0
  50. package/dist/cjs/src/ndax.js +2 -0
  51. package/dist/cjs/src/novadax.js +2 -0
  52. package/dist/cjs/src/okx.js +24 -9
  53. package/dist/cjs/src/p2b.js +2 -0
  54. package/dist/cjs/src/poloniex.js +27 -25
  55. package/dist/cjs/src/pro/binance.js +60 -8
  56. package/dist/cjs/src/pro/coinbasepro.js +1 -1
  57. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +8 -11
  58. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +5 -8
  59. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +5 -12
  60. package/dist/cjs/src/wavesexchange.js +2 -0
  61. package/dist/cjs/src/wazirx.js +2 -0
  62. package/dist/cjs/src/woo.js +2 -0
  63. package/dist/cjs/src/yobit.js +2 -0
  64. package/dist/cjs/src/zonda.js +2 -0
  65. package/js/ccxt.d.ts +1 -1
  66. package/js/ccxt.js +1 -1
  67. package/js/src/abstract/binance.d.ts +2 -0
  68. package/js/src/abstract/binancecoinm.d.ts +2 -0
  69. package/js/src/abstract/binanceus.d.ts +2 -0
  70. package/js/src/abstract/binanceusdm.d.ts +2 -0
  71. package/js/src/abstract/okx.d.ts +14 -0
  72. package/js/src/ace.js +2 -0
  73. package/js/src/alpaca.js +2 -0
  74. package/js/src/base/Exchange.d.ts +4 -0
  75. package/js/src/base/Exchange.js +14 -2
  76. package/js/src/base/errors.d.ts +4 -4
  77. package/js/src/base/errors.js +7 -7
  78. package/js/src/base/ws/Client.js +13 -14
  79. package/js/src/bigone.d.ts +1 -0
  80. package/js/src/bigone.js +38 -9
  81. package/js/src/binance.js +4 -0
  82. package/js/src/binanceus.js +2 -0
  83. package/js/src/bingx.d.ts +7 -3
  84. package/js/src/bingx.js +135 -41
  85. package/js/src/bit2c.js +2 -0
  86. package/js/src/bitbank.js +2 -0
  87. package/js/src/bithumb.js +2 -0
  88. package/js/src/bitmart.d.ts +1 -0
  89. package/js/src/bitmart.js +33 -11
  90. package/js/src/bitopro.js +2 -0
  91. package/js/src/bitpanda.js +2 -0
  92. package/js/src/bitso.js +2 -0
  93. package/js/src/bitstamp.js +2 -0
  94. package/js/src/bittrex.js +2 -0
  95. package/js/src/bitvavo.js +2 -0
  96. package/js/src/bl3p.js +2 -0
  97. package/js/src/btcalpha.js +2 -0
  98. package/js/src/btcbox.js +2 -0
  99. package/js/src/btcmarkets.js +2 -0
  100. package/js/src/btcturk.js +2 -0
  101. package/js/src/bybit.js +2 -0
  102. package/js/src/coinbase.js +2 -0
  103. package/js/src/coincheck.js +2 -0
  104. package/js/src/coinlist.js +2 -0
  105. package/js/src/coinmate.js +2 -0
  106. package/js/src/coinone.js +2 -0
  107. package/js/src/coinsph.js +2 -0
  108. package/js/src/coinspot.js +2 -0
  109. package/js/src/cryptocom.d.ts +0 -24
  110. package/js/src/cryptocom.js +2 -185
  111. package/js/src/gate.js +1 -0
  112. package/js/src/gemini.js +23 -19
  113. package/js/src/idex.js +2 -0
  114. package/js/src/independentreserve.js +2 -0
  115. package/js/src/indodax.js +2 -0
  116. package/js/src/kraken.d.ts +2 -0
  117. package/js/src/kraken.js +154 -11
  118. package/js/src/kucoin.js +2 -0
  119. package/js/src/kuna.js +2 -0
  120. package/js/src/latoken.js +2 -0
  121. package/js/src/luno.js +2 -0
  122. package/js/src/mercado.js +2 -0
  123. package/js/src/mexc.js +2 -0
  124. package/js/src/ndax.js +2 -0
  125. package/js/src/novadax.js +2 -0
  126. package/js/src/okx.js +24 -9
  127. package/js/src/p2b.js +2 -0
  128. package/js/src/poloniex.js +27 -25
  129. package/js/src/pro/binance.d.ts +1 -0
  130. package/js/src/pro/binance.js +61 -9
  131. package/js/src/pro/coinbasepro.js +1 -1
  132. package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +9 -8
  133. package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +5 -7
  134. package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +5 -7
  135. package/js/src/wavesexchange.js +2 -0
  136. package/js/src/wazirx.js +2 -0
  137. package/js/src/woo.js +2 -0
  138. package/js/src/yobit.js +2 -0
  139. package/js/src/zonda.js +2 -0
  140. package/package.json +1 -1
@@ -31,6 +31,8 @@ class bitopro extends bitopro$1 {
31
31
  'cancelAllOrders': true,
32
32
  'cancelOrder': true,
33
33
  'cancelOrders': true,
34
+ 'closeAllPositions': false,
35
+ 'closePosition': false,
34
36
  'createOrder': true,
35
37
  'editOrder': false,
36
38
  'fetchBalance': true,
@@ -32,6 +32,8 @@ class bitpanda extends bitpanda$1 {
32
32
  'cancelAllOrders': true,
33
33
  'cancelOrder': true,
34
34
  'cancelOrders': true,
35
+ 'closeAllPositions': false,
36
+ 'closePosition': false,
35
37
  'createDepositAddress': true,
36
38
  'createOrder': true,
37
39
  'createReduceOnlyOrder': false,
@@ -31,6 +31,8 @@ class bitso extends bitso$1 {
31
31
  'cancelAllOrders': true,
32
32
  'cancelOrder': true,
33
33
  'cancelOrders': true,
34
+ 'closeAllPositions': false,
35
+ 'closePosition': false,
34
36
  'createDepositAddress': false,
35
37
  'createOrder': true,
36
38
  'createReduceOnlyOrder': false,
@@ -33,6 +33,8 @@ class bitstamp extends bitstamp$1 {
33
33
  'addMargin': false,
34
34
  'cancelAllOrders': true,
35
35
  'cancelOrder': true,
36
+ 'closeAllPositions': false,
37
+ 'closePosition': false,
36
38
  'createOrder': true,
37
39
  'createReduceOnlyOrder': false,
38
40
  'createStopLimitOrder': false,
@@ -32,6 +32,8 @@ class bittrex extends bittrex$1 {
32
32
  'addMargin': false,
33
33
  'cancelAllOrders': true,
34
34
  'cancelOrder': true,
35
+ 'closeAllPositions': false,
36
+ 'closePosition': false,
35
37
  'createDepositAddress': true,
36
38
  'createMarketOrder': true,
37
39
  'createOrder': true,
@@ -32,6 +32,8 @@ class bitvavo extends bitvavo$1 {
32
32
  'addMargin': false,
33
33
  'cancelAllOrders': true,
34
34
  'cancelOrder': true,
35
+ 'closeAllPositions': false,
36
+ 'closePosition': false,
35
37
  'createOrder': true,
36
38
  'createReduceOnlyOrder': false,
37
39
  'createStopLimitOrder': true,
@@ -30,6 +30,8 @@ class bl3p extends bl3p$1 {
30
30
  'option': false,
31
31
  'addMargin': false,
32
32
  'cancelOrder': true,
33
+ 'closeAllPositions': false,
34
+ 'closePosition': false,
33
35
  'createOrder': true,
34
36
  'createReduceOnlyOrder': false,
35
37
  'createStopLimitOrder': false,
@@ -28,6 +28,8 @@ class btcalpha extends btcalpha$1 {
28
28
  'option': false,
29
29
  'addMargin': false,
30
30
  'cancelOrder': true,
31
+ 'closeAllPositions': false,
32
+ 'closePosition': false,
31
33
  'createOrder': true,
32
34
  'createReduceOnlyOrder': false,
33
35
  'createStopLimitOrder': false,
@@ -30,6 +30,8 @@ class btcbox extends btcbox$1 {
30
30
  'option': false,
31
31
  'addMargin': false,
32
32
  'cancelOrder': true,
33
+ 'closeAllPositions': false,
34
+ 'closePosition': false,
33
35
  'createOrder': true,
34
36
  'createReduceOnlyOrder': false,
35
37
  'fetchBalance': true,
@@ -30,6 +30,8 @@ class btcmarkets extends btcmarkets$1 {
30
30
  'addMargin': false,
31
31
  'cancelOrder': true,
32
32
  'cancelOrders': true,
33
+ 'closeAllPositions': false,
34
+ 'closePosition': false,
33
35
  'createOrder': true,
34
36
  'createReduceOnlyOrder': false,
35
37
  'fetchBalance': true,
@@ -29,6 +29,8 @@ class btcturk extends btcturk$1 {
29
29
  'option': false,
30
30
  'addMargin': false,
31
31
  'cancelOrder': true,
32
+ 'closeAllPositions': false,
33
+ 'closePosition': false,
32
34
  'createOrder': true,
33
35
  'createReduceOnlyOrder': false,
34
36
  'fetchBalance': true,
@@ -35,6 +35,8 @@ class bybit extends bybit$1 {
35
35
  'borrowCrossMargin': true,
36
36
  'cancelAllOrders': true,
37
37
  'cancelOrder': true,
38
+ 'closeAllPositions': false,
39
+ 'closePosition': false,
38
40
  'createMarketBuyOrderWithCost': true,
39
41
  'createMarketSellOrderWithCost': false,
40
42
  'createOrder': true,
@@ -35,6 +35,8 @@ class coinbase extends coinbase$1 {
35
35
  'addMargin': false,
36
36
  'cancelOrder': true,
37
37
  'cancelOrders': true,
38
+ 'closeAllPositions': false,
39
+ 'closePosition': false,
38
40
  'createDepositAddress': true,
39
41
  'createLimitBuyOrder': true,
40
42
  'createLimitSellOrder': true,
@@ -27,6 +27,8 @@ class coincheck extends coincheck$1 {
27
27
  'option': false,
28
28
  'addMargin': false,
29
29
  'cancelOrder': true,
30
+ 'closeAllPositions': false,
31
+ 'closePosition': false,
30
32
  'createOrder': true,
31
33
  'createReduceOnlyOrder': false,
32
34
  'fetchBalance': true,
@@ -32,6 +32,8 @@ class coinlist extends coinlist$1 {
32
32
  'cancelAllOrders': true,
33
33
  'cancelOrder': true,
34
34
  'cancelOrders': true,
35
+ 'closeAllPositions': false,
36
+ 'closePosition': false,
35
37
  'createDepositAddress': false,
36
38
  'createOrder': true,
37
39
  'createPostOnlyOrder': true,
@@ -28,6 +28,8 @@ class coinmate extends coinmate$1 {
28
28
  'option': false,
29
29
  'addMargin': false,
30
30
  'cancelOrder': true,
31
+ 'closeAllPositions': false,
32
+ 'closePosition': false,
31
33
  'createOrder': true,
32
34
  'createReduceOnlyOrder': false,
33
35
  'fetchBalance': true,
@@ -31,6 +31,8 @@ class coinone extends coinone$1 {
31
31
  'option': false,
32
32
  'addMargin': false,
33
33
  'cancelOrder': true,
34
+ 'closeAllPositions': false,
35
+ 'closePosition': false,
34
36
  'createMarketOrder': false,
35
37
  'createOrder': true,
36
38
  'createReduceOnlyOrder': false,
@@ -32,6 +32,8 @@ class coinsph extends coinsph$1 {
32
32
  'cancelAllOrders': true,
33
33
  'cancelOrder': true,
34
34
  'cancelOrders': false,
35
+ 'closeAllPositions': false,
36
+ 'closePosition': false,
35
37
  'createDepositAddress': false,
36
38
  'createOrder': true,
37
39
  'createPostOnlyOrder': false,
@@ -29,6 +29,8 @@ class coinspot extends coinspot$1 {
29
29
  'option': false,
30
30
  'addMargin': false,
31
31
  'cancelOrder': true,
32
+ 'closeAllPositions': false,
33
+ 'closePosition': false,
32
34
  'createMarketOrder': false,
33
35
  'createOrder': true,
34
36
  'createReduceOnlyOrder': false,
@@ -87,7 +87,7 @@ class cryptocom extends cryptocom$1 {
87
87
  'fetchTradingFees': false,
88
88
  'fetchTransactionFees': false,
89
89
  'fetchTransactions': false,
90
- 'fetchTransfers': true,
90
+ 'fetchTransfers': false,
91
91
  'fetchUnderlyingAssets': false,
92
92
  'fetchVolatilityHistory': false,
93
93
  'fetchWithdrawals': true,
@@ -96,7 +96,7 @@ class cryptocom extends cryptocom$1 {
96
96
  'setLeverage': false,
97
97
  'setMarginMode': false,
98
98
  'setPositionMode': false,
99
- 'transfer': true,
99
+ 'transfer': false,
100
100
  'withdraw': true,
101
101
  },
102
102
  'timeframes': {
@@ -1853,189 +1853,6 @@ class cryptocom extends cryptocom$1 {
1853
1853
  const withdrawalList = this.safeValue(data, 'withdrawal_list', []);
1854
1854
  return this.parseTransactions(withdrawalList, currency, since, limit);
1855
1855
  }
1856
- async transfer(code, amount, fromAccount, toAccount, params = {}) {
1857
- /**
1858
- * @method
1859
- * @name cryptocom#transfer
1860
- * @description transfer currency internally between wallets on the same account
1861
- * @param {string} code unified currency code
1862
- * @param {float} amount amount to transfer
1863
- * @param {string} fromAccount account to transfer from
1864
- * @param {string} toAccount account to transfer to
1865
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1866
- * @returns {object} a [transfer structure]{@link https://docs.ccxt.com/#/?id=transfer-structure}
1867
- */
1868
- await this.loadMarkets();
1869
- const currency = this.currency(code);
1870
- fromAccount = fromAccount.toLowerCase();
1871
- toAccount = toAccount.toLowerCase();
1872
- const accountsById = this.safeValue(this.options, 'accountsById', {});
1873
- const fromId = this.safeString(accountsById, fromAccount, fromAccount);
1874
- const toId = this.safeString(accountsById, toAccount, toAccount);
1875
- const request = {
1876
- 'currency': currency['id'],
1877
- 'amount': parseFloat(amount),
1878
- 'from': fromId,
1879
- 'to': toId,
1880
- };
1881
- let method = 'v2PrivatePostPrivateDerivTransfer';
1882
- if ((fromAccount === 'margin') || (toAccount === 'margin')) {
1883
- method = 'v2PrivatePostPrivateMarginTransfer';
1884
- }
1885
- const response = await this[method](this.extend(request, params));
1886
- //
1887
- // {
1888
- // "id": 11,
1889
- // "method": "private/deriv/transfer",
1890
- // "code": 0
1891
- // }
1892
- //
1893
- return this.parseTransfer(response, currency);
1894
- }
1895
- async fetchTransfers(code = undefined, since = undefined, limit = undefined, params = {}) {
1896
- /**
1897
- * @method
1898
- * @name cryptocom#fetchTransfers
1899
- * @description fetch a history of internal transfers made on an account
1900
- * @param {string} code unified currency code of the currency transferred
1901
- * @param {int} [since] the earliest time in ms to fetch transfers for
1902
- * @param {int} [limit] the maximum number of transfers structures to retrieve
1903
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1904
- * @returns {object[]} a list of [transfer structures]{@link https://docs.ccxt.com/#/?id=transfer-structure}
1905
- */
1906
- if (!('direction' in params)) {
1907
- throw new errors.ArgumentsRequired(this.id + ' fetchTransfers() requires a direction param to be either "IN" or "OUT"');
1908
- }
1909
- await this.loadMarkets();
1910
- let currency = undefined;
1911
- const request = {
1912
- 'direction': 'OUT',
1913
- };
1914
- if (code !== undefined) {
1915
- currency = this.currency(code);
1916
- request['currency'] = currency['id'];
1917
- }
1918
- if (since !== undefined) {
1919
- request['start_ts'] = since;
1920
- }
1921
- if (limit !== undefined) {
1922
- request['page_size'] = limit;
1923
- }
1924
- let method = 'v2PrivatePostPrivateDerivGetTransferHistory';
1925
- const [marginMode, query] = this.customHandleMarginModeAndParams('fetchTransfers', params);
1926
- if (marginMode !== undefined) {
1927
- method = 'v2PrivatePostPrivateMarginGetTransferHistory';
1928
- }
1929
- const response = await this[method](this.extend(request, query));
1930
- //
1931
- // {
1932
- // "id": "1641032709328",
1933
- // "method": "private/deriv/get-transfer-history",
1934
- // "code": "0",
1935
- // "result": {
1936
- // "transfer_list": [
1937
- // {
1938
- // "direction": "IN",
1939
- // "time": "1641025185223",
1940
- // "amount": "109.56",
1941
- // "status": "COMPLETED",
1942
- // "information": "From Spot Wallet",
1943
- // "currency": "USDC"
1944
- // }
1945
- // ]
1946
- // }
1947
- // }
1948
- //
1949
- const transfer = [];
1950
- transfer.push({
1951
- 'response': response,
1952
- });
1953
- return this.parseTransfers(transfer, currency, since, limit, params);
1954
- }
1955
- parseTransferStatus(status) {
1956
- const statuses = {
1957
- 'COMPLETED': 'ok',
1958
- 'PROCESSING': 'pending',
1959
- };
1960
- return this.safeString(statuses, status, status);
1961
- }
1962
- parseTransfer(transfer, currency = undefined) {
1963
- //
1964
- // {
1965
- // "response": {
1966
- // "id": "1641032709328",
1967
- // "method": "private/deriv/get-transfer-history",
1968
- // "code": "0",
1969
- // "result": {
1970
- // "transfer_list": [
1971
- // {
1972
- // "direction": "IN",
1973
- // "time": "1641025185223",
1974
- // "amount": "109.56",
1975
- // "status": "COMPLETED",
1976
- // "information": "From Spot Wallet",
1977
- // "currency": "USDC"
1978
- // }
1979
- // ]
1980
- // }
1981
- // }
1982
- // }
1983
- //
1984
- const response = this.safeValue(transfer, 'response', {});
1985
- const result = this.safeValue(response, 'result', {});
1986
- const transferList = this.safeValue(result, 'transfer_list', []);
1987
- let timestamp = undefined;
1988
- let amount = undefined;
1989
- let code = undefined;
1990
- let information = undefined;
1991
- let status = undefined;
1992
- for (let i = 0; i < transferList.length; i++) {
1993
- const entry = transferList[i];
1994
- timestamp = this.safeInteger(entry, 'time');
1995
- amount = this.safeNumber(entry, 'amount');
1996
- const currencyId = this.safeString(entry, 'currency');
1997
- code = this.safeCurrencyCode(currencyId);
1998
- information = this.safeString(entry, 'information');
1999
- const rawStatus = this.safeString(entry, 'status');
2000
- status = this.parseTransferStatus(rawStatus);
2001
- }
2002
- let fromAccount = undefined;
2003
- let toAccount = undefined;
2004
- if (information !== undefined) {
2005
- const parts = information.split(' ');
2006
- const direction = this.safeStringLower(parts, 0);
2007
- const method = this.safeString(response, 'method');
2008
- if (direction === 'from') {
2009
- fromAccount = this.safeStringLower(parts, 1);
2010
- if (method === 'private/margin/get-transfer-history') {
2011
- toAccount = 'margin';
2012
- }
2013
- else {
2014
- toAccount = 'derivative';
2015
- }
2016
- }
2017
- else if (direction === 'to') {
2018
- toAccount = this.safeStringLower(parts, 1);
2019
- if (method === 'private/margin/get-transfer-history') {
2020
- fromAccount = 'margin';
2021
- }
2022
- else {
2023
- fromAccount = 'derivative';
2024
- }
2025
- }
2026
- }
2027
- return {
2028
- 'info': transferList,
2029
- 'id': this.safeString(response, 'id'),
2030
- 'timestamp': timestamp,
2031
- 'datetime': this.iso8601(timestamp),
2032
- 'currency': code,
2033
- 'amount': amount,
2034
- 'fromAccount': fromAccount,
2035
- 'toAccount': toAccount,
2036
- 'status': status,
2037
- };
2038
- }
2039
1856
  parseTicker(ticker, market = undefined) {
2040
1857
  //
2041
1858
  // fetchTicker
@@ -47,6 +47,7 @@ class gate extends gate$1 {
47
47
  'subAccounts': 'https://api.gateio.ws/api/v4',
48
48
  'rebate': 'https://api.gateio.ws/api/v4',
49
49
  'earn': 'https://api.gateio.ws/api/v4',
50
+ 'account': 'https://api.gateio.ws/api/v4',
50
51
  },
51
52
  },
52
53
  'test': {
@@ -32,6 +32,8 @@ class gemini extends gemini$1 {
32
32
  'option': false,
33
33
  'addMargin': false,
34
34
  'cancelOrder': true,
35
+ 'closeAllPositions': false,
36
+ 'closePosition': false,
35
37
  'createDepositAddress': true,
36
38
  'createMarketOrder': false,
37
39
  'createOrder': true,
@@ -341,26 +343,28 @@ class gemini extends gemini$1 {
341
343
  const networks = {};
342
344
  const networkId = this.safeString(currency, 9);
343
345
  const networkCode = this.networkIdToCode(networkId);
344
- networks[networkCode] = {
345
- 'info': currency,
346
- 'id': networkId,
347
- 'network': networkCode,
348
- 'active': undefined,
349
- 'deposit': undefined,
350
- 'withdraw': undefined,
351
- 'fee': undefined,
352
- 'precision': precision,
353
- 'limits': {
354
- 'deposit': {
355
- 'min': undefined,
356
- 'max': undefined,
357
- },
358
- 'withdraw': {
359
- 'min': undefined,
360
- 'max': undefined,
346
+ if (networkCode !== undefined) {
347
+ networks[networkCode] = {
348
+ 'info': currency,
349
+ 'id': networkId,
350
+ 'network': networkCode,
351
+ 'active': undefined,
352
+ 'deposit': undefined,
353
+ 'withdraw': undefined,
354
+ 'fee': undefined,
355
+ 'precision': precision,
356
+ 'limits': {
357
+ 'deposit': {
358
+ 'min': undefined,
359
+ 'max': undefined,
360
+ },
361
+ 'withdraw': {
362
+ 'min': undefined,
363
+ 'max': undefined,
364
+ },
361
365
  },
362
- },
363
- };
366
+ };
367
+ }
364
368
  result[code] = {
365
369
  'info': currency,
366
370
  'id': id,
@@ -37,6 +37,8 @@ class idex extends idex$1 {
37
37
  'cancelAllOrders': true,
38
38
  'cancelOrder': true,
39
39
  'cancelOrders': false,
40
+ 'closeAllPositions': false,
41
+ 'closePosition': false,
40
42
  'createDepositAddress': false,
41
43
  'createOrder': true,
42
44
  'createReduceOnlyOrder': false,
@@ -28,6 +28,8 @@ class independentreserve extends independentreserve$1 {
28
28
  'option': false,
29
29
  'addMargin': false,
30
30
  'cancelOrder': true,
31
+ 'closeAllPositions': false,
32
+ 'closePosition': false,
31
33
  'createOrder': true,
32
34
  'createReduceOnlyOrder': false,
33
35
  'createStopLimitOrder': false,
@@ -31,6 +31,8 @@ class indodax extends indodax$1 {
31
31
  'cancelAllOrders': false,
32
32
  'cancelOrder': true,
33
33
  'cancelOrders': false,
34
+ 'closeAllPositions': false,
35
+ 'closePosition': false,
34
36
  'createDepositAddress': false,
35
37
  'createOrder': true,
36
38
  'createReduceOnlyOrder': false,