ccxt 4.4.15 → 4.4.17

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 (211) hide show
  1. package/README.md +3 -3
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +1 -1
  4. package/dist/cjs/src/ascendex.js +2 -2
  5. package/dist/cjs/src/base/Exchange.js +14 -1
  6. package/dist/cjs/src/bigone.js +4 -2
  7. package/dist/cjs/src/binance.js +72 -8
  8. package/dist/cjs/src/bingx.js +62 -2
  9. package/dist/cjs/src/bit2c.js +3 -1
  10. package/dist/cjs/src/bitbank.js +4 -2
  11. package/dist/cjs/src/bitbns.js +4 -2
  12. package/dist/cjs/src/bitfinex.js +2 -0
  13. package/dist/cjs/src/bitfinex2.js +2 -0
  14. package/dist/cjs/src/bitget.js +3 -2
  15. package/dist/cjs/src/bitmart.js +2 -1
  16. package/dist/cjs/src/bitmex.js +2 -2
  17. package/dist/cjs/src/bitso.js +3 -2
  18. package/dist/cjs/src/bitstamp.js +4 -2
  19. package/dist/cjs/src/bitvavo.js +6 -4
  20. package/dist/cjs/src/blockchaincom.js +9 -7
  21. package/dist/cjs/src/blofin.js +23 -0
  22. package/dist/cjs/src/bybit.js +9 -5
  23. package/dist/cjs/src/cex.js +3 -2
  24. package/dist/cjs/src/coinbase.js +1 -1
  25. package/dist/cjs/src/coinbaseinternational.js +3 -8
  26. package/dist/cjs/src/coinex.js +2 -2
  27. package/dist/cjs/src/coinone.js +4 -1
  28. package/dist/cjs/src/coinsph.js +2 -2
  29. package/dist/cjs/src/cryptocom.js +2 -1
  30. package/dist/cjs/src/currencycom.js +2 -2
  31. package/dist/cjs/src/delta.js +4 -2
  32. package/dist/cjs/src/deribit.js +4 -2
  33. package/dist/cjs/src/digifinex.js +3 -1
  34. package/dist/cjs/src/exmo.js +4 -2
  35. package/dist/cjs/src/gate.js +3 -2
  36. package/dist/cjs/src/gemini.js +1 -0
  37. package/dist/cjs/src/hashkey.js +4 -2
  38. package/dist/cjs/src/hitbtc.js +4 -3
  39. package/dist/cjs/src/hollaex.js +3 -2
  40. package/dist/cjs/src/htx.js +12 -2
  41. package/dist/cjs/src/hyperliquid.js +8 -7
  42. package/dist/cjs/src/idex.js +1 -1
  43. package/dist/cjs/src/independentreserve.js +1 -1
  44. package/dist/cjs/src/indodax.js +1 -1
  45. package/dist/cjs/src/kraken.js +4 -2
  46. package/dist/cjs/src/kucoin.js +2 -1
  47. package/dist/cjs/src/kucoinfutures.js +3 -1
  48. package/dist/cjs/src/kuna.js +5 -12
  49. package/dist/cjs/src/lbank.js +11 -9
  50. package/dist/cjs/src/lykke.js +4 -2
  51. package/dist/cjs/src/mexc.js +3 -2
  52. package/dist/cjs/src/ndax.js +30 -2
  53. package/dist/cjs/src/oceanex.js +1 -1
  54. package/dist/cjs/src/okcoin.js +6 -4
  55. package/dist/cjs/src/okx.js +48 -3
  56. package/dist/cjs/src/onetrading.js +3 -2
  57. package/dist/cjs/src/oxfun.js +3 -3
  58. package/dist/cjs/src/paymium.js +2 -1
  59. package/dist/cjs/src/phemex.js +6 -4
  60. package/dist/cjs/src/poloniex.js +4 -2
  61. package/dist/cjs/src/probit.js +3 -2
  62. package/dist/cjs/src/timex.js +4 -9
  63. package/dist/cjs/src/tokocrypto.js +3 -3
  64. package/dist/cjs/src/upbit.js +3 -2
  65. package/dist/cjs/src/wavesexchange.js +7 -7
  66. package/dist/cjs/src/wazirx.js +22 -2
  67. package/dist/cjs/src/whitebit.js +4 -2
  68. package/dist/cjs/src/woo.js +4 -2
  69. package/dist/cjs/src/xt.js +4 -2
  70. package/dist/cjs/src/yobit.js +30 -21
  71. package/dist/cjs/src/zonda.js +27 -2
  72. package/js/ccxt.d.ts +1 -1
  73. package/js/ccxt.js +1 -1
  74. package/js/src/abstract/mexc.d.ts +1 -0
  75. package/js/src/ascendex.d.ts +3 -9
  76. package/js/src/ascendex.js +2 -2
  77. package/js/src/base/Exchange.d.ts +9 -7
  78. package/js/src/base/Exchange.js +14 -1
  79. package/js/src/base/types.d.ts +4 -3
  80. package/js/src/bigone.d.ts +2 -8
  81. package/js/src/bigone.js +4 -2
  82. package/js/src/binance.d.ts +4 -8
  83. package/js/src/binance.js +72 -8
  84. package/js/src/bingx.d.ts +5 -10
  85. package/js/src/bingx.js +62 -2
  86. package/js/src/bit2c.d.ts +3 -15
  87. package/js/src/bit2c.js +3 -1
  88. package/js/src/bitbank.d.ts +2 -8
  89. package/js/src/bitbank.js +4 -2
  90. package/js/src/bitbns.d.ts +2 -8
  91. package/js/src/bitbns.js +4 -2
  92. package/js/src/bitfinex.d.ts +3 -15
  93. package/js/src/bitfinex.js +2 -0
  94. package/js/src/bitfinex2.d.ts +3 -15
  95. package/js/src/bitfinex2.js +2 -0
  96. package/js/src/bitget.d.ts +3 -15
  97. package/js/src/bitget.js +3 -2
  98. package/js/src/bitmart.d.ts +3 -15
  99. package/js/src/bitmart.js +2 -1
  100. package/js/src/bitmex.d.ts +2 -8
  101. package/js/src/bitmex.js +2 -2
  102. package/js/src/bitso.d.ts +2 -8
  103. package/js/src/bitso.js +3 -2
  104. package/js/src/bitstamp.d.ts +2 -8
  105. package/js/src/bitstamp.js +4 -2
  106. package/js/src/bitvavo.d.ts +3 -9
  107. package/js/src/bitvavo.js +6 -4
  108. package/js/src/blockchaincom.d.ts +2 -2
  109. package/js/src/blockchaincom.js +9 -7
  110. package/js/src/blofin.d.ts +1 -0
  111. package/js/src/blofin.js +23 -0
  112. package/js/src/bybit.d.ts +4 -16
  113. package/js/src/bybit.js +9 -5
  114. package/js/src/cex.d.ts +2 -8
  115. package/js/src/cex.js +3 -2
  116. package/js/src/coinbase.d.ts +3 -9
  117. package/js/src/coinbase.js +1 -1
  118. package/js/src/coinbaseinternational.d.ts +1 -19
  119. package/js/src/coinbaseinternational.js +3 -8
  120. package/js/src/coinex.d.ts +4 -22
  121. package/js/src/coinex.js +2 -2
  122. package/js/src/coinone.d.ts +2 -2
  123. package/js/src/coinone.js +4 -1
  124. package/js/src/coinsph.d.ts +3 -15
  125. package/js/src/coinsph.js +2 -2
  126. package/js/src/cryptocom.d.ts +3 -3
  127. package/js/src/cryptocom.js +2 -1
  128. package/js/src/currencycom.d.ts +3 -15
  129. package/js/src/currencycom.js +2 -2
  130. package/js/src/delta.d.ts +3 -15
  131. package/js/src/delta.js +4 -2
  132. package/js/src/deribit.d.ts +2 -8
  133. package/js/src/deribit.js +4 -2
  134. package/js/src/digifinex.d.ts +3 -9
  135. package/js/src/digifinex.js +3 -1
  136. package/js/src/exmo.d.ts +2 -8
  137. package/js/src/exmo.js +4 -2
  138. package/js/src/gate.d.ts +2 -9
  139. package/js/src/gate.js +3 -2
  140. package/js/src/gemini.d.ts +3 -3
  141. package/js/src/gemini.js +1 -0
  142. package/js/src/hashkey.d.ts +3 -15
  143. package/js/src/hashkey.js +4 -2
  144. package/js/src/hitbtc.d.ts +2 -9
  145. package/js/src/hitbtc.js +4 -3
  146. package/js/src/hollaex.d.ts +3 -9
  147. package/js/src/hollaex.js +3 -2
  148. package/js/src/htx.d.ts +3 -3
  149. package/js/src/htx.js +12 -2
  150. package/js/src/hyperliquid.js +8 -7
  151. package/js/src/idex.d.ts +3 -15
  152. package/js/src/idex.js +1 -1
  153. package/js/src/independentreserve.d.ts +3 -15
  154. package/js/src/independentreserve.js +1 -1
  155. package/js/src/indodax.d.ts +2 -2
  156. package/js/src/indodax.js +1 -1
  157. package/js/src/kraken.d.ts +4 -22
  158. package/js/src/kraken.js +4 -2
  159. package/js/src/kucoin.d.ts +5 -23
  160. package/js/src/kucoin.js +2 -1
  161. package/js/src/kucoinfutures.d.ts +2 -8
  162. package/js/src/kucoinfutures.js +3 -1
  163. package/js/src/kuna.d.ts +5 -47
  164. package/js/src/kuna.js +5 -12
  165. package/js/src/lbank.d.ts +4 -16
  166. package/js/src/lbank.js +11 -9
  167. package/js/src/lykke.d.ts +2 -8
  168. package/js/src/lykke.js +4 -2
  169. package/js/src/mexc.d.ts +5 -17
  170. package/js/src/mexc.js +3 -2
  171. package/js/src/ndax.d.ts +4 -22
  172. package/js/src/ndax.js +30 -2
  173. package/js/src/oceanex.d.ts +3 -9
  174. package/js/src/oceanex.js +1 -1
  175. package/js/src/okcoin.d.ts +4 -10
  176. package/js/src/okcoin.js +6 -4
  177. package/js/src/okx.d.ts +5 -10
  178. package/js/src/okx.js +48 -3
  179. package/js/src/onetrading.d.ts +4 -22
  180. package/js/src/onetrading.js +3 -2
  181. package/js/src/oxfun.d.ts +3 -15
  182. package/js/src/oxfun.js +3 -3
  183. package/js/src/paymium.d.ts +5 -23
  184. package/js/src/paymium.js +2 -1
  185. package/js/src/phemex.d.ts +2 -8
  186. package/js/src/phemex.js +6 -4
  187. package/js/src/poloniex.d.ts +2 -8
  188. package/js/src/poloniex.js +4 -2
  189. package/js/src/probit.d.ts +4 -16
  190. package/js/src/probit.js +3 -2
  191. package/js/src/timex.d.ts +4 -38
  192. package/js/src/timex.js +4 -9
  193. package/js/src/tokocrypto.d.ts +2 -8
  194. package/js/src/tokocrypto.js +3 -3
  195. package/js/src/upbit.d.ts +5 -23
  196. package/js/src/upbit.js +3 -2
  197. package/js/src/wavesexchange.d.ts +2 -9
  198. package/js/src/wavesexchange.js +7 -7
  199. package/js/src/wazirx.d.ts +2 -8
  200. package/js/src/wazirx.js +22 -2
  201. package/js/src/whitebit.d.ts +2 -8
  202. package/js/src/whitebit.js +4 -2
  203. package/js/src/woo.d.ts +2 -8
  204. package/js/src/woo.js +4 -2
  205. package/js/src/xt.d.ts +3 -15
  206. package/js/src/xt.js +4 -2
  207. package/js/src/yobit.d.ts +2 -26
  208. package/js/src/yobit.js +30 -21
  209. package/js/src/zonda.d.ts +4 -16
  210. package/js/src/zonda.js +27 -2
  211. package/package.json +1 -1
@@ -46,6 +46,7 @@ class cex extends cex$1 {
46
46
  'fetchDeposit': false,
47
47
  'fetchDepositAddress': true,
48
48
  'fetchDepositAddresses': false,
49
+ 'fetchDepositAddressesByNetwork': false,
49
50
  'fetchDeposits': false,
50
51
  'fetchDepositsWithdrawals': false,
51
52
  'fetchFundingHistory': false,
@@ -1635,11 +1636,11 @@ class cex extends cex$1 {
1635
1636
  const address = this.safeString2(addressObject, 'address', 'destination');
1636
1637
  this.checkAddress(address);
1637
1638
  return {
1639
+ 'info': data,
1638
1640
  'currency': code,
1641
+ 'network': this.networkIdToCode(selectedNetworkId),
1639
1642
  'address': address,
1640
1643
  'tag': this.safeString2(addressObject, 'destinationTag', 'memo'),
1641
- 'network': this.networkIdToCode(selectedNetworkId),
1642
- 'info': data,
1643
1644
  };
1644
1645
  }
1645
1646
  nonce() {
@@ -4071,9 +4071,9 @@ class coinbase extends coinbase$1 {
4071
4071
  return {
4072
4072
  'info': depositAddress,
4073
4073
  'currency': this.safeCurrencyCode(marketId, currency),
4074
+ 'network': this.networkIdToCode(networkId, code),
4074
4075
  'address': address,
4075
4076
  'tag': this.safeString(addressInfo, 'destination_tag'),
4076
- 'network': this.networkIdToCode(networkId, code),
4077
4077
  };
4078
4078
  }
4079
4079
  async deposit(code, amount, id, params = {}) {
@@ -1388,12 +1388,7 @@ class coinbaseinternational extends coinbaseinternational$1 {
1388
1388
  // ...
1389
1389
  // ]
1390
1390
  //
1391
- const result = {};
1392
- for (let i = 0; i < currencies.length; i++) {
1393
- const currency = this.parseCurrency(currencies[i]);
1394
- result[currency['code']] = currency;
1395
- }
1396
- return result;
1391
+ return this.parseCurrencies(currencies);
1397
1392
  }
1398
1393
  parseCurrency(currency) {
1399
1394
  //
@@ -1409,7 +1404,7 @@ class coinbaseinternational extends coinbaseinternational$1 {
1409
1404
  const id = this.safeString(currency, 'asset_name');
1410
1405
  const code = this.safeCurrencyCode(id);
1411
1406
  const statusId = this.safeString(currency, 'status');
1412
- return {
1407
+ return this.safeCurrencyStructure({
1413
1408
  'id': id,
1414
1409
  'name': code,
1415
1410
  'code': code,
@@ -1422,7 +1417,7 @@ class coinbaseinternational extends coinbaseinternational$1 {
1422
1417
  'fee': undefined,
1423
1418
  'fees': undefined,
1424
1419
  'limits': this.limits,
1425
- };
1420
+ });
1426
1421
  }
1427
1422
  async fetchTickers(symbols = undefined, params = {}) {
1428
1423
  /**
@@ -65,8 +65,8 @@ class coinex extends coinex$1 {
65
65
  'fetchCrossBorrowRates': false,
66
66
  'fetchCurrencies': true,
67
67
  'fetchDepositAddress': true,
68
- 'fetchDepositAddressByNetwork': false,
69
68
  'fetchDepositAddresses': false,
69
+ 'fetchDepositAddressesByNetwork': false,
70
70
  'fetchDeposits': true,
71
71
  'fetchDepositWithdrawFee': true,
72
72
  'fetchDepositWithdrawFees': false,
@@ -3809,9 +3809,9 @@ class coinex extends coinex$1 {
3809
3809
  return {
3810
3810
  'info': depositAddress,
3811
3811
  'currency': this.safeCurrencyCode(undefined, currency),
3812
+ 'network': undefined,
3812
3813
  'address': address,
3813
3814
  'tag': tag,
3814
- 'network': undefined,
3815
3815
  };
3816
3816
  }
3817
3817
  async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -45,7 +45,9 @@ class coinone extends coinone$1 {
45
45
  'fetchCrossBorrowRate': false,
46
46
  'fetchCrossBorrowRates': false,
47
47
  'fetchCurrencies': true,
48
+ 'fetchDepositAddress': false,
48
49
  'fetchDepositAddresses': true,
50
+ 'fetchDepositAddressesByNetwork': false,
49
51
  'fetchFundingHistory': false,
50
52
  'fetchFundingRate': false,
51
53
  'fetchFundingRateHistory': false,
@@ -1103,10 +1105,11 @@ class coinone extends coinone$1 {
1103
1105
  let depositAddress = this.safeValue(result, code);
1104
1106
  if (depositAddress === undefined) {
1105
1107
  depositAddress = {
1108
+ 'info': value,
1106
1109
  'currency': code,
1110
+ 'network': undefined,
1107
1111
  'address': undefined,
1108
1112
  'tag': undefined,
1109
- 'info': value,
1110
1113
  };
1111
1114
  }
1112
1115
  const address = this.safeString(depositAddress, 'address', value);
@@ -1885,11 +1885,11 @@ class coinsph extends coinsph$1 {
1885
1885
  const currencyId = this.safeString(depositAddress, 'coin');
1886
1886
  const parsedCurrency = this.safeCurrencyCode(currencyId, currency);
1887
1887
  return {
1888
+ 'info': depositAddress,
1888
1889
  'currency': parsedCurrency,
1890
+ 'network': null,
1889
1891
  'address': this.safeString(depositAddress, 'address'),
1890
1892
  'tag': this.safeString(depositAddress, 'addressTag'),
1891
- 'network': null,
1892
- 'info': depositAddress,
1893
1893
  };
1894
1894
  }
1895
1895
  urlEncodeQuery(query = {}) {
@@ -51,6 +51,7 @@ class cryptocom extends cryptocom$1 {
51
51
  'fetchCrossBorrowRates': false,
52
52
  'fetchCurrencies': false,
53
53
  'fetchDepositAddress': true,
54
+ 'fetchDepositAddresses': false,
54
55
  'fetchDepositAddressesByNetwork': true,
55
56
  'fetchDeposits': true,
56
57
  'fetchDepositsWithdrawals': false,
@@ -1785,9 +1786,9 @@ class cryptocom extends cryptocom$1 {
1785
1786
  result[network] = {
1786
1787
  'info': value,
1787
1788
  'currency': responseCode,
1789
+ 'network': network,
1788
1790
  'address': address,
1789
1791
  'tag': tag,
1790
- 'network': network,
1791
1792
  };
1792
1793
  }
1793
1794
  return result;
@@ -1850,11 +1850,11 @@ class currencycom extends currencycom$1 {
1850
1850
  this.checkAddress(address);
1851
1851
  currency = this.safeCurrency(undefined, currency);
1852
1852
  return {
1853
+ 'info': depositAddress,
1853
1854
  'currency': currency['code'],
1855
+ 'network': undefined,
1854
1856
  'address': address,
1855
1857
  'tag': undefined,
1856
- 'network': undefined,
1857
- 'info': depositAddress,
1858
1858
  };
1859
1859
  }
1860
1860
  sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
@@ -41,6 +41,8 @@ class delta extends delta$1 {
41
41
  'fetchCurrencies': true,
42
42
  'fetchDeposit': undefined,
43
43
  'fetchDepositAddress': true,
44
+ 'fetchDepositAddresses': false,
45
+ 'fetchDepositAddressesByNetwork': false,
44
46
  'fetchDeposits': undefined,
45
47
  'fetchFundingHistory': false,
46
48
  'fetchFundingRate': true,
@@ -2372,11 +2374,11 @@ class delta extends delta$1 {
2372
2374
  const networkId = this.safeString(depositAddress, 'network');
2373
2375
  this.checkAddress(address);
2374
2376
  return {
2377
+ 'info': depositAddress,
2375
2378
  'currency': this.safeCurrencyCode(marketId, currency),
2379
+ 'network': this.networkIdToCode(networkId),
2376
2380
  'address': address,
2377
2381
  'tag': this.safeString(depositAddress, 'memo'),
2378
- 'network': this.networkIdToCode(networkId),
2379
- 'info': depositAddress,
2380
2382
  };
2381
2383
  }
2382
2384
  async fetchFundingRate(symbol, params = {}) {
@@ -52,6 +52,8 @@ class deribit extends deribit$1 {
52
52
  'fetchCurrencies': true,
53
53
  'fetchDeposit': false,
54
54
  'fetchDepositAddress': true,
55
+ 'fetchDepositAddresses': false,
56
+ 'fetchDepositAddressesByNetwork': false,
55
57
  'fetchDeposits': true,
56
58
  'fetchDepositWithdrawFees': true,
57
59
  'fetchFundingRate': true,
@@ -1078,11 +1080,11 @@ class deribit extends deribit$1 {
1078
1080
  const address = this.safeString(result, 'address');
1079
1081
  this.checkAddress(address);
1080
1082
  return {
1083
+ 'info': response,
1081
1084
  'currency': code,
1085
+ 'network': undefined,
1082
1086
  'address': address,
1083
1087
  'tag': undefined,
1084
- 'network': undefined,
1085
- 'info': response,
1086
1088
  };
1087
1089
  }
1088
1090
  parseTicker(ticker, market = undefined) {
@@ -48,6 +48,8 @@ class digifinex extends digifinex$1 {
48
48
  'fetchCrossBorrowRates': true,
49
49
  'fetchCurrencies': true,
50
50
  'fetchDepositAddress': true,
51
+ 'fetchDepositAddresses': false,
52
+ 'fetchDepositAddressesByNetwork': false,
51
53
  'fetchDeposits': true,
52
54
  'fetchDepositWithdrawFee': 'emulated',
53
55
  'fetchDepositWithdrawFees': true,
@@ -2741,9 +2743,9 @@ class digifinex extends digifinex$1 {
2741
2743
  return {
2742
2744
  'info': depositAddress,
2743
2745
  'currency': code,
2746
+ 'network': undefined,
2744
2747
  'address': address,
2745
2748
  'tag': tag,
2746
- 'network': undefined,
2747
2749
  };
2748
2750
  }
2749
2751
  async fetchDepositAddress(code, params = {}) {
@@ -42,6 +42,8 @@ class exmo extends exmo$1 {
42
42
  'fetchCurrencies': true,
43
43
  'fetchDeposit': true,
44
44
  'fetchDepositAddress': true,
45
+ 'fetchDepositAddresses': false,
46
+ 'fetchDepositAddressesByNetwork': false,
45
47
  'fetchDeposits': true,
46
48
  'fetchDepositsWithdrawals': true,
47
49
  'fetchDepositWithdrawFee': 'emulated',
@@ -2129,11 +2131,11 @@ class exmo extends exmo$1 {
2129
2131
  }
2130
2132
  this.checkAddress(address);
2131
2133
  return {
2134
+ 'info': response,
2132
2135
  'currency': code,
2136
+ 'network': undefined,
2133
2137
  'address': address,
2134
2138
  'tag': tag,
2135
- 'network': undefined,
2136
- 'info': response,
2137
2139
  };
2138
2140
  }
2139
2141
  getMarketFromTrades(trades) {
@@ -106,6 +106,8 @@ class gate extends gate$1 {
106
106
  'fetchCrossBorrowRates': false,
107
107
  'fetchCurrencies': true,
108
108
  'fetchDepositAddress': true,
109
+ 'fetchDepositAddresses': false,
110
+ 'fetchDepositAddressesByNetwork': false,
109
111
  'fetchDeposits': true,
110
112
  'fetchDepositWithdrawFee': 'emulated',
111
113
  'fetchDepositWithdrawFees': true,
@@ -1998,11 +2000,10 @@ class gate extends gate$1 {
1998
2000
  this.checkAddress(address);
1999
2001
  return {
2000
2002
  'info': response,
2001
- 'code': code,
2002
2003
  'currency': code,
2004
+ 'network': network,
2003
2005
  'address': address,
2004
2006
  'tag': tag,
2005
- 'network': network,
2006
2007
  };
2007
2008
  }
2008
2009
  async fetchTradingFee(symbol, params = {}) {
@@ -47,6 +47,7 @@ class gemini extends gemini$1 {
47
47
  'fetchCrossBorrowRates': false,
48
48
  'fetchCurrencies': true,
49
49
  'fetchDepositAddress': true,
50
+ 'fetchDepositAddresses': false,
50
51
  'fetchDepositAddressesByNetwork': true,
51
52
  'fetchDepositsWithdrawals': true,
52
53
  'fetchFundingHistory': false,
@@ -65,6 +65,8 @@ class hashkey extends hashkey$1 {
65
65
  'fetchConvertTradeHistory': false,
66
66
  'fetchCurrencies': true,
67
67
  'fetchDepositAddress': true,
68
+ 'fetchDepositAddresses': false,
69
+ 'fetchDepositAddressesByNetwork': false,
68
70
  'fetchDeposits': true,
69
71
  'fetchDepositsWithdrawals': false,
70
72
  'fetchFundingHistory': false,
@@ -1815,11 +1817,11 @@ class hashkey extends hashkey$1 {
1815
1817
  tag = undefined;
1816
1818
  }
1817
1819
  return {
1820
+ 'info': depositAddress,
1818
1821
  'currency': currency['code'],
1822
+ 'network': undefined,
1819
1823
  'address': address,
1820
1824
  'tag': tag,
1821
- 'network': undefined,
1822
- 'info': depositAddress,
1823
1825
  };
1824
1826
  }
1825
1827
  async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -49,6 +49,8 @@ class hitbtc extends hitbtc$1 {
49
49
  'fetchCrossBorrowRates': false,
50
50
  'fetchCurrencies': true,
51
51
  'fetchDepositAddress': true,
52
+ 'fetchDepositAddresses': false,
53
+ 'fetchDepositAddressesByNetwork': false,
52
54
  'fetchDeposits': true,
53
55
  'fetchDepositsWithdrawals': true,
54
56
  'fetchDepositWithdrawFee': 'emulated',
@@ -987,11 +989,10 @@ class hitbtc extends hitbtc$1 {
987
989
  const parsedCode = this.safeCurrencyCode(currencyId);
988
990
  return {
989
991
  'info': response,
990
- 'address': address,
991
- 'tag': tag,
992
- 'code': parsedCode,
993
992
  'currency': parsedCode,
994
993
  'network': undefined,
994
+ 'address': address,
995
+ 'tag': tag,
995
996
  };
996
997
  }
997
998
  parseBalance(response) {
@@ -51,6 +51,7 @@ class hollaex extends hollaex$1 {
51
51
  'fetchCurrencies': true,
52
52
  'fetchDepositAddress': 'emulated',
53
53
  'fetchDepositAddresses': true,
54
+ 'fetchDepositAddressesByNetwork': false,
54
55
  'fetchDeposits': true,
55
56
  'fetchFundingHistory': false,
56
57
  'fetchFundingRate': false,
@@ -1346,11 +1347,11 @@ class hollaex extends hollaex$1 {
1346
1347
  currency = this.safeCurrency(currencyId, currency);
1347
1348
  const network = this.safeString(depositAddress, 'network');
1348
1349
  return {
1350
+ 'info': depositAddress,
1349
1351
  'currency': currency['code'],
1352
+ 'network': network,
1350
1353
  'address': address,
1351
1354
  'tag': tag,
1352
- 'network': network,
1353
- 'info': depositAddress,
1354
1355
  };
1355
1356
  }
1356
1357
  async fetchDepositAddresses(codes = undefined, params = {}) {
@@ -6359,8 +6359,8 @@ class htx extends htx$1 {
6359
6359
  /**
6360
6360
  * @method
6361
6361
  * @name htx#fetchDepositAddress
6362
- * @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec50029-7773-11ed-9966-0242ac110003
6363
6362
  * @description fetch the deposit address for a currency associated with this account
6363
+ * @see https://www.htx.com/en-us/opend/newApiPages/?id=7ec50029-7773-11ed-9966-0242ac110003
6364
6364
  * @param {string} code unified currency code
6365
6365
  * @param {object} [params] extra parameters specific to the exchange API endpoint
6366
6366
  * @returns {object} an [address structure]{@link https://docs.ccxt.com/#/?id=address-structure}
@@ -7139,6 +7139,8 @@ class htx extends htx$1 {
7139
7139
  * @method
7140
7140
  * @name htx#fetchBorrowInterest
7141
7141
  * @description fetch the interest owed by the user for borrowing currency for margin trading
7142
+ * @see https://huobiapi.github.io/docs/spot/v1/en/#search-past-margin-orders-cross
7143
+ * @see https://huobiapi.github.io/docs/spot/v1/en/#search-past-margin-orders-isolated
7142
7144
  * @param {string} code unified currency code
7143
7145
  * @param {string} symbol unified market symbol when fetch interest in isolated markets
7144
7146
  * @param {int} [since] the earliest time in ms to fetch borrrow interest for
@@ -7718,7 +7720,11 @@ class htx extends htx$1 {
7718
7720
  * @method
7719
7721
  * @name htx#fetchPositions
7720
7722
  * @description fetch all open positions
7721
- * @param {string[]|undefined} symbols list of unified market symbols
7723
+ * @see https://huobiapi.github.io/docs/usdt_swap/v1/en/#cross-query-user-39-s-position-information
7724
+ * @see https://huobiapi.github.io/docs/usdt_swap/v1/en/#isolated-query-user-s-position-information
7725
+ * @see https://huobiapi.github.io/docs/coin_margined_swap/v1/en/#query-user-s-position-information
7726
+ * @see https://huobiapi.github.io/docs/dm/v1/en/#query-user-s-position-information
7727
+ * @param {string[]} [symbols] list of unified market symbols
7722
7728
  * @param {object} [params] extra parameters specific to the exchange API endpoint
7723
7729
  * @param {string} [params.subType] 'linear' or 'inverse'
7724
7730
  * @param {string} [params.type] *inverse only* 'future', or 'swap'
@@ -7862,6 +7868,10 @@ class htx extends htx$1 {
7862
7868
  * @method
7863
7869
  * @name htx#fetchPosition
7864
7870
  * @description fetch data on a single open contract trade position
7871
+ * @see https://huobiapi.github.io/docs/usdt_swap/v1/en/#cross-query-assets-and-positions
7872
+ * @see https://huobiapi.github.io/docs/usdt_swap/v1/en/#isolated-query-assets-and-positions
7873
+ * @see https://huobiapi.github.io/docs/coin_margined_swap/v1/en/#query-assets-and-positions
7874
+ * @see https://huobiapi.github.io/docs/dm/v1/en/#query-assets-and-positions
7865
7875
  * @param {string} symbol unified market symbol of the market the position is held in, default is undefined
7866
7876
  * @param {object} [params] extra parameters specific to the exchange API endpoint
7867
7877
  * @returns {object} a [position structure]{@link https://docs.ccxt.com/#/?id=position-structure}
@@ -2221,11 +2221,12 @@ class hyperliquid extends hyperliquid$1 {
2221
2221
  market = this.safeMarket(marketId, undefined);
2222
2222
  const symbol = market['symbol'];
2223
2223
  const leverage = this.safeDict(entry, 'leverage', {});
2224
- const isIsolated = (this.safeString(leverage, 'type') === 'isolated');
2225
- const quantity = this.safeNumber(leverage, 'rawUsd');
2224
+ const marginMode = this.safeString(leverage, 'type');
2225
+ const isIsolated = (marginMode === 'isolated');
2226
+ const size = this.safeNumber(entry, 'szi');
2226
2227
  let side = undefined;
2227
- if (quantity !== undefined) {
2228
- side = (quantity > 0) ? 'short' : 'long';
2228
+ if (size !== undefined) {
2229
+ side = (size > 0) ? 'long' : 'short';
2229
2230
  }
2230
2231
  const unrealizedPnl = this.safeNumber(entry, 'unrealizedPnl');
2231
2232
  const initialMargin = this.safeNumber(entry, 'marginUsed');
@@ -2239,20 +2240,20 @@ class hyperliquid extends hyperliquid$1 {
2239
2240
  'isolated': isIsolated,
2240
2241
  'hedged': undefined,
2241
2242
  'side': side,
2242
- 'contracts': this.safeNumber(entry, 'szi'),
2243
+ 'contracts': size,
2243
2244
  'contractSize': undefined,
2244
2245
  'entryPrice': this.safeNumber(entry, 'entryPx'),
2245
2246
  'markPrice': undefined,
2246
2247
  'notional': this.safeNumber(entry, 'positionValue'),
2247
2248
  'leverage': this.safeNumber(leverage, 'value'),
2248
- 'collateral': undefined,
2249
+ 'collateral': this.safeNumber(entry, 'marginUsed'),
2249
2250
  'initialMargin': initialMargin,
2250
2251
  'maintenanceMargin': undefined,
2251
2252
  'initialMarginPercentage': undefined,
2252
2253
  'maintenanceMarginPercentage': undefined,
2253
2254
  'unrealizedPnl': unrealizedPnl,
2254
2255
  'liquidationPrice': this.safeNumber(entry, 'liquidationPx'),
2255
- 'marginMode': undefined,
2256
+ 'marginMode': marginMode,
2256
2257
  'percentage': percentage,
2257
2258
  });
2258
2259
  }
@@ -1809,9 +1809,9 @@ class idex extends idex$1 {
1809
1809
  return {
1810
1810
  'info': depositAddress,
1811
1811
  'currency': undefined,
1812
+ 'network': 'MATIC',
1812
1813
  'address': address,
1813
1814
  'tag': undefined,
1814
- 'network': 'MATIC',
1815
1815
  };
1816
1816
  }
1817
1817
  sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
@@ -801,9 +801,9 @@ class independentreserve extends independentreserve$1 {
801
801
  return {
802
802
  'info': depositAddress,
803
803
  'currency': this.safeString(currency, 'code'),
804
+ 'network': undefined,
804
805
  'address': address,
805
806
  'tag': this.safeString(depositAddress, 'Tag'),
806
- 'network': undefined,
807
807
  };
808
808
  }
809
809
  async withdraw(code, amount, address, tag = undefined, params = {}) {
@@ -1284,8 +1284,8 @@ class indodax extends indodax$1 {
1284
1284
  result[code] = {
1285
1285
  'info': {},
1286
1286
  'currency': code,
1287
- 'address': address,
1288
1287
  'network': network,
1288
+ 'address': address,
1289
1289
  'tag': undefined,
1290
1290
  };
1291
1291
  }
@@ -59,6 +59,8 @@ class kraken extends kraken$1 {
59
59
  'fetchCrossBorrowRates': false,
60
60
  'fetchCurrencies': true,
61
61
  'fetchDepositAddress': true,
62
+ 'fetchDepositAddresses': false,
63
+ 'fetchDepositAddressesByNetwork': false,
62
64
  'fetchDeposits': true,
63
65
  'fetchFundingHistory': false,
64
66
  'fetchFundingRate': false,
@@ -2883,11 +2885,11 @@ class kraken extends kraken$1 {
2883
2885
  const code = currency['code'];
2884
2886
  this.checkAddress(address);
2885
2887
  return {
2888
+ 'info': depositAddress,
2886
2889
  'currency': code,
2890
+ 'network': undefined,
2887
2891
  'address': address,
2888
2892
  'tag': tag,
2889
- 'network': undefined,
2890
- 'info': depositAddress,
2891
2893
  };
2892
2894
  }
2893
2895
  async withdraw(code, amount, address, tag = undefined, params = {}) {
@@ -59,6 +59,7 @@ class kucoin extends kucoin$1 {
59
59
  'fetchCrossBorrowRates': false,
60
60
  'fetchCurrencies': true,
61
61
  'fetchDepositAddress': true,
62
+ 'fetchDepositAddresses': false,
62
63
  'fetchDepositAddressesByNetwork': true,
63
64
  'fetchDeposits': true,
64
65
  'fetchDepositWithdrawFee': true,
@@ -1980,9 +1981,9 @@ class kucoin extends kucoin$1 {
1980
1981
  return {
1981
1982
  'info': depositAddress,
1982
1983
  'currency': code,
1984
+ 'network': this.networkIdToCode(this.safeString(depositAddress, 'chain')),
1983
1985
  'address': address,
1984
1986
  'tag': this.safeString(depositAddress, 'memo'),
1985
- 'network': this.networkIdToCode(this.safeString(depositAddress, 'chain')),
1986
1987
  };
1987
1988
  }
1988
1989
  async fetchDepositAddressesByNetwork(code, params = {}) {
@@ -56,6 +56,8 @@ class kucoinfutures extends kucoinfutures$1 {
56
56
  'fetchCrossBorrowRates': false,
57
57
  'fetchCurrencies': false,
58
58
  'fetchDepositAddress': true,
59
+ 'fetchDepositAddresses': false,
60
+ 'fetchDepositAddressesByNetwork': false,
59
61
  'fetchDeposits': true,
60
62
  'fetchDepositWithdrawFee': false,
61
63
  'fetchDepositWithdrawFees': false,
@@ -681,9 +683,9 @@ class kucoinfutures extends kucoinfutures$1 {
681
683
  return {
682
684
  'info': response,
683
685
  'currency': currencyId,
686
+ 'network': this.safeString(data, 'chain'),
684
687
  'address': address,
685
688
  'tag': this.safeString(data, 'memo'),
686
- 'network': this.safeString(data, 'chain'),
687
689
  };
688
690
  }
689
691
  async fetchOrderBook(symbol, limit = undefined, params = {}) {
@@ -51,6 +51,8 @@ class kuna extends kuna$1 {
51
51
  'fetchCurrencies': true,
52
52
  'fetchDeposit': true,
53
53
  'fetchDepositAddress': true,
54
+ 'fetchDepositAddresses': false,
55
+ 'fetchDepositAddressesByNetwork': false,
54
56
  'fetchDeposits': true,
55
57
  'fetchDepositsWithdrawals': false,
56
58
  'fetchFundingHistory': false,
@@ -457,15 +459,6 @@ class kuna extends kuna$1 {
457
459
  const data = this.safeValue(response, 'data', []);
458
460
  return this.parseCurrencies(data);
459
461
  }
460
- parseCurrencies(currencies, params = {}) {
461
- currencies = this.toArray(currencies);
462
- const result = {};
463
- for (let i = 0; i < currencies.length; i++) {
464
- const currency = this.parseCurrency(currencies[i]);
465
- result[currency['code']] = currency;
466
- }
467
- return result;
468
- }
469
462
  parseCurrency(currency) {
470
463
  //
471
464
  // {
@@ -490,7 +483,7 @@ class kuna extends kuna$1 {
490
483
  const currencyId = this.safeString(currency, 'code');
491
484
  const precision = this.safeString(currency, 'precision');
492
485
  const tradePrecision = this.safeString(currency, 'tradePrecision');
493
- return {
486
+ return this.safeCurrencyStructure({
494
487
  'info': currency,
495
488
  'id': currencyId,
496
489
  'code': this.safeCurrencyCode(currencyId),
@@ -501,7 +494,7 @@ class kuna extends kuna$1 {
501
494
  'deposit': undefined,
502
495
  'withdraw': undefined,
503
496
  'fee': undefined,
504
- 'precision': Precise["default"].stringMin(precision, tradePrecision),
497
+ 'precision': this.parseNumber(Precise["default"].stringMin(precision, tradePrecision)),
505
498
  'limits': {
506
499
  'amount': {
507
500
  'min': undefined,
@@ -513,7 +506,7 @@ class kuna extends kuna$1 {
513
506
  },
514
507
  },
515
508
  'networks': {},
516
- };
509
+ });
517
510
  }
518
511
  async fetchMarkets(params = {}) {
519
512
  /**