ccxt 4.5.57 → 4.5.58

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 (987) hide show
  1. package/README.md +5 -8
  2. package/dist/ccxt.browser.min.js +35 -15
  3. package/dist/cjs/ccxt.js +1 -12
  4. package/dist/cjs/src/abstract/aftermath.js +1 -1
  5. package/dist/cjs/src/abstract/alpaca.js +1 -1
  6. package/dist/cjs/src/abstract/apex.js +1 -1
  7. package/dist/cjs/src/abstract/ascendex.js +1 -1
  8. package/dist/cjs/src/abstract/aster.js +1 -1
  9. package/dist/cjs/src/abstract/backpack.js +1 -1
  10. package/dist/cjs/src/abstract/bigone.js +1 -1
  11. package/dist/cjs/src/abstract/binance.js +1 -1
  12. package/dist/cjs/src/abstract/bingx.js +1 -1
  13. package/dist/cjs/src/abstract/bit2c.js +1 -1
  14. package/dist/cjs/src/abstract/bitbank.js +1 -1
  15. package/dist/cjs/src/abstract/bitbns.js +1 -1
  16. package/dist/cjs/src/abstract/bitfinex.js +1 -1
  17. package/dist/cjs/src/abstract/bitflyer.js +1 -1
  18. package/dist/cjs/src/abstract/bitget.js +1 -1
  19. package/dist/cjs/src/abstract/bithumb.js +1 -1
  20. package/dist/cjs/src/abstract/bitmart.js +1 -1
  21. package/dist/cjs/src/abstract/bitmex.js +1 -1
  22. package/dist/cjs/src/abstract/bitopro.js +1 -1
  23. package/dist/cjs/src/abstract/bitrue.js +1 -1
  24. package/dist/cjs/src/abstract/bitso.js +1 -1
  25. package/dist/cjs/src/abstract/bitstamp.js +1 -1
  26. package/dist/cjs/src/abstract/bitteam.js +1 -1
  27. package/dist/cjs/src/abstract/bittrade.js +1 -1
  28. package/dist/cjs/src/abstract/bitvavo.js +1 -1
  29. package/dist/cjs/src/abstract/blockchaincom.js +1 -1
  30. package/dist/cjs/src/abstract/blofin.js +1 -1
  31. package/dist/cjs/src/abstract/btcbox.js +1 -1
  32. package/dist/cjs/src/abstract/btcmarkets.js +1 -1
  33. package/dist/cjs/src/abstract/btcturk.js +1 -1
  34. package/dist/cjs/src/abstract/bullish.js +1 -1
  35. package/dist/cjs/src/abstract/bybit.js +1 -1
  36. package/dist/cjs/src/abstract/bydfi.js +1 -1
  37. package/dist/cjs/src/abstract/cex.js +1 -1
  38. package/dist/cjs/src/abstract/coinbase.js +1 -1
  39. package/dist/cjs/src/abstract/coinbaseexchange.js +1 -1
  40. package/dist/cjs/src/abstract/coinbaseinternational.js +1 -1
  41. package/dist/cjs/src/abstract/coincheck.js +1 -1
  42. package/dist/cjs/src/abstract/coinex.js +1 -1
  43. package/dist/cjs/src/abstract/coinmate.js +1 -1
  44. package/dist/cjs/src/abstract/coinmetro.js +1 -1
  45. package/dist/cjs/src/abstract/coinone.js +1 -1
  46. package/dist/cjs/src/abstract/coinsph.js +1 -1
  47. package/dist/cjs/src/abstract/coinspot.js +1 -1
  48. package/dist/cjs/src/abstract/cryptocom.js +1 -1
  49. package/dist/cjs/src/abstract/cryptomus.js +1 -1
  50. package/dist/cjs/src/abstract/deepcoin.js +1 -1
  51. package/dist/cjs/src/abstract/delta.js +1 -1
  52. package/dist/cjs/src/abstract/deribit.js +1 -1
  53. package/dist/cjs/src/abstract/derive.js +1 -1
  54. package/dist/cjs/src/abstract/digifinex.js +1 -1
  55. package/dist/cjs/src/abstract/dydx.js +1 -1
  56. package/dist/cjs/src/abstract/exmo.js +1 -1
  57. package/dist/cjs/src/abstract/extended.js +1 -1
  58. package/dist/cjs/src/abstract/foxbit.js +1 -1
  59. package/dist/cjs/src/abstract/gate.js +1 -1
  60. package/dist/cjs/src/abstract/gemini.js +1 -1
  61. package/dist/cjs/src/abstract/grvt.js +1 -1
  62. package/dist/cjs/src/abstract/hashkey.js +1 -1
  63. package/dist/cjs/src/abstract/hibachi.js +1 -1
  64. package/dist/cjs/src/abstract/hitbtc.js +1 -1
  65. package/dist/cjs/src/abstract/hollaex.js +1 -1
  66. package/dist/cjs/src/abstract/htx.js +1 -1
  67. package/dist/cjs/src/abstract/hyperliquid.js +1 -1
  68. package/dist/cjs/src/abstract/independentreserve.js +1 -1
  69. package/dist/cjs/src/abstract/indodax.js +1 -1
  70. package/dist/cjs/src/abstract/kraken.js +1 -1
  71. package/dist/cjs/src/abstract/krakenfutures.js +1 -1
  72. package/dist/cjs/src/abstract/kucoin.js +1 -1
  73. package/dist/cjs/src/abstract/latoken.js +1 -1
  74. package/dist/cjs/src/abstract/lbank.js +1 -1
  75. package/dist/cjs/src/abstract/lighter.js +1 -1
  76. package/dist/cjs/src/abstract/luno.js +1 -1
  77. package/dist/cjs/src/abstract/mercado.js +1 -1
  78. package/dist/cjs/src/abstract/mexc.js +1 -1
  79. package/dist/cjs/src/abstract/modetrade.js +1 -1
  80. package/dist/cjs/src/abstract/ndax.js +1 -1
  81. package/dist/cjs/src/abstract/novadax.js +1 -1
  82. package/dist/cjs/src/abstract/okx.js +1 -1
  83. package/dist/cjs/src/abstract/onetrading.js +1 -1
  84. package/dist/cjs/src/abstract/p2b.js +1 -1
  85. package/dist/cjs/src/abstract/pacifica.js +1 -1
  86. package/dist/cjs/src/abstract/paradex.js +1 -1
  87. package/dist/cjs/src/abstract/paymium.js +1 -1
  88. package/dist/cjs/src/abstract/phemex.js +1 -1
  89. package/dist/cjs/src/abstract/poloniex.js +1 -1
  90. package/dist/cjs/src/abstract/tokocrypto.js +1 -1
  91. package/dist/cjs/src/abstract/toobit.js +1 -1
  92. package/dist/cjs/src/abstract/upbit.js +1 -1
  93. package/dist/cjs/src/abstract/weex.js +1 -1
  94. package/dist/cjs/src/abstract/whitebit.js +1 -1
  95. package/dist/cjs/src/abstract/woo.js +1 -1
  96. package/dist/cjs/src/abstract/woofipro.js +1 -1
  97. package/dist/cjs/src/abstract/xt.js +1 -1
  98. package/dist/cjs/src/abstract/zaif.js +1 -1
  99. package/dist/cjs/src/abstract/zebpay.js +1 -1
  100. package/dist/cjs/src/aftermath.js +1 -0
  101. package/dist/cjs/src/alpaca.js +1 -1
  102. package/dist/cjs/src/apex.js +1 -1
  103. package/dist/cjs/src/ascendex.js +1 -1
  104. package/dist/cjs/src/aster.js +1 -1
  105. package/dist/cjs/src/backpack.js +11 -3
  106. package/dist/cjs/src/base/Precise.js +7 -7
  107. package/dist/cjs/src/base/errors.js +6 -0
  108. package/dist/cjs/src/base/functions/crypto.js +1 -1
  109. package/dist/cjs/src/base/functions/encode.js +1 -1
  110. package/dist/cjs/src/base/functions/io.js +1 -1
  111. package/dist/cjs/src/base/functions/misc.js +1 -0
  112. package/dist/cjs/src/base/functions/number.js +6 -0
  113. package/dist/cjs/src/base/functions/platform.js +6 -0
  114. package/dist/cjs/src/base/functions/rsa.js +1 -0
  115. package/dist/cjs/src/base/functions/string.js +6 -0
  116. package/dist/cjs/src/base/functions/throttle.js +1 -1
  117. package/dist/cjs/src/base/functions/time.js +6 -0
  118. package/dist/cjs/src/base/functions/totp.js +1 -0
  119. package/dist/cjs/src/base/functions/type.js +6 -0
  120. package/dist/cjs/src/base/functions.js +1 -1
  121. package/dist/cjs/src/base/ws/Cache.js +6 -0
  122. package/dist/cjs/src/base/ws/Client.js +1 -0
  123. package/dist/cjs/src/base/ws/Future.js +3 -7
  124. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  125. package/dist/cjs/src/base/ws/OrderBookSide.js +6 -0
  126. package/dist/cjs/src/base/ws/WsClient.js +5 -1
  127. package/dist/cjs/src/bequant.js +1 -1
  128. package/dist/cjs/src/bigone.js +1 -1
  129. package/dist/cjs/src/binance.js +1 -1
  130. package/dist/cjs/src/binancecoinm.js +1 -1
  131. package/dist/cjs/src/binanceus.js +1 -1
  132. package/dist/cjs/src/binanceusdm.js +1 -1
  133. package/dist/cjs/src/bingx.js +1 -1
  134. package/dist/cjs/src/bit2c.js +1 -1
  135. package/dist/cjs/src/bitbank.js +1 -1
  136. package/dist/cjs/src/bitbns.js +1 -1
  137. package/dist/cjs/src/bitfinex.js +1 -1
  138. package/dist/cjs/src/bitflyer.js +1 -1
  139. package/dist/cjs/src/bitget.js +1 -1
  140. package/dist/cjs/src/bithumb.js +1 -1
  141. package/dist/cjs/src/bitmart.js +1 -1
  142. package/dist/cjs/src/bitmex.js +1 -1
  143. package/dist/cjs/src/bitopro.js +1 -1
  144. package/dist/cjs/src/bitrue.js +1 -1
  145. package/dist/cjs/src/bitso.js +1 -1
  146. package/dist/cjs/src/bitstamp.js +1 -1
  147. package/dist/cjs/src/bitteam.js +1 -1
  148. package/dist/cjs/src/bittrade.js +1 -1
  149. package/dist/cjs/src/blockchaincom.js +1 -1
  150. package/dist/cjs/src/blofin.js +1 -1
  151. package/dist/cjs/src/btcbox.js +2 -2
  152. package/dist/cjs/src/btcmarkets.js +1 -1
  153. package/dist/cjs/src/btcturk.js +1 -1
  154. package/dist/cjs/src/bullish.js +1 -1
  155. package/dist/cjs/src/bybit.js +1 -1
  156. package/dist/cjs/src/bybiteu.js +1 -1
  157. package/dist/cjs/src/bydfi.js +1 -1
  158. package/dist/cjs/src/cex.js +1 -1
  159. package/dist/cjs/src/coinbaseadvanced.js +1 -1
  160. package/dist/cjs/src/coincheck.js +1 -1
  161. package/dist/cjs/src/coinex.js +1 -1
  162. package/dist/cjs/src/coinmate.js +1 -1
  163. package/dist/cjs/src/coinmetro.js +1 -1
  164. package/dist/cjs/src/coinone.js +1 -1
  165. package/dist/cjs/src/coinsph.js +1 -0
  166. package/dist/cjs/src/coinspot.js +1 -1
  167. package/dist/cjs/src/cryptocom.js +2 -2
  168. package/dist/cjs/src/cryptomus.js +1 -1
  169. package/dist/cjs/src/deepcoin.js +2 -2
  170. package/dist/cjs/src/delta.js +1 -1
  171. package/dist/cjs/src/deribit.js +1 -1
  172. package/dist/cjs/src/derive.js +1 -1
  173. package/dist/cjs/src/digifinex.js +1 -1
  174. package/dist/cjs/src/dydx.js +1 -1
  175. package/dist/cjs/src/exmo.js +1 -1
  176. package/dist/cjs/src/extended.js +1 -1
  177. package/dist/cjs/src/fmfwio.js +1 -1
  178. package/dist/cjs/src/foxbit.js +1 -1
  179. package/dist/cjs/src/gate.js +1 -1
  180. package/dist/cjs/src/gemini.js +1 -1
  181. package/dist/cjs/src/grvt.js +1 -1
  182. package/dist/cjs/src/hashkey.js +1 -1
  183. package/dist/cjs/src/hibachi.js +1 -1
  184. package/dist/cjs/src/hitbtc.js +1 -0
  185. package/dist/cjs/src/hollaex.js +1 -1
  186. package/dist/cjs/src/htx.js +1 -1
  187. package/dist/cjs/src/huobi.js +1 -1
  188. package/dist/cjs/src/hyperliquid.js +1 -1
  189. package/dist/cjs/src/independentreserve.js +1 -1
  190. package/dist/cjs/src/indodax.js +1 -1
  191. package/dist/cjs/src/kraken.js +1 -1
  192. package/dist/cjs/src/krakenfutures.js +1 -1
  193. package/dist/cjs/src/kucoin.js +1 -1
  194. package/dist/cjs/src/kucoinfutures.js +1 -1
  195. package/dist/cjs/src/latoken.js +1 -1
  196. package/dist/cjs/src/lbank.js +1 -1
  197. package/dist/cjs/src/lighter.js +7 -5
  198. package/dist/cjs/src/luno.js +1 -1
  199. package/dist/cjs/src/mercado.js +1 -1
  200. package/dist/cjs/src/mexc.js +1 -1
  201. package/dist/cjs/src/modetrade.js +1 -1
  202. package/dist/cjs/src/myokx.js +1 -1
  203. package/dist/cjs/src/ndax.js +1 -1
  204. package/dist/cjs/src/novadax.js +1 -1
  205. package/dist/cjs/src/okx.js +1 -1
  206. package/dist/cjs/src/okxus.js +1 -1
  207. package/dist/cjs/src/onetrading.js +1 -1
  208. package/dist/cjs/src/p2b.js +1 -1
  209. package/dist/cjs/src/pacifica.js +1 -1
  210. package/dist/cjs/src/paradex.js +1 -1
  211. package/dist/cjs/src/paymium.js +1 -1
  212. package/dist/cjs/src/poloniex.js +1 -1
  213. package/dist/cjs/src/pro/alpaca.js +1 -1
  214. package/dist/cjs/src/pro/apex.js +1 -1
  215. package/dist/cjs/src/pro/ascendex.js +1 -1
  216. package/dist/cjs/src/pro/aster.js +1 -1
  217. package/dist/cjs/src/pro/backpack.js +1 -1
  218. package/dist/cjs/src/pro/bequant.js +1 -1
  219. package/dist/cjs/src/pro/binancecoinm.js +1 -1
  220. package/dist/cjs/src/pro/binanceus.js +1 -1
  221. package/dist/cjs/src/pro/binanceusdm.js +1 -1
  222. package/dist/cjs/src/pro/bingx.js +1 -1
  223. package/dist/cjs/src/pro/bitfinex.js +1 -1
  224. package/dist/cjs/src/pro/bitget.js +1 -1
  225. package/dist/cjs/src/pro/bithumb.js +1 -1
  226. package/dist/cjs/src/pro/bitmart.js +1 -1
  227. package/dist/cjs/src/pro/bitmex.js +1 -1
  228. package/dist/cjs/src/pro/bitrue.js +1 -1
  229. package/dist/cjs/src/pro/bitstamp.js +1 -1
  230. package/dist/cjs/src/pro/bittrade.js +1 -1
  231. package/dist/cjs/src/pro/bitvavo.js +1 -1
  232. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  233. package/dist/cjs/src/pro/blofin.js +1 -1
  234. package/dist/cjs/src/pro/bullish.js +1 -1
  235. package/dist/cjs/src/pro/bybit.js +1 -1
  236. package/dist/cjs/src/pro/bybiteu.js +1 -1
  237. package/dist/cjs/src/pro/bydfi.js +1 -1
  238. package/dist/cjs/src/pro/cex.js +1 -1
  239. package/dist/cjs/src/pro/coinbase.js +1 -1
  240. package/dist/cjs/src/pro/coinbaseadvanced.js +1 -1
  241. package/dist/cjs/src/pro/coinbaseexchange.js +1 -1
  242. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  243. package/dist/cjs/src/pro/coincheck.js +1 -1
  244. package/dist/cjs/src/pro/coinex.js +1 -1
  245. package/dist/cjs/src/pro/coinone.js +1 -1
  246. package/dist/cjs/src/pro/cryptocom.js +1 -1
  247. package/dist/cjs/src/pro/deepcoin.js +1 -1
  248. package/dist/cjs/src/pro/deribit.js +1 -1
  249. package/dist/cjs/src/pro/dydx.js +1 -1
  250. package/dist/cjs/src/pro/exmo.js +1 -1
  251. package/dist/cjs/src/pro/gate.js +1 -1
  252. package/dist/cjs/src/pro/gemini.js +1 -1
  253. package/dist/cjs/src/pro/grvt.js +1 -1
  254. package/dist/cjs/src/pro/hashkey.js +8 -7
  255. package/dist/cjs/src/pro/hitbtc.js +1 -1
  256. package/dist/cjs/src/pro/hollaex.js +2 -2
  257. package/dist/cjs/src/pro/htx.js +1 -1
  258. package/dist/cjs/src/pro/huobi.js +1 -1
  259. package/dist/cjs/src/pro/hyperliquid.js +1 -1
  260. package/dist/cjs/src/pro/independentreserve.js +1 -1
  261. package/dist/cjs/src/pro/kraken.js +1 -1
  262. package/dist/cjs/src/pro/krakenfutures.js +1 -1
  263. package/dist/cjs/src/pro/kucoin.js +1 -1
  264. package/dist/cjs/src/pro/kucoinfutures.js +1 -1
  265. package/dist/cjs/src/pro/lbank.js +1 -0
  266. package/dist/cjs/src/pro/lighter.js +1 -1
  267. package/dist/cjs/src/pro/luno.js +1 -1
  268. package/dist/cjs/src/pro/mexc.js +1 -1
  269. package/dist/cjs/src/pro/myokx.js +1 -1
  270. package/dist/cjs/src/pro/ndax.js +1 -1
  271. package/dist/cjs/src/pro/okx.js +1 -1
  272. package/dist/cjs/src/pro/okxus.js +1 -1
  273. package/dist/cjs/src/pro/onetrading.js +1 -1
  274. package/dist/cjs/src/pro/p2b.js +1 -1
  275. package/dist/cjs/src/pro/pacifica.js +1 -1
  276. package/dist/cjs/src/pro/paradex.js +1 -1
  277. package/dist/cjs/src/pro/phemex.js +1 -1
  278. package/dist/cjs/src/pro/poloniex.js +1 -1
  279. package/dist/cjs/src/pro/toobit.js +1 -1
  280. package/dist/cjs/src/pro/upbit.js +1 -1
  281. package/dist/cjs/src/pro/weex.js +1 -1
  282. package/dist/cjs/src/pro/whitebit.js +2 -2
  283. package/dist/cjs/src/pro/xt.js +1 -1
  284. package/dist/cjs/src/protobuf/mexc/compiled.cjs.js +0 -1
  285. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +1 -0
  286. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +1 -0
  287. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +1 -0
  288. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +1 -0
  289. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +1 -0
  290. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +1 -0
  291. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +1 -0
  292. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +1 -0
  293. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +1 -0
  294. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +1 -0
  295. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +1 -0
  296. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +1 -0
  297. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +1 -0
  298. package/dist/cjs/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +1 -0
  299. package/dist/cjs/src/static_dependencies/dydx-v4-client/helpers.js +6 -0
  300. package/dist/cjs/src/static_dependencies/dydx-v4-client/onboarding.js +1 -0
  301. package/dist/cjs/src/static_dependencies/dydx-v4-client/registry.js +1 -0
  302. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +6 -0
  303. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  304. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +6 -0
  305. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +1 -0
  306. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +1 -0
  307. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +1 -0
  308. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +1 -0
  309. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +1 -0
  310. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +1 -0
  311. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +1 -0
  312. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +1 -0
  313. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +1 -0
  314. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +1 -0
  315. package/dist/cjs/src/static_dependencies/ethers/fragments.js +6 -0
  316. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +6 -0
  317. package/dist/cjs/src/static_dependencies/ethers/index.js +1 -10
  318. package/dist/cjs/src/static_dependencies/ethers/interface.js +6 -0
  319. package/dist/cjs/src/static_dependencies/ethers/typed.js +6 -0
  320. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +1 -13
  321. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +1 -6
  322. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +1 -9
  323. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +6 -0
  324. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +6 -0
  325. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +1 -7
  326. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +1 -5
  327. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +6 -0
  328. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +1 -8
  329. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  330. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +1 -0
  331. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +1 -0
  332. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  333. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  334. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  335. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  336. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +1 -0
  337. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  338. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  339. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  340. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  341. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  342. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  343. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  344. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +6 -0
  345. package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
  346. package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
  347. package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
  348. package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +1 -0
  349. package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
  350. package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
  351. package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
  352. package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
  353. package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
  354. package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
  355. package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
  356. package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
  357. package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +6 -0
  358. package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +1 -0
  359. package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +6 -0
  360. package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +6 -0
  361. package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +1 -0
  362. package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +1 -0
  363. package/dist/cjs/src/static_dependencies/noble-hashes/pbkdf2.js +1 -0
  364. package/dist/cjs/src/static_dependencies/noble-hashes/ripemd160.js +1 -0
  365. package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +1 -0
  366. package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +1 -0
  367. package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +1 -0
  368. package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +1 -0
  369. package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
  370. package/dist/cjs/src/static_dependencies/node-fetch/body.js +1 -5
  371. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +1 -0
  372. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +6 -0
  373. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +1 -0
  374. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +1 -5
  375. package/dist/cjs/src/static_dependencies/node-fetch/index.js +1 -7
  376. package/dist/cjs/src/static_dependencies/node-fetch/request.js +1 -7
  377. package/dist/cjs/src/static_dependencies/node-fetch/response.js +1 -5
  378. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  379. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  380. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +6 -0
  381. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +1 -0
  382. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +1 -0
  383. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +1 -0
  384. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +1 -0
  385. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  386. package/dist/cjs/src/static_dependencies/qs/formats.js +6 -0
  387. package/dist/cjs/src/static_dependencies/qs/index.js +1 -0
  388. package/dist/cjs/src/static_dependencies/qs/parse.js +1 -0
  389. package/dist/cjs/src/static_dependencies/qs/stringify.js +1 -0
  390. package/dist/cjs/src/static_dependencies/qs/utils.js +6 -0
  391. package/dist/cjs/src/static_dependencies/scure-base/index.js +6 -0
  392. package/dist/cjs/src/static_dependencies/scure-bip32/index.js +1 -19
  393. package/dist/cjs/src/static_dependencies/scure-bip39/index.js +1 -1
  394. package/dist/cjs/src/static_dependencies/scure-bip39/wordlists/english.js +6 -0
  395. package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
  396. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  397. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +6 -0
  398. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  399. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  400. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +6 -0
  401. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +6 -0
  402. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +6 -0
  403. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  404. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  405. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  406. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +1 -0
  407. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +1 -0
  408. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  409. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  410. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  411. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +1 -0
  412. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  413. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +1 -0
  414. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +1 -0
  415. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  416. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +1 -0
  417. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +1 -0
  418. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +1 -0
  419. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  420. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +1 -4
  421. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +1 -0
  422. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +1 -3
  423. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +1 -0
  424. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +1 -0
  425. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +1 -0
  426. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +1 -0
  427. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  428. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +6 -0
  429. package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +6 -0
  430. package/dist/cjs/src/tokocrypto.js +1 -1
  431. package/dist/cjs/src/toobit.js +1 -1
  432. package/dist/cjs/src/upbit.js +1 -1
  433. package/dist/cjs/src/weex.js +8 -1
  434. package/dist/cjs/src/whitebit.js +1 -1
  435. package/dist/cjs/src/woo.js +1 -1
  436. package/dist/cjs/src/woofipro.js +1 -1
  437. package/dist/cjs/src/xt.js +1 -2
  438. package/dist/cjs/src/zaif.js +1 -1
  439. package/dist/cjs/src/zebpay.js +1 -1
  440. package/js/ccxt.d.ts +2 -14
  441. package/js/ccxt.js +8 -10
  442. package/js/src/abstract/aftermath.js +6 -0
  443. package/js/src/abstract/alpaca.js +6 -0
  444. package/js/src/abstract/apex.js +6 -0
  445. package/js/src/abstract/ascendex.js +6 -0
  446. package/js/src/abstract/aster.js +6 -0
  447. package/js/src/abstract/backpack.js +6 -0
  448. package/js/src/abstract/bequant.js +6 -0
  449. package/js/src/abstract/bigone.js +6 -0
  450. package/js/src/abstract/binance.js +6 -0
  451. package/js/src/abstract/binancecoinm.js +6 -0
  452. package/js/src/abstract/binanceus.js +6 -0
  453. package/js/src/abstract/binanceusdm.js +6 -0
  454. package/js/src/abstract/bingx.js +6 -0
  455. package/js/src/abstract/bit2c.js +6 -0
  456. package/js/src/abstract/bitbank.js +6 -0
  457. package/js/src/abstract/bitbns.js +6 -0
  458. package/js/src/abstract/bitfinex.js +6 -0
  459. package/js/src/abstract/bitflyer.js +6 -0
  460. package/js/src/abstract/bitget.js +6 -0
  461. package/js/src/abstract/bithumb.js +6 -0
  462. package/js/src/abstract/bitmart.js +6 -0
  463. package/js/src/abstract/bitmex.js +6 -0
  464. package/js/src/abstract/bitopro.js +6 -0
  465. package/js/src/abstract/bitrue.js +6 -0
  466. package/js/src/abstract/bitso.js +6 -0
  467. package/js/src/abstract/bitstamp.js +6 -0
  468. package/js/src/abstract/bitteam.js +6 -0
  469. package/js/src/abstract/bittrade.js +6 -0
  470. package/js/src/abstract/bitvavo.js +6 -0
  471. package/js/src/abstract/blockchaincom.js +6 -0
  472. package/js/src/abstract/blofin.js +6 -0
  473. package/js/src/abstract/btcbox.js +6 -0
  474. package/js/src/abstract/btcmarkets.js +6 -0
  475. package/js/src/abstract/btcturk.js +6 -0
  476. package/js/src/abstract/bullish.js +6 -0
  477. package/js/src/abstract/bybit.js +6 -0
  478. package/js/src/abstract/bybiteu.js +6 -0
  479. package/js/src/abstract/bydfi.js +6 -0
  480. package/js/src/abstract/cex.js +6 -0
  481. package/js/src/abstract/coinbase.js +6 -0
  482. package/js/src/abstract/coinbaseadvanced.js +6 -0
  483. package/js/src/abstract/coinbaseexchange.js +6 -0
  484. package/js/src/abstract/coinbaseinternational.js +6 -0
  485. package/js/src/abstract/coincheck.js +6 -0
  486. package/js/src/abstract/coinex.js +6 -0
  487. package/js/src/abstract/coinmate.js +6 -0
  488. package/js/src/abstract/coinmetro.js +6 -0
  489. package/js/src/abstract/coinone.js +6 -0
  490. package/js/src/abstract/coinsph.js +6 -0
  491. package/js/src/abstract/coinspot.js +6 -0
  492. package/js/src/abstract/cryptocom.js +6 -0
  493. package/js/src/abstract/cryptomus.js +6 -0
  494. package/js/src/abstract/deepcoin.js +6 -0
  495. package/js/src/abstract/delta.js +6 -0
  496. package/js/src/abstract/deribit.js +6 -0
  497. package/js/src/abstract/derive.js +6 -0
  498. package/js/src/abstract/digifinex.js +6 -0
  499. package/js/src/abstract/dydx.js +6 -0
  500. package/js/src/abstract/exmo.js +6 -0
  501. package/js/src/abstract/extended.js +6 -0
  502. package/js/src/abstract/fmfwio.js +6 -0
  503. package/js/src/abstract/foxbit.js +6 -0
  504. package/js/src/abstract/gate.js +6 -0
  505. package/js/src/abstract/gemini.js +6 -0
  506. package/js/src/abstract/grvt.js +6 -0
  507. package/js/src/abstract/hashkey.js +6 -0
  508. package/js/src/abstract/hibachi.js +6 -0
  509. package/js/src/abstract/hitbtc.js +6 -0
  510. package/js/src/abstract/hollaex.js +6 -0
  511. package/js/src/abstract/htx.js +6 -0
  512. package/js/src/abstract/huobi.js +6 -0
  513. package/js/src/abstract/hyperliquid.js +6 -0
  514. package/js/src/abstract/independentreserve.js +6 -0
  515. package/js/src/abstract/indodax.js +6 -0
  516. package/js/src/abstract/kraken.js +6 -0
  517. package/js/src/abstract/krakenfutures.js +6 -0
  518. package/js/src/abstract/kucoin.js +6 -0
  519. package/js/src/abstract/kucoinfutures.js +6 -0
  520. package/js/src/abstract/latoken.js +6 -0
  521. package/js/src/abstract/lbank.js +6 -0
  522. package/js/src/abstract/lighter.js +6 -0
  523. package/js/src/abstract/luno.js +6 -0
  524. package/js/src/abstract/mercado.js +6 -0
  525. package/js/src/abstract/mexc.js +6 -0
  526. package/js/src/abstract/modetrade.js +6 -0
  527. package/js/src/abstract/myokx.js +6 -0
  528. package/js/src/abstract/ndax.js +6 -0
  529. package/js/src/abstract/novadax.js +6 -0
  530. package/js/src/abstract/okx.js +6 -0
  531. package/js/src/abstract/okxus.js +6 -0
  532. package/js/src/abstract/onetrading.js +6 -0
  533. package/js/src/abstract/p2b.js +6 -0
  534. package/js/src/abstract/pacifica.js +6 -0
  535. package/js/src/abstract/paradex.js +6 -0
  536. package/js/src/abstract/paymium.js +6 -0
  537. package/js/src/abstract/phemex.js +6 -0
  538. package/js/src/abstract/poloniex.js +6 -0
  539. package/js/src/abstract/tokocrypto.js +6 -0
  540. package/js/src/abstract/toobit.js +6 -0
  541. package/js/src/abstract/upbit.js +6 -0
  542. package/js/src/abstract/weex.js +6 -0
  543. package/js/src/abstract/whitebit.js +6 -0
  544. package/js/src/abstract/woo.js +6 -0
  545. package/js/src/abstract/woofipro.js +6 -0
  546. package/js/src/abstract/xt.js +6 -0
  547. package/js/src/abstract/zaif.js +6 -0
  548. package/js/src/abstract/zebpay.js +6 -0
  549. package/js/src/aftermath.js +6 -0
  550. package/js/src/alpaca.js +6 -0
  551. package/js/src/apex.js +6 -0
  552. package/js/src/ascendex.js +6 -0
  553. package/js/src/aster.js +6 -0
  554. package/js/src/backpack.js +16 -2
  555. package/js/src/base/Exchange.js +6 -0
  556. package/js/src/base/Precise.js +7 -7
  557. package/js/src/base/errorHierarchy.js +6 -0
  558. package/js/src/base/errors.js +6 -0
  559. package/js/src/base/functions/crypto.js +6 -0
  560. package/js/src/base/functions/encode.js +6 -0
  561. package/js/src/base/functions/generic.js +6 -0
  562. package/js/src/base/functions/io.js +6 -0
  563. package/js/src/base/functions/misc.js +6 -0
  564. package/js/src/base/functions/number.js +6 -0
  565. package/js/src/base/functions/platform.js +6 -0
  566. package/js/src/base/functions/rsa.js +6 -0
  567. package/js/src/base/functions/string.js +6 -0
  568. package/js/src/base/functions/throttle.js +6 -0
  569. package/js/src/base/functions/time.js +6 -0
  570. package/js/src/base/functions/totp.js +6 -0
  571. package/js/src/base/functions/type.js +6 -0
  572. package/js/src/base/functions.js +6 -0
  573. package/js/src/base/types.js +6 -0
  574. package/js/src/base/ws/Cache.js +6 -0
  575. package/js/src/base/ws/Client.js +6 -0
  576. package/js/src/base/ws/Future.js +8 -6
  577. package/js/src/base/ws/OrderBook.js +6 -0
  578. package/js/src/base/ws/OrderBookSide.js +6 -0
  579. package/js/src/base/ws/WsClient.js +10 -0
  580. package/js/src/base/ws/functions.js +6 -0
  581. package/js/src/bequant.js +6 -0
  582. package/js/src/bigone.js +6 -0
  583. package/js/src/binance.js +6 -0
  584. package/js/src/binancecoinm.js +6 -0
  585. package/js/src/binanceus.js +6 -0
  586. package/js/src/binanceusdm.js +6 -0
  587. package/js/src/bingx.js +6 -0
  588. package/js/src/bit2c.js +6 -0
  589. package/js/src/bitbank.js +6 -0
  590. package/js/src/bitbns.js +6 -0
  591. package/js/src/bitfinex.js +6 -0
  592. package/js/src/bitflyer.js +6 -0
  593. package/js/src/bitget.js +6 -0
  594. package/js/src/bithumb.js +6 -0
  595. package/js/src/bitmart.js +6 -0
  596. package/js/src/bitmex.js +6 -0
  597. package/js/src/bitopro.js +6 -0
  598. package/js/src/bitrue.js +6 -0
  599. package/js/src/bitso.js +6 -0
  600. package/js/src/bitstamp.js +6 -0
  601. package/js/src/bitteam.js +6 -0
  602. package/js/src/bittrade.js +6 -0
  603. package/js/src/bitvavo.js +6 -0
  604. package/js/src/blockchaincom.js +6 -0
  605. package/js/src/blofin.js +6 -0
  606. package/js/src/btcbox.js +7 -1
  607. package/js/src/btcmarkets.js +6 -0
  608. package/js/src/btcturk.js +6 -0
  609. package/js/src/bullish.js +6 -0
  610. package/js/src/bybit.js +6 -0
  611. package/js/src/bybiteu.js +6 -0
  612. package/js/src/bydfi.js +6 -0
  613. package/js/src/cex.js +6 -0
  614. package/js/src/coinbase.js +6 -0
  615. package/js/src/coinbaseadvanced.js +6 -0
  616. package/js/src/coinbaseexchange.js +6 -0
  617. package/js/src/coinbaseinternational.js +6 -0
  618. package/js/src/coincheck.js +6 -0
  619. package/js/src/coinex.js +6 -0
  620. package/js/src/coinmate.js +6 -0
  621. package/js/src/coinmetro.js +6 -0
  622. package/js/src/coinone.js +6 -0
  623. package/js/src/coinsph.js +6 -0
  624. package/js/src/coinspot.js +6 -0
  625. package/js/src/cryptocom.js +7 -1
  626. package/js/src/cryptomus.js +6 -0
  627. package/js/src/deepcoin.js +7 -1
  628. package/js/src/delta.js +6 -0
  629. package/js/src/deribit.js +6 -0
  630. package/js/src/derive.js +6 -0
  631. package/js/src/digifinex.js +6 -0
  632. package/js/src/dydx.js +6 -0
  633. package/js/src/exmo.js +6 -0
  634. package/js/src/extended.js +6 -0
  635. package/js/src/fmfwio.js +6 -0
  636. package/js/src/foxbit.js +6 -0
  637. package/js/src/gate.js +6 -0
  638. package/js/src/gemini.js +6 -0
  639. package/js/src/grvt.js +6 -0
  640. package/js/src/hashkey.js +6 -0
  641. package/js/src/hibachi.js +6 -0
  642. package/js/src/hitbtc.js +6 -0
  643. package/js/src/hollaex.js +6 -0
  644. package/js/src/htx.js +6 -0
  645. package/js/src/huobi.js +6 -0
  646. package/js/src/hyperliquid.js +6 -0
  647. package/js/src/independentreserve.js +6 -0
  648. package/js/src/indodax.js +6 -0
  649. package/js/src/kraken.js +6 -0
  650. package/js/src/krakenfutures.js +6 -0
  651. package/js/src/kucoin.js +6 -0
  652. package/js/src/kucoinfutures.js +6 -0
  653. package/js/src/latoken.js +6 -0
  654. package/js/src/lbank.js +6 -0
  655. package/js/src/lighter.js +12 -4
  656. package/js/src/luno.js +6 -0
  657. package/js/src/mercado.js +6 -0
  658. package/js/src/mexc.js +6 -0
  659. package/js/src/modetrade.js +6 -0
  660. package/js/src/myokx.js +6 -0
  661. package/js/src/ndax.js +6 -0
  662. package/js/src/novadax.js +6 -0
  663. package/js/src/okx.js +6 -0
  664. package/js/src/okxus.js +6 -0
  665. package/js/src/onetrading.js +6 -0
  666. package/js/src/p2b.js +6 -0
  667. package/js/src/pacifica.js +6 -0
  668. package/js/src/paradex.js +6 -0
  669. package/js/src/paymium.js +6 -0
  670. package/js/src/phemex.js +6 -0
  671. package/js/src/poloniex.js +6 -0
  672. package/js/src/pro/aftermath.js +6 -0
  673. package/js/src/pro/alpaca.js +6 -0
  674. package/js/src/pro/apex.js +6 -0
  675. package/js/src/pro/ascendex.js +6 -0
  676. package/js/src/pro/aster.js +6 -0
  677. package/js/src/pro/backpack.js +6 -0
  678. package/js/src/pro/bequant.js +6 -0
  679. package/js/src/pro/binance.js +6 -0
  680. package/js/src/pro/binancecoinm.js +6 -0
  681. package/js/src/pro/binanceus.js +6 -0
  682. package/js/src/pro/binanceusdm.js +6 -0
  683. package/js/src/pro/bingx.js +6 -0
  684. package/js/src/pro/bitfinex.js +6 -0
  685. package/js/src/pro/bitget.js +6 -0
  686. package/js/src/pro/bithumb.js +6 -0
  687. package/js/src/pro/bitmart.js +6 -0
  688. package/js/src/pro/bitmex.js +6 -0
  689. package/js/src/pro/bitopro.js +6 -0
  690. package/js/src/pro/bitrue.js +6 -0
  691. package/js/src/pro/bitstamp.js +6 -0
  692. package/js/src/pro/bittrade.js +7 -1
  693. package/js/src/pro/bitvavo.js +6 -0
  694. package/js/src/pro/blockchaincom.js +6 -0
  695. package/js/src/pro/blofin.js +6 -0
  696. package/js/src/pro/bullish.js +6 -0
  697. package/js/src/pro/bybit.js +6 -0
  698. package/js/src/pro/bybiteu.js +6 -0
  699. package/js/src/pro/bydfi.js +6 -0
  700. package/js/src/pro/cex.js +6 -0
  701. package/js/src/pro/coinbase.js +6 -0
  702. package/js/src/pro/coinbaseadvanced.js +6 -0
  703. package/js/src/pro/coinbaseexchange.js +6 -0
  704. package/js/src/pro/coinbaseinternational.js +6 -0
  705. package/js/src/pro/coincheck.js +6 -0
  706. package/js/src/pro/coinex.js +6 -0
  707. package/js/src/pro/coinone.js +6 -0
  708. package/js/src/pro/cryptocom.js +6 -0
  709. package/js/src/pro/deepcoin.js +6 -0
  710. package/js/src/pro/deribit.js +6 -0
  711. package/js/src/pro/derive.js +6 -0
  712. package/js/src/pro/dydx.js +6 -0
  713. package/js/src/pro/exmo.js +6 -0
  714. package/js/src/pro/extended.js +6 -0
  715. package/js/src/pro/gate.js +6 -0
  716. package/js/src/pro/gemini.js +6 -0
  717. package/js/src/pro/grvt.js +6 -0
  718. package/js/src/pro/hashkey.js +13 -6
  719. package/js/src/pro/hitbtc.js +6 -0
  720. package/js/src/pro/hollaex.js +7 -1
  721. package/js/src/pro/htx.js +6 -0
  722. package/js/src/pro/huobi.js +6 -0
  723. package/js/src/pro/hyperliquid.js +6 -0
  724. package/js/src/pro/independentreserve.js +6 -0
  725. package/js/src/pro/kraken.js +6 -0
  726. package/js/src/pro/krakenfutures.js +6 -0
  727. package/js/src/pro/kucoin.js +6 -0
  728. package/js/src/pro/kucoinfutures.js +6 -0
  729. package/js/src/pro/lbank.js +6 -0
  730. package/js/src/pro/lighter.js +6 -0
  731. package/js/src/pro/luno.js +6 -0
  732. package/js/src/pro/mexc.js +6 -0
  733. package/js/src/pro/modetrade.js +6 -0
  734. package/js/src/pro/myokx.js +6 -0
  735. package/js/src/pro/ndax.js +6 -0
  736. package/js/src/pro/okx.js +6 -0
  737. package/js/src/pro/okxus.js +6 -0
  738. package/js/src/pro/onetrading.js +6 -0
  739. package/js/src/pro/p2b.js +6 -0
  740. package/js/src/pro/pacifica.js +6 -0
  741. package/js/src/pro/paradex.js +6 -0
  742. package/js/src/pro/phemex.js +6 -0
  743. package/js/src/pro/poloniex.js +6 -0
  744. package/js/src/pro/toobit.js +6 -0
  745. package/js/src/pro/upbit.js +6 -0
  746. package/js/src/pro/weex.js +6 -0
  747. package/js/src/pro/whitebit.js +7 -1
  748. package/js/src/pro/woo.js +6 -0
  749. package/js/src/pro/woofipro.js +6 -0
  750. package/js/src/pro/xt.js +6 -0
  751. package/js/src/protobuf/mexc/compiled.cjs +6 -0
  752. package/js/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +6 -0
  753. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/keys.js +6 -0
  754. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +6 -0
  755. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +6 -0
  756. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +6 -0
  757. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +6 -0
  758. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +6 -0
  759. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/block_rate_limit_config.js +6 -0
  760. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +6 -0
  761. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/equity_tier_limit_config.js +6 -0
  762. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/finalize_block.js +6 -0
  763. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations.js +6 -0
  764. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations_config.js +6 -0
  765. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/matches.js +6 -0
  766. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +6 -0
  767. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +6 -0
  768. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +6 -0
  769. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +6 -0
  770. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +6 -0
  771. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/asset_position.js +6 -0
  772. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/perpetual_position.js +6 -0
  773. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +6 -0
  774. package/js/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +6 -0
  775. package/js/src/static_dependencies/dydx-v4-client/helpers.js +6 -0
  776. package/js/src/static_dependencies/dydx-v4-client/long/index.cjs +6 -0
  777. package/js/src/static_dependencies/dydx-v4-client/onboarding.js +6 -0
  778. package/js/src/static_dependencies/dydx-v4-client/registry.js +6 -0
  779. package/js/src/static_dependencies/ethers/abi-coder.js +6 -0
  780. package/js/src/static_dependencies/ethers/address/address.js +6 -0
  781. package/js/src/static_dependencies/ethers/address/checks.js +6 -0
  782. package/js/src/static_dependencies/ethers/address/contract-address.js +6 -0
  783. package/js/src/static_dependencies/ethers/address/index.js +6 -0
  784. package/js/src/static_dependencies/ethers/bytes32.js +6 -0
  785. package/js/src/static_dependencies/ethers/coders/abstract-coder.js +6 -0
  786. package/js/src/static_dependencies/ethers/coders/address.js +6 -0
  787. package/js/src/static_dependencies/ethers/coders/anonymous.js +6 -0
  788. package/js/src/static_dependencies/ethers/coders/array.js +6 -0
  789. package/js/src/static_dependencies/ethers/coders/boolean.js +6 -0
  790. package/js/src/static_dependencies/ethers/coders/bytes.js +6 -0
  791. package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +6 -0
  792. package/js/src/static_dependencies/ethers/coders/null.js +6 -0
  793. package/js/src/static_dependencies/ethers/coders/number.js +6 -0
  794. package/js/src/static_dependencies/ethers/coders/string.js +6 -0
  795. package/js/src/static_dependencies/ethers/coders/tuple.js +6 -0
  796. package/js/src/static_dependencies/ethers/fragments.js +6 -0
  797. package/js/src/static_dependencies/ethers/hash/index.js +6 -0
  798. package/js/src/static_dependencies/ethers/hash/solidity.js +6 -0
  799. package/js/src/static_dependencies/ethers/hash/typed-data.js +6 -0
  800. package/js/src/static_dependencies/ethers/index.js +6 -0
  801. package/js/src/static_dependencies/ethers/interface.js +6 -0
  802. package/js/src/static_dependencies/ethers/typed.js +6 -0
  803. package/js/src/static_dependencies/ethers/utils/base58.js +6 -0
  804. package/js/src/static_dependencies/ethers/utils/base64-browser.js +6 -0
  805. package/js/src/static_dependencies/ethers/utils/base64.js +6 -0
  806. package/js/src/static_dependencies/ethers/utils/data.js +6 -0
  807. package/js/src/static_dependencies/ethers/utils/errors.js +6 -0
  808. package/js/src/static_dependencies/ethers/utils/events.js +6 -0
  809. package/js/src/static_dependencies/ethers/utils/fixednumber.js +6 -0
  810. package/js/src/static_dependencies/ethers/utils/index.js +6 -0
  811. package/js/src/static_dependencies/ethers/utils/maths.js +6 -0
  812. package/js/src/static_dependencies/ethers/utils/properties.js +6 -0
  813. package/js/src/static_dependencies/ethers/utils/rlp-decode.js +6 -0
  814. package/js/src/static_dependencies/ethers/utils/rlp-encode.js +6 -0
  815. package/js/src/static_dependencies/ethers/utils/rlp.js +6 -0
  816. package/js/src/static_dependencies/ethers/utils/units.js +6 -0
  817. package/js/src/static_dependencies/ethers/utils/utf8.js +6 -0
  818. package/js/src/static_dependencies/ethers/utils/uuid.js +6 -0
  819. package/js/src/static_dependencies/fflake/browser.js +6 -0
  820. package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +6 -0
  821. package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +6 -0
  822. package/js/src/static_dependencies/jsencrypt/index.js +6 -0
  823. package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +6 -0
  824. package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  825. package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  826. package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  827. package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +6 -0
  828. package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +6 -0
  829. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +6 -0
  830. package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  831. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +6 -0
  832. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +6 -0
  833. package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  834. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +6 -0
  835. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  836. package/js/src/static_dependencies/messagepack/msgpack.js +6 -0
  837. package/js/src/static_dependencies/noble-curves/_shortw_utils.js +6 -0
  838. package/js/src/static_dependencies/noble-curves/abstract/curve.js +6 -0
  839. package/js/src/static_dependencies/noble-curves/abstract/edwards.js +6 -0
  840. package/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +6 -0
  841. package/js/src/static_dependencies/noble-curves/abstract/modular.js +6 -0
  842. package/js/src/static_dependencies/noble-curves/abstract/montgomery.js +6 -0
  843. package/js/src/static_dependencies/noble-curves/abstract/poseidon.js +6 -0
  844. package/js/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
  845. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.d.ts +1 -1
  846. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +6 -0
  847. package/js/src/static_dependencies/noble-curves/bn.js +6 -0
  848. package/js/src/static_dependencies/noble-curves/ed25519.js +6 -0
  849. package/js/src/static_dependencies/noble-curves/ed448.js +6 -0
  850. package/js/src/static_dependencies/noble-curves/index.js +6 -0
  851. package/js/src/static_dependencies/noble-curves/jubjub.js +6 -0
  852. package/js/src/static_dependencies/noble-curves/p256.js +6 -0
  853. package/js/src/static_dependencies/noble-curves/p384.js +6 -0
  854. package/js/src/static_dependencies/noble-curves/p521.js +6 -0
  855. package/js/src/static_dependencies/noble-curves/pasta.js +6 -0
  856. package/js/src/static_dependencies/noble-curves/secp256k1.js +6 -0
  857. package/js/src/static_dependencies/noble-hashes/_assert.js +6 -0
  858. package/js/src/static_dependencies/noble-hashes/_blake2.js +6 -0
  859. package/js/src/static_dependencies/noble-hashes/_sha2.js +6 -0
  860. package/js/src/static_dependencies/noble-hashes/_u64.js +6 -0
  861. package/js/src/static_dependencies/noble-hashes/argon2.js +6 -0
  862. package/js/src/static_dependencies/noble-hashes/blake2b.js +6 -0
  863. package/js/src/static_dependencies/noble-hashes/blake2s.js +6 -0
  864. package/js/src/static_dependencies/noble-hashes/blake3.js +6 -0
  865. package/js/src/static_dependencies/noble-hashes/crypto.js +6 -0
  866. package/js/src/static_dependencies/noble-hashes/cryptoNode.js +6 -0
  867. package/js/src/static_dependencies/noble-hashes/eskdf.js +6 -0
  868. package/js/src/static_dependencies/noble-hashes/hkdf.js +6 -0
  869. package/js/src/static_dependencies/noble-hashes/hmac.js +6 -0
  870. package/js/src/static_dependencies/noble-hashes/index.js +6 -0
  871. package/js/src/static_dependencies/noble-hashes/md5.js +6 -0
  872. package/js/src/static_dependencies/noble-hashes/pbkdf2.js +6 -0
  873. package/js/src/static_dependencies/noble-hashes/ripemd160.js +6 -0
  874. package/js/src/static_dependencies/noble-hashes/scrypt.js +6 -0
  875. package/js/src/static_dependencies/noble-hashes/sha1.js +6 -0
  876. package/js/src/static_dependencies/noble-hashes/sha256.js +6 -0
  877. package/js/src/static_dependencies/noble-hashes/sha3-addons.js +6 -0
  878. package/js/src/static_dependencies/noble-hashes/sha3.js +6 -0
  879. package/js/src/static_dependencies/noble-hashes/sha512.js +6 -0
  880. package/js/src/static_dependencies/noble-hashes/utils.js +6 -0
  881. package/js/src/static_dependencies/node-fetch/body.js +6 -0
  882. package/js/src/static_dependencies/node-fetch/errors/abort-error.js +6 -0
  883. package/js/src/static_dependencies/node-fetch/errors/base.js +6 -0
  884. package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +6 -0
  885. package/js/src/static_dependencies/node-fetch/headers.js +6 -0
  886. package/js/src/static_dependencies/node-fetch/index.js +6 -0
  887. package/js/src/static_dependencies/node-fetch/request.js +6 -0
  888. package/js/src/static_dependencies/node-fetch/response.js +6 -0
  889. package/js/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  890. package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  891. package/js/src/static_dependencies/node-fetch/utils/is.js +6 -0
  892. package/js/src/static_dependencies/node-fetch/utils/referrer.js +6 -0
  893. package/js/src/static_dependencies/proxies/agent-base/helpers.js +6 -0
  894. package/js/src/static_dependencies/proxies/agent-base/index.js +6 -0
  895. package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +6 -0
  896. package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +6 -0
  897. package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  898. package/js/src/static_dependencies/qs/formats.js +6 -0
  899. package/js/src/static_dependencies/qs/index.js +6 -0
  900. package/js/src/static_dependencies/qs/parse.js +6 -0
  901. package/js/src/static_dependencies/qs/stringify.js +6 -0
  902. package/js/src/static_dependencies/qs/utils.js +6 -0
  903. package/js/src/static_dependencies/scure-base/index.js +6 -0
  904. package/js/src/static_dependencies/scure-bip32/index.js +6 -0
  905. package/js/src/static_dependencies/scure-bip39/index.js +6 -0
  906. package/js/src/static_dependencies/scure-bip39/wordlists/english.js +6 -0
  907. package/js/src/static_dependencies/scure-starknet/index.js +6 -0
  908. package/js/src/static_dependencies/starknet/constants.js +6 -0
  909. package/js/src/static_dependencies/starknet/index.js +6 -0
  910. package/js/src/static_dependencies/starknet/types/cairoEnum.js +6 -0
  911. package/js/src/static_dependencies/starknet/types/calldata.js +6 -0
  912. package/js/src/static_dependencies/starknet/types/index.js +6 -0
  913. package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  914. package/js/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  915. package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +6 -0
  916. package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +6 -0
  917. package/js/src/static_dependencies/starknet/types/lib/index.js +6 -0
  918. package/js/src/static_dependencies/starknet/types/typedData.js +6 -0
  919. package/js/src/static_dependencies/starknet/utils/address.js +6 -0
  920. package/js/src/static_dependencies/starknet/utils/assert.js +6 -0
  921. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +6 -0
  922. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +6 -0
  923. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +6 -0
  924. package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +6 -0
  925. package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +6 -0
  926. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  927. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  928. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  929. package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +6 -0
  930. package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +6 -0
  931. package/js/src/static_dependencies/starknet/utils/calldata/index.js +6 -0
  932. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +6 -0
  933. package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +6 -0
  934. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +6 -0
  935. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  936. package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +6 -0
  937. package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +6 -0
  938. package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +6 -0
  939. package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +6 -0
  940. package/js/src/static_dependencies/starknet/utils/calldata/validate.js +6 -0
  941. package/js/src/static_dependencies/starknet/utils/encode.js +6 -0
  942. package/js/src/static_dependencies/starknet/utils/hash/classHash.js +6 -0
  943. package/js/src/static_dependencies/starknet/utils/hash/index.js +6 -0
  944. package/js/src/static_dependencies/starknet/utils/merkle.js +6 -0
  945. package/js/src/static_dependencies/starknet/utils/num.js +6 -0
  946. package/js/src/static_dependencies/starknet/utils/selector.js +6 -0
  947. package/js/src/static_dependencies/starknet/utils/shortString.js +6 -0
  948. package/js/src/static_dependencies/starknet/utils/starknetId.js +6 -0
  949. package/js/src/static_dependencies/starknet/utils/typedData.js +6 -0
  950. package/js/src/static_dependencies/starknet/utils/uint256.js +6 -0
  951. package/js/src/static_dependencies/starknet/utils/url.js +6 -0
  952. package/js/src/static_dependencies/watchable/src/index.js +6 -0
  953. package/js/src/static_dependencies/watchable/src/types.js +6 -0
  954. package/js/src/static_dependencies/watchable/src/unpromise.js +6 -0
  955. package/js/src/static_dependencies/zklink/zklink-sdk-web.js +6 -0
  956. package/js/src/tokocrypto.js +6 -0
  957. package/js/src/toobit.js +6 -0
  958. package/js/src/upbit.js +6 -0
  959. package/js/src/weex.js +13 -0
  960. package/js/src/whitebit.js +6 -0
  961. package/js/src/woo.js +6 -0
  962. package/js/src/woofipro.js +6 -0
  963. package/js/src/xt.js +6 -1
  964. package/js/src/zaif.js +6 -0
  965. package/js/src/zebpay.js +6 -0
  966. package/package.json +15 -3
  967. package/dist/cjs/src/abstract/arkham.js +0 -11
  968. package/dist/cjs/src/abstract/wavesexchange.js +0 -11
  969. package/dist/cjs/src/abstract/yobit.js +0 -11
  970. package/dist/cjs/src/arkham.js +0 -2485
  971. package/dist/cjs/src/pro/arkham.js +0 -715
  972. package/dist/cjs/src/wavesexchange.js +0 -2783
  973. package/dist/cjs/src/yobit.js +0 -1466
  974. package/js/src/abstract/arkham.d.ts +0 -121
  975. package/js/src/abstract/arkham.js +0 -5
  976. package/js/src/abstract/wavesexchange.d.ts +0 -157
  977. package/js/src/abstract/wavesexchange.js +0 -5
  978. package/js/src/abstract/yobit.d.ts +0 -19
  979. package/js/src/abstract/yobit.js +0 -5
  980. package/js/src/arkham.d.ts +0 -358
  981. package/js/src/arkham.js +0 -2478
  982. package/js/src/pro/arkham.d.ts +0 -105
  983. package/js/src/pro/arkham.js +0 -708
  984. package/js/src/wavesexchange.d.ts +0 -244
  985. package/js/src/wavesexchange.js +0 -2776
  986. package/js/src/yobit.d.ts +0 -197
  987. package/js/src/yobit.js +0 -1459
@@ -1,1466 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var yobit$1 = require('./abstract/yobit.js');
6
- var errors = require('./base/errors.js');
7
- var Precise = require('./base/Precise.js');
8
- var number = require('./base/functions/number.js');
9
- var sha512 = require('./static_dependencies/noble-hashes/sha512.js');
10
-
11
- // ---------------------------------------------------------------------------
12
- // ---------------------------------------------------------------------------
13
- /**
14
- * @class yobit
15
- * @augments Exchange
16
- */
17
- class yobit extends yobit$1["default"] {
18
- describe() {
19
- return this.deepExtend(super.describe(), {
20
- 'id': 'yobit',
21
- 'name': 'YoBit',
22
- 'countries': ['RU'],
23
- 'rateLimit': 2000,
24
- 'version': '3',
25
- 'pro': false,
26
- 'has': {
27
- 'CORS': undefined,
28
- 'spot': true,
29
- 'margin': false,
30
- 'swap': false,
31
- 'future': false,
32
- 'option': false,
33
- 'addMargin': false,
34
- 'borrowCrossMargin': false,
35
- 'borrowIsolatedMargin': false,
36
- 'borrowMargin': false,
37
- 'cancelOrder': true,
38
- 'closeAllPositions': false,
39
- 'closePosition': false,
40
- 'createDepositAddress': true,
41
- 'createMarketOrder': false,
42
- 'createOrder': true,
43
- 'createReduceOnlyOrder': false,
44
- 'createStopLimitOrder': false,
45
- 'createStopMarketOrder': false,
46
- 'createStopOrder': false,
47
- 'fetchAllGreeks': false,
48
- 'fetchBalance': true,
49
- 'fetchBorrowInterest': false,
50
- 'fetchBorrowRate': false,
51
- 'fetchBorrowRateHistories': false,
52
- 'fetchBorrowRateHistory': false,
53
- 'fetchBorrowRates': false,
54
- 'fetchBorrowRatesPerSymbol': false,
55
- 'fetchCrossBorrowRate': false,
56
- 'fetchCrossBorrowRates': false,
57
- 'fetchCurrencies': false,
58
- 'fetchDepositAddress': true,
59
- 'fetchDepositAddresses': false,
60
- 'fetchDepositAddressesByNetwork': false,
61
- 'fetchDeposits': false,
62
- 'fetchFundingHistory': false,
63
- 'fetchFundingInterval': false,
64
- 'fetchFundingIntervals': false,
65
- 'fetchFundingRate': false,
66
- 'fetchFundingRateHistory': false,
67
- 'fetchFundingRates': false,
68
- 'fetchGreeks': false,
69
- 'fetchIndexOHLCV': false,
70
- 'fetchIsolatedBorrowRate': false,
71
- 'fetchIsolatedBorrowRates': false,
72
- 'fetchIsolatedPositions': false,
73
- 'fetchLeverage': false,
74
- 'fetchLeverages': false,
75
- 'fetchLeverageTiers': false,
76
- 'fetchLiquidations': false,
77
- 'fetchLongShortRatio': false,
78
- 'fetchLongShortRatioHistory': false,
79
- 'fetchMarginAdjustmentHistory': false,
80
- 'fetchMarginMode': false,
81
- 'fetchMarginModes': false,
82
- 'fetchMarketLeverageTiers': false,
83
- 'fetchMarkets': true,
84
- 'fetchMarkOHLCV': false,
85
- 'fetchMarkPrice': false,
86
- 'fetchMarkPrices': false,
87
- 'fetchMyLiquidations': false,
88
- 'fetchMySettlementHistory': false,
89
- 'fetchMyTrades': true,
90
- 'fetchOpenInterest': false,
91
- 'fetchOpenInterestHistory': false,
92
- 'fetchOpenInterests': false,
93
- 'fetchOpenOrders': true,
94
- 'fetchOption': false,
95
- 'fetchOptionChain': false,
96
- 'fetchOrder': true,
97
- 'fetchOrderBook': true,
98
- 'fetchOrderBooks': true,
99
- 'fetchPosition': false,
100
- 'fetchPositionHistory': false,
101
- 'fetchPositionMode': false,
102
- 'fetchPositions': false,
103
- 'fetchPositionsForSymbol': false,
104
- 'fetchPositionsHistory': false,
105
- 'fetchPositionsRisk': false,
106
- 'fetchPremiumIndexOHLCV': false,
107
- 'fetchSettlementHistory': false,
108
- 'fetchTicker': true,
109
- 'fetchTickers': true,
110
- 'fetchTrades': true,
111
- 'fetchTradingFee': false,
112
- 'fetchTradingFees': true,
113
- 'fetchTransactions': false,
114
- 'fetchTransfer': false,
115
- 'fetchTransfers': false,
116
- 'fetchUnderlyingAssets': false,
117
- 'fetchVolatilityHistory': false,
118
- 'fetchWithdrawals': false,
119
- 'reduceMargin': false,
120
- 'repayCrossMargin': false,
121
- 'repayIsolatedMargin': false,
122
- 'repayMargin': false,
123
- 'setLeverage': false,
124
- 'setMargin': false,
125
- 'setMarginMode': false,
126
- 'setPositionMode': false,
127
- 'transfer': false,
128
- 'withdraw': true,
129
- 'ws': false,
130
- },
131
- 'urls': {
132
- 'logo': 'https://user-images.githubusercontent.com/1294454/27766910-cdcbfdae-5eea-11e7-9859-03fea873272d.jpg',
133
- 'api': {
134
- 'public': 'https://yobit.net/api',
135
- 'private': 'https://yobit.net/tapi',
136
- },
137
- 'www': 'https://www.yobit.net',
138
- 'doc': 'https://www.yobit.net/en/api/',
139
- 'fees': 'https://www.yobit.net/en/fees/',
140
- },
141
- 'api': {
142
- 'public': {
143
- 'get': {
144
- 'depth/{pair}': 1,
145
- 'info': 1,
146
- 'ticker/{pair}': 1,
147
- 'trades/{pair}': 1,
148
- },
149
- },
150
- 'private': {
151
- 'post': {
152
- 'ActiveOrders': 1,
153
- 'CancelOrder': 1,
154
- 'GetDepositAddress': 1,
155
- 'getInfo': 1,
156
- 'OrderInfo': 1,
157
- 'Trade': 1,
158
- 'TradeHistory': 1,
159
- 'WithdrawCoinsToAddress': 1,
160
- },
161
- },
162
- },
163
- 'fees': {
164
- 'trading': {
165
- 'maker': 0.002,
166
- 'taker': 0.002,
167
- },
168
- 'funding': {
169
- 'withdraw': {},
170
- },
171
- },
172
- 'commonCurrencies': {
173
- 'AIR': 'AirCoin',
174
- 'ANI': 'ANICoin',
175
- 'ANT': 'AntsCoin',
176
- 'ATMCHA': 'ATM',
177
- 'ASN': 'Ascension',
178
- 'AST': 'Astral',
179
- 'ATM': 'Autumncoin',
180
- 'AUR': 'AuroraCoin',
181
- 'BAB': 'Babel',
182
- 'BAN': 'BANcoin',
183
- 'BCC': 'BCH',
184
- 'BCS': 'BitcoinStake',
185
- 'BITS': 'Bitstar',
186
- 'BLN': 'Bulleon',
187
- 'BNS': 'Benefit Bonus Coin',
188
- 'BOT': 'BOTcoin',
189
- 'BON': 'BONES',
190
- 'BPC': 'BitcoinPremium',
191
- 'BST': 'BitStone',
192
- 'BTS': 'Bitshares2',
193
- 'CAT': 'BitClave',
194
- 'CBC': 'CryptoBossCoin',
195
- 'CMT': 'CometCoin',
196
- 'COIN': 'Coin.com',
197
- 'COV': 'Coven Coin',
198
- 'COVX': 'COV',
199
- 'CPC': 'Capricoin',
200
- 'CREDIT': 'Creditbit',
201
- 'CS': 'CryptoSpots',
202
- 'DCT': 'Discount',
203
- 'DFT': 'DraftCoin',
204
- 'DGD': 'DarkGoldCoin',
205
- 'DIRT': 'DIRTY',
206
- 'DROP': 'FaucetCoin',
207
- 'DSH': 'DASH',
208
- 'EGC': 'EverGreenCoin',
209
- 'EGG': 'EggCoin',
210
- 'EKO': 'EkoCoin',
211
- 'ENTER': 'ENTRC',
212
- 'EPC': 'ExperienceCoin',
213
- 'ESC': 'EdwardSnowden',
214
- 'EUROPE': 'EUROP',
215
- 'EXT': 'LifeExtension',
216
- 'FUND': 'FUNDChains',
217
- 'FUNK': 'FUNKCoin',
218
- 'FX': 'FCoin',
219
- 'GCC': 'GlobalCryptocurrency',
220
- 'GEN': 'Genstake',
221
- 'GENE': 'Genesiscoin',
222
- 'GMR': 'Gimmer',
223
- 'GOLD': 'GoldMint',
224
- 'GOT': 'Giotto Coin',
225
- 'GSX': 'GlowShares',
226
- 'GT': 'GTcoin',
227
- 'HTML5': 'HTML',
228
- 'HYPERX': 'HYPER',
229
- 'ICN': 'iCoin',
230
- 'INSANE': 'INSN',
231
- 'JNT': 'JointCoin',
232
- 'JPC': 'JupiterCoin',
233
- 'JWL': 'Jewels',
234
- 'KNC': 'KingN Coin',
235
- 'LBTCX': 'LiteBitcoin',
236
- 'LIZI': 'LiZi',
237
- 'LOC': 'LocoCoin',
238
- 'LOCX': 'LOC',
239
- 'LUNYR': 'LUN',
240
- 'LUN': 'LunarCoin',
241
- 'LUNA': 'Luna Coin',
242
- 'MASK': 'Yobit MASK',
243
- 'MDT': 'Midnight',
244
- 'MEME': 'Memez Token',
245
- 'MIS': 'MIScoin',
246
- 'MM': 'MasterMint',
247
- 'NAV': 'NavajoCoin',
248
- 'NBT': 'NiceBytes',
249
- 'OMG': 'OMGame',
250
- 'ONX': 'Onix',
251
- 'PAC': '$PAC',
252
- 'PLAY': 'PlayCoin',
253
- 'PIVX': 'Darknet',
254
- 'PURE': 'PurePOS',
255
- 'PUTIN': 'PutinCoin',
256
- 'SPACE': 'Spacecoin',
257
- 'STK': 'StakeCoin',
258
- 'SUB': 'Subscriptio',
259
- 'PAY': 'EPAY',
260
- 'PLC': 'Platin Coin',
261
- 'RAI': 'RaiderCoin',
262
- 'RCN': 'RCoin',
263
- 'REP': 'Republicoin',
264
- 'RUR': 'RUB',
265
- 'SBTC': 'Super Bitcoin',
266
- 'SMC': 'SmartCoin',
267
- 'SOLO': 'SoloCoin',
268
- 'SOUL': 'SoulCoin',
269
- 'STAR': 'StarCoin',
270
- 'SUPER': 'SuperCoin',
271
- 'TNS': 'Transcodium',
272
- 'TTC': 'TittieCoin',
273
- 'UNI': 'Universe',
274
- 'UST': 'Uservice',
275
- 'VOL': 'VolumeCoin',
276
- 'XIN': 'XINCoin',
277
- 'XMT': 'SummitCoin',
278
- 'XRA': 'Ratecoin',
279
- 'BCHN': 'BSV',
280
- },
281
- 'options': {
282
- 'maxUrlLength': 2048,
283
- 'fetchOrdersRequiresSymbol': true,
284
- 'networks': {
285
- 'ETH': 'ERC20',
286
- 'TRX': 'TRC20',
287
- 'BSC': 'BEP20',
288
- },
289
- },
290
- 'precisionMode': number.TICK_SIZE,
291
- 'exceptions': {
292
- 'exact': {
293
- '803': errors.InvalidOrder,
294
- '804': errors.InvalidOrder,
295
- '805': errors.InvalidOrder,
296
- '806': errors.InvalidOrder,
297
- '807': errors.InvalidOrder,
298
- '831': errors.InsufficientFunds,
299
- '832': errors.InsufficientFunds,
300
- '833': errors.OrderNotFound, // "Order with id X was not found." (cancelling non-existent, closed and cancelled order)
301
- },
302
- 'broad': {
303
- 'Invalid pair name': errors.ExchangeError,
304
- 'invalid api key': errors.AuthenticationError,
305
- 'invalid sign': errors.AuthenticationError,
306
- 'api key dont have trade permission': errors.AuthenticationError,
307
- 'invalid parameter': errors.InvalidOrder,
308
- 'invalid order': errors.InvalidOrder,
309
- 'The given order has already been cancelled': errors.InvalidOrder,
310
- 'Requests too often': errors.DDoSProtection,
311
- 'not available': errors.ExchangeNotAvailable,
312
- 'data unavailable': errors.ExchangeNotAvailable,
313
- 'external service unavailable': errors.ExchangeNotAvailable,
314
- 'Total transaction amount': errors.InvalidOrder,
315
- 'The given order has already been closed and cannot be cancelled': errors.InvalidOrder,
316
- 'Insufficient funds': errors.InsufficientFunds,
317
- 'invalid key': errors.AuthenticationError,
318
- 'invalid nonce': errors.InvalidNonce,
319
- 'Total order amount is less than minimal amount': errors.InvalidOrder,
320
- 'Rate Limited': errors.RateLimitExceeded,
321
- },
322
- },
323
- 'features': {
324
- 'spot': {
325
- 'sandbox': false,
326
- 'createOrder': {
327
- 'marginMode': false,
328
- 'triggerPrice': false,
329
- 'triggerDirection': false,
330
- 'triggerPriceType': undefined,
331
- 'stopLossPrice': false,
332
- 'takeProfitPrice': false,
333
- 'attachedStopLossTakeProfit': undefined,
334
- 'timeInForce': {
335
- 'IOC': false,
336
- 'FOK': false,
337
- 'PO': false,
338
- 'GTD': false,
339
- },
340
- 'hedged': false,
341
- 'trailing': false,
342
- 'leverage': false,
343
- 'marketBuyByCost': false,
344
- 'marketBuyRequiresPrice': false,
345
- 'selfTradePrevention': false,
346
- 'iceberg': false,
347
- },
348
- 'createOrders': undefined,
349
- 'fetchMyTrades': {
350
- 'marginMode': false,
351
- 'limit': 1000,
352
- 'daysBack': 100000,
353
- 'untilDays': 100000,
354
- 'symbolRequired': true,
355
- },
356
- 'fetchOrder': {
357
- 'marginMode': false,
358
- 'trigger': false,
359
- 'trailing': false,
360
- 'symbolRequired': false,
361
- },
362
- 'fetchOpenOrders': {
363
- 'marginMode': false,
364
- 'limit': undefined,
365
- 'trigger': false,
366
- 'trailing': false,
367
- 'symbolRequired': true,
368
- },
369
- 'fetchOrders': undefined,
370
- 'fetchClosedOrders': undefined,
371
- 'fetchOHLCV': undefined,
372
- },
373
- 'swap': {
374
- 'linear': undefined,
375
- 'inverse': undefined,
376
- },
377
- 'future': {
378
- 'linear': undefined,
379
- 'inverse': undefined,
380
- },
381
- },
382
- 'orders': {}, // orders cache / emulation
383
- });
384
- }
385
- parseBalance(response) {
386
- const balances = this.safeDict(response, 'return', {});
387
- const timestamp = this.safeInteger(balances, 'server_time');
388
- const result = {
389
- 'info': response,
390
- 'timestamp': timestamp,
391
- 'datetime': this.iso8601(timestamp),
392
- };
393
- const free = this.safeDict(balances, 'funds', {});
394
- const total = this.safeDict(balances, 'funds_incl_orders', {});
395
- const currencyIds = Object.keys(this.extend(free, total));
396
- for (let i = 0; i < currencyIds.length; i++) {
397
- const currencyId = currencyIds[i];
398
- const code = this.safeCurrencyCode(currencyId);
399
- const account = this.account();
400
- account['free'] = this.safeString(free, currencyId);
401
- account['total'] = this.safeString(total, currencyId);
402
- result[code] = account;
403
- }
404
- return this.safeBalance(result);
405
- }
406
- /**
407
- * @method
408
- * @name yobit#fetchBalance
409
- * @see https://yobit.net/en/api
410
- * @description query for balance and get the amount of funds available for trading or funds locked in orders
411
- * @param {object} [params] extra parameters specific to the exchange API endpoint
412
- * @returns {object} a [balance structure]{@link https://docs.ccxt.com/?id=balance-structure}
413
- */
414
- async fetchBalance(params = {}) {
415
- await this.loadMarkets();
416
- const response = await this.privatePostGetInfo(params);
417
- //
418
- // {
419
- // "success":1,
420
- // "return":{
421
- // "funds":{
422
- // "ltc":22,
423
- // "nvc":423.998,
424
- // "ppc":10,
425
- // },
426
- // "funds_incl_orders":{
427
- // "ltc":32,
428
- // "nvc":523.998,
429
- // "ppc":20,
430
- // },
431
- // "rights":{
432
- // "info":1,
433
- // "trade":0,
434
- // "withdraw":0
435
- // },
436
- // "transaction_count":0,
437
- // "open_orders":1,
438
- // "server_time":1418654530
439
- // }
440
- // }
441
- //
442
- return this.parseBalance(response);
443
- }
444
- /**
445
- * @method
446
- * @name yobit#fetchMarkets
447
- * @see https://yobit.net/en/api
448
- * @description retrieves data on all markets for yobit
449
- * @param {object} [params] extra parameters specific to the exchange API endpoint
450
- * @returns {object[]} an array of objects representing market data
451
- */
452
- async fetchMarkets(params = {}) {
453
- const response = await this.publicGetInfo(params);
454
- //
455
- // {
456
- // "server_time":1615856752,
457
- // "pairs":{
458
- // "ltc_btc":{
459
- // "decimal_places":8,
460
- // "min_price":0.00000001,
461
- // "max_price":10000,
462
- // "min_amount":0.0001,
463
- // "min_total":0.0001,
464
- // "hidden":0,
465
- // "fee":0.2,
466
- // "fee_buyer":0.2,
467
- // "fee_seller":0.2
468
- // },
469
- // },
470
- // }
471
- //
472
- const markets = this.safeDict(response, 'pairs', {});
473
- const keys = Object.keys(markets);
474
- const result = [];
475
- for (let i = 0; i < keys.length; i++) {
476
- const id = keys[i];
477
- const market = markets[id];
478
- const [baseId, quoteId] = id.split('_');
479
- let base = baseId.toUpperCase();
480
- let quote = quoteId.toUpperCase();
481
- base = this.safeCurrencyCode(base);
482
- quote = this.safeCurrencyCode(quote);
483
- const hidden = this.safeInteger(market, 'hidden');
484
- let feeString = this.safeString(market, 'fee');
485
- feeString = Precise["default"].stringDiv(feeString, '100');
486
- // yobit maker = taker
487
- result.push({
488
- 'id': id,
489
- 'symbol': base + '/' + quote,
490
- 'base': base,
491
- 'quote': quote,
492
- 'settle': undefined,
493
- 'baseId': baseId,
494
- 'quoteId': quoteId,
495
- 'settleId': undefined,
496
- 'type': 'spot',
497
- 'spot': true,
498
- 'margin': false,
499
- 'swap': false,
500
- 'future': false,
501
- 'option': false,
502
- 'active': (hidden === 0),
503
- 'contract': false,
504
- 'linear': undefined,
505
- 'inverse': undefined,
506
- 'taker': this.parseNumber(feeString),
507
- 'maker': this.parseNumber(feeString),
508
- 'contractSize': undefined,
509
- 'expiry': undefined,
510
- 'expiryDatetime': undefined,
511
- 'strike': undefined,
512
- 'optionType': undefined,
513
- 'precision': {
514
- 'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'decimal_places'))),
515
- 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'decimal_places'))),
516
- },
517
- 'limits': {
518
- 'leverage': {
519
- 'min': undefined,
520
- 'max': undefined,
521
- },
522
- 'amount': {
523
- 'min': this.safeNumber(market, 'min_amount'),
524
- 'max': this.safeNumber(market, 'max_amount'),
525
- },
526
- 'price': {
527
- 'min': this.safeNumber(market, 'min_price'),
528
- 'max': this.safeNumber(market, 'max_price'),
529
- },
530
- 'cost': {
531
- 'min': this.safeNumber(market, 'min_total'),
532
- 'max': undefined,
533
- },
534
- },
535
- 'created': undefined,
536
- 'info': market,
537
- });
538
- }
539
- return result;
540
- }
541
- /**
542
- * @method
543
- * @name yobit#fetchOrderBook
544
- * @see https://yobit.net/en/api
545
- * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
546
- * @param {string} symbol unified symbol of the market to fetch the order book for
547
- * @param {int} [limit] the maximum amount of order book entries to return
548
- * @param {object} [params] extra parameters specific to the exchange API endpoint
549
- * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure} indexed by market symbols
550
- */
551
- async fetchOrderBook(symbol, limit = undefined, params = {}) {
552
- await this.loadMarkets();
553
- const market = this.market(symbol);
554
- const request = {
555
- 'pair': market['id'],
556
- };
557
- if (limit !== undefined) {
558
- request['limit'] = limit; // default = 150, max = 2000
559
- }
560
- const response = await this.publicGetDepthPair(this.extend(request, params));
561
- const market_id_in_reponse = (market['id'] in response);
562
- if (!market_id_in_reponse) {
563
- throw new errors.ExchangeError(this.id + ' ' + market['symbol'] + ' order book is empty or not available');
564
- }
565
- const orderbook = response[market['id']];
566
- return this.parseOrderBook(orderbook, symbol);
567
- }
568
- /**
569
- * @method
570
- * @name yobit#fetchOrderBooks
571
- * @see https://yobit.net/en/api
572
- * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data for multiple markets
573
- * @param {string[]|undefined} symbols list of unified market symbols, all symbols fetched if undefined, default is undefined
574
- * @param {int} [limit] max number of entries per orderbook to return, default is undefined
575
- * @param {object} [params] extra parameters specific to the exchange API endpoint
576
- * @returns {object} a dictionary of [order book structures]{@link https://docs.ccxt.com/?id=order-book-structure} indexed by market symbol
577
- */
578
- async fetchOrderBooks(symbols = undefined, limit = undefined, params = {}) {
579
- await this.loadMarkets();
580
- let ids = undefined;
581
- if (symbols === undefined) {
582
- const allIds = this.ids;
583
- ids = allIds.join('-');
584
- // max URL length is 2083 symbols, including http schema, hostname, tld, etc...
585
- if (ids.length > 2048) {
586
- const numIds = this.ids.length;
587
- throw new errors.ExchangeError(this.id + ' fetchOrderBooks() has ' + numIds.toString() + ' symbols exceeding max URL length, you are required to specify a list of symbols in the first argument to fetchOrderBooks');
588
- }
589
- }
590
- else {
591
- ids = this.marketIds(symbols);
592
- ids = ids.join('-');
593
- }
594
- const request = {
595
- 'pair': ids,
596
- // 'ignore_invalid': true,
597
- };
598
- if (limit !== undefined) {
599
- request['limit'] = limit;
600
- }
601
- const response = await this.publicGetDepthPair(this.extend(request, params));
602
- const result = {};
603
- ids = Object.keys(response);
604
- for (let i = 0; i < ids.length; i++) {
605
- const id = ids[i];
606
- const symbol = this.safeSymbol(id);
607
- result[symbol] = this.parseOrderBook(response[id], symbol);
608
- }
609
- return result;
610
- }
611
- parseTicker(ticker, market = undefined) {
612
- //
613
- // {
614
- // "high": 0.03497582,
615
- // "low": 0.03248474,
616
- // "avg": 0.03373028,
617
- // "vol": 120.11485715062999,
618
- // "vol_cur": 3572.24914074,
619
- // "last": 0.0337611,
620
- // "buy": 0.0337442,
621
- // "sell": 0.03377798,
622
- // "updated": 1537522009
623
- // }
624
- //
625
- const timestamp = this.safeTimestamp(ticker, 'updated');
626
- const last = this.safeString(ticker, 'last');
627
- return this.safeTicker({
628
- 'symbol': this.safeSymbol(undefined, market),
629
- 'timestamp': timestamp,
630
- 'datetime': this.iso8601(timestamp),
631
- 'high': this.safeString(ticker, 'high'),
632
- 'low': this.safeString(ticker, 'low'),
633
- 'bid': this.safeString(ticker, 'buy'),
634
- 'bidVolume': undefined,
635
- 'ask': this.safeString(ticker, 'sell'),
636
- 'askVolume': undefined,
637
- 'vwap': undefined,
638
- 'open': undefined,
639
- 'close': last,
640
- 'last': last,
641
- 'previousClose': undefined,
642
- 'change': undefined,
643
- 'percentage': undefined,
644
- 'average': this.safeString(ticker, 'avg'),
645
- 'baseVolume': this.safeString(ticker, 'vol_cur'),
646
- 'quoteVolume': this.safeString(ticker, 'vol'),
647
- 'info': ticker,
648
- }, market);
649
- }
650
- async fetchTickersHelper(idsString, params = {}) {
651
- const request = {
652
- 'pair': idsString,
653
- };
654
- const tickers = await this.publicGetTickerPair(this.extend(request, params));
655
- const result = {};
656
- const keys = Object.keys(tickers);
657
- for (let k = 0; k < keys.length; k++) {
658
- const id = keys[k];
659
- const ticker = tickers[id];
660
- const market = this.safeMarket(id);
661
- const symbol = market['symbol'];
662
- result[symbol] = this.parseTicker(ticker, market);
663
- }
664
- return result;
665
- }
666
- /**
667
- * @method
668
- * @name yobit#fetchTickers
669
- * @see https://yobit.net/en/api
670
- * @description fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
671
- * @param {string[]|undefined} symbols unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
672
- * @param {object} [params] extra parameters specific to the exchange API endpoint
673
- * @param {object} [params.all] you can set to `true` for convenience to fetch all tickers from this exchange by sending multiple requests
674
- * @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/?id=ticker-structure}
675
- */
676
- async fetchTickers(symbols = undefined, params = {}) {
677
- let allSymbols = undefined;
678
- [allSymbols, params] = this.handleParamBool(params, 'all', false);
679
- if (symbols === undefined && !allSymbols) {
680
- throw new errors.ArgumentsRequired(this.id + ' fetchTickers() requires "symbols" argument or use `params["all"] = true` to send multiple requests for all markets');
681
- }
682
- await this.loadMarkets();
683
- const promises = [];
684
- const maxLength = this.safeInteger(this.options, 'maxUrlLength', 2048);
685
- // max URL length is 2048 symbols, including http schema, hostname, tld, etc...
686
- const lenghtOfBaseUrl = 40; // safe space for the url including api-base and endpoint dir is 30 chars
687
- if (allSymbols) {
688
- symbols = this.symbols;
689
- let ids = '';
690
- for (let i = 0; i < this.ids.length; i++) {
691
- const id = this.ids[i];
692
- const prefix = (ids === '') ? '' : '-';
693
- ids += prefix + id;
694
- if (ids.length > maxLength) {
695
- promises.push(this.fetchTickersHelper(ids, params));
696
- ids = '';
697
- }
698
- }
699
- if (ids !== '') {
700
- promises.push(this.fetchTickersHelper(ids, params));
701
- }
702
- }
703
- else {
704
- symbols = this.marketSymbols(symbols);
705
- const ids = this.marketIds(symbols);
706
- const idsLength = ids.length;
707
- const idsString = ids.join('-');
708
- const actualLength = idsString.length + lenghtOfBaseUrl;
709
- if (actualLength > maxLength) {
710
- throw new errors.ArgumentsRequired(this.id + ' fetchTickers() is being requested for ' + idsLength.toString() + ' markets (which has an URL length of ' + actualLength.toString() + ' characters), but it exceedes max URL length (' + maxLength.toString() + '), please pass limisted symbols array to fetchTickers to fit in one request');
711
- }
712
- promises.push(this.fetchTickersHelper(idsString, params));
713
- }
714
- const resultAll = await Promise.all(promises);
715
- let finalResult = {};
716
- for (let i = 0; i < resultAll.length; i++) {
717
- const result = this.filterByArrayTickers(resultAll[i], 'symbol', symbols);
718
- finalResult = this.extend(finalResult, result);
719
- }
720
- return finalResult;
721
- }
722
- /**
723
- * @method
724
- * @name yobit#fetchTicker
725
- * @see https://yobit.net/en/api
726
- * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
727
- * @param {string} symbol unified symbol of the market to fetch the ticker for
728
- * @param {object} [params] extra parameters specific to the exchange API endpoint
729
- * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/?id=ticker-structure}
730
- */
731
- async fetchTicker(symbol, params = {}) {
732
- const tickers = await this.fetchTickers([symbol], params);
733
- return tickers[symbol];
734
- }
735
- parseTrade(trade, market = undefined) {
736
- //
737
- // fetchTrades (public)
738
- //
739
- // {
740
- // "type":"bid",
741
- // "price":0.14046179,
742
- // "amount":0.001,
743
- // "tid":200256901,
744
- // "timestamp":1649861004
745
- // }
746
- //
747
- // fetchMyTrades (private)
748
- //
749
- // {
750
- // "pair":"doge_usdt",
751
- // "type":"sell",
752
- // "amount":139,
753
- // "rate":0.139,
754
- // "order_id":"2101103631773172",
755
- // "is_your_order":1,
756
- // "timestamp":"1649861561"
757
- // }
758
- //
759
- const timestamp = this.safeTimestamp(trade, 'timestamp');
760
- let side = this.safeString(trade, 'type');
761
- if (side === 'ask') {
762
- side = 'sell';
763
- }
764
- else if (side === 'bid') {
765
- side = 'buy';
766
- }
767
- const priceString = this.safeString2(trade, 'rate', 'price');
768
- const id = this.safeString2(trade, 'trade_id', 'tid');
769
- const order = this.safeString(trade, 'order_id');
770
- const marketId = this.safeString(trade, 'pair');
771
- const symbol = this.safeSymbol(marketId, market);
772
- const amountString = this.safeString(trade, 'amount');
773
- // arguments for calculateFee (need to be numbers)
774
- const price = this.parseNumber(priceString);
775
- const amount = this.parseNumber(amountString);
776
- const type = 'limit'; // all trades are still limit trades
777
- let fee = undefined;
778
- const feeCostString = this.safeNumber(trade, 'commission');
779
- if (feeCostString !== undefined) {
780
- const feeCurrencyId = this.safeString(trade, 'commissionCurrency');
781
- const feeCurrencyCode = this.safeCurrencyCode(feeCurrencyId);
782
- fee = {
783
- 'cost': feeCostString,
784
- 'currency': feeCurrencyCode,
785
- };
786
- }
787
- const isYourOrder = this.safeString(trade, 'is_your_order');
788
- if (isYourOrder !== undefined) {
789
- if (fee === undefined) {
790
- const feeInNumbers = this.calculateFee(symbol, type, side, amount, price, 'taker');
791
- fee = {
792
- 'currency': this.safeString(feeInNumbers, 'currency'),
793
- 'cost': this.safeString(feeInNumbers, 'cost'),
794
- 'rate': this.safeString(feeInNumbers, 'rate'),
795
- };
796
- }
797
- }
798
- return this.safeTrade({
799
- 'id': id,
800
- 'order': order,
801
- 'timestamp': timestamp,
802
- 'datetime': this.iso8601(timestamp),
803
- 'symbol': symbol,
804
- 'type': type,
805
- 'side': side,
806
- 'takerOrMaker': undefined,
807
- 'price': priceString,
808
- 'amount': amountString,
809
- 'cost': undefined,
810
- 'fee': fee,
811
- 'info': trade,
812
- }, market);
813
- }
814
- /**
815
- * @method
816
- * @name yobit#fetchTrades
817
- * @see https://yobit.net/en/api
818
- * @description get the list of most recent trades for a particular symbol
819
- * @param {string} symbol unified symbol of the market to fetch trades for
820
- * @param {int} [since] timestamp in ms of the earliest trade to fetch
821
- * @param {int} [limit] the maximum amount of trades to fetch
822
- * @param {object} [params] extra parameters specific to the exchange API endpoint
823
- * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/?id=public-trades}
824
- */
825
- async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
826
- await this.loadMarkets();
827
- const market = this.market(symbol);
828
- const request = {
829
- 'pair': market['id'],
830
- };
831
- if (limit !== undefined) {
832
- request['limit'] = limit;
833
- }
834
- const response = await this.publicGetTradesPair(this.extend(request, params));
835
- //
836
- // {
837
- // "doge_usdt": [
838
- // {
839
- // "type":"ask",
840
- // "price":0.13956743,
841
- // "amount":0.0008,
842
- // "tid":200256900,
843
- // "timestamp":1649860521
844
- // },
845
- // ]
846
- // }
847
- //
848
- if (Array.isArray(response)) {
849
- const numElements = response.length;
850
- if (numElements === 0) {
851
- return [];
852
- }
853
- }
854
- const result = this.safeList(response, market['id'], []);
855
- return this.parseTrades(result, market, since, limit);
856
- }
857
- /**
858
- * @method
859
- * @name yobit#fetchTradingFees
860
- * @see https://yobit.net/en/api
861
- * @description fetch the trading fees for multiple markets
862
- * @param {object} [params] extra parameters specific to the exchange API endpoint
863
- * @returns {object} a dictionary of [fee structures]{@link https://docs.ccxt.com/?id=fee-structure} indexed by market symbols
864
- */
865
- async fetchTradingFees(params = {}) {
866
- await this.loadMarkets();
867
- const response = await this.publicGetInfo(params);
868
- //
869
- // {
870
- // "server_time":1615856752,
871
- // "pairs":{
872
- // "ltc_btc":{
873
- // "decimal_places":8,
874
- // "min_price":0.00000001,
875
- // "max_price":10000,
876
- // "min_amount":0.0001,
877
- // "min_total":0.0001,
878
- // "hidden":0,
879
- // "fee":0.2,
880
- // "fee_buyer":0.2,
881
- // "fee_seller":0.2
882
- // },
883
- // ...
884
- // },
885
- // }
886
- //
887
- const pairs = this.safeDict(response, 'pairs', {});
888
- const marketIds = Object.keys(pairs);
889
- const result = {};
890
- for (let i = 0; i < marketIds.length; i++) {
891
- const marketId = marketIds[i];
892
- const pair = this.safeDict(pairs, marketId, {});
893
- const symbol = this.safeSymbol(marketId, undefined, '_');
894
- const takerString = this.safeString(pair, 'fee_buyer');
895
- const makerString = this.safeString(pair, 'fee_seller');
896
- const taker = this.parseNumber(Precise["default"].stringDiv(takerString, '100'));
897
- const maker = this.parseNumber(Precise["default"].stringDiv(makerString, '100'));
898
- result[symbol] = {
899
- 'info': pair,
900
- 'symbol': symbol,
901
- 'taker': taker,
902
- 'maker': maker,
903
- 'percentage': true,
904
- 'tierBased': false,
905
- };
906
- }
907
- return result;
908
- }
909
- /**
910
- * @method
911
- * @name yobit#createOrder
912
- * @see https://yobit.net/en/api
913
- * @description create a trade order
914
- * @param {string} symbol unified symbol of the market to create an order in
915
- * @param {string} type must be 'limit'
916
- * @param {string} side 'buy' or 'sell'
917
- * @param {float} amount how much of currency you want to trade in units of base currency
918
- * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
919
- * @param {object} [params] extra parameters specific to the exchange API endpoint
920
- * @returns {object} an [order structure]{@link https://docs.ccxt.com/?id=order-structure}
921
- */
922
- async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
923
- if (type === 'market') {
924
- throw new errors.ExchangeError(this.id + ' createOrder() allows limit orders only');
925
- }
926
- await this.loadMarkets();
927
- const market = this.market(symbol);
928
- const request = {
929
- 'pair': market['id'],
930
- 'type': side,
931
- 'amount': this.amountToPrecision(symbol, amount),
932
- 'rate': this.priceToPrecision(symbol, price),
933
- };
934
- const response = await this.privatePostTrade(this.extend(request, params));
935
- //
936
- // {
937
- // "success":1,
938
- // "return": {
939
- // "received":0,
940
- // "remains":10,
941
- // "order_id":1101103635125179,
942
- // "funds": {
943
- // "usdt":27.84756553,
944
- // "usdttrc20":0,
945
- // "doge":19.98327206
946
- // },
947
- // "funds_incl_orders": {
948
- // "usdt":30.35256553,
949
- // "usdttrc20":0,
950
- // "doge":19.98327206
951
- // },
952
- // "server_time":1650114256
953
- // }
954
- // }
955
- //
956
- const result = this.safeDict(response, 'return');
957
- return this.parseOrder(result, market);
958
- }
959
- /**
960
- * @method
961
- * @name yobit#cancelOrder
962
- * @see https://yobit.net/en/api
963
- * @description cancels an open order
964
- * @param {string} id order id
965
- * @param {string} symbol not used by yobit cancelOrder ()
966
- * @param {object} [params] extra parameters specific to the exchange API endpoint
967
- * @returns {object} An [order structure]{@link https://docs.ccxt.com/?id=order-structure}
968
- */
969
- async cancelOrder(id, symbol = undefined, params = {}) {
970
- await this.loadMarkets();
971
- const request = {
972
- 'order_id': parseInt(id),
973
- };
974
- const response = await this.privatePostCancelOrder(this.extend(request, params));
975
- //
976
- // {
977
- // "success":1,
978
- // "return": {
979
- // "order_id":1101103632552304,
980
- // "funds": {
981
- // "usdt":30.71055443,
982
- // "usdttrc20":0,
983
- // "doge":9.98327206
984
- // },
985
- // "funds_incl_orders": {
986
- // "usdt":31.81275443,
987
- // "usdttrc20":0,
988
- // "doge":9.98327206
989
- // },
990
- // "server_time":1649918298
991
- // }
992
- // }
993
- //
994
- const result = this.safeDict(response, 'return', {});
995
- return this.parseOrder(result);
996
- }
997
- parseOrderStatus(status) {
998
- const statuses = {
999
- '0': 'open',
1000
- '1': 'closed',
1001
- '2': 'canceled',
1002
- '3': 'open', // or partially-filled and canceled? https://github.com/ccxt/ccxt/issues/1594
1003
- };
1004
- return this.safeString(statuses, status, status);
1005
- }
1006
- parseOrder(order, market = undefined) {
1007
- //
1008
- // createOrder (private)
1009
- //
1010
- // {
1011
- // "received":0,
1012
- // "remains":10,
1013
- // "order_id":1101103635125179,
1014
- // "funds": {
1015
- // "usdt":27.84756553,
1016
- // "usdttrc20":0,
1017
- // "doge":19.98327206
1018
- // },
1019
- // "funds_incl_orders": {
1020
- // "usdt":30.35256553,
1021
- // "usdttrc20":0,
1022
- // "doge":19.98327206
1023
- // },
1024
- // "server_time":1650114256
1025
- // }
1026
- //
1027
- // fetchOrder (private)
1028
- //
1029
- // {
1030
- // "id: "1101103635103335", // id-field is manually added in fetchOrder () from exchange response id-order dictionary structure
1031
- // "pair":"doge_usdt",
1032
- // "type":"buy",
1033
- // "start_amount":10,
1034
- // "amount":10,
1035
- // "rate":0.05,
1036
- // "timestamp_created":"1650112553",
1037
- // "status":0
1038
- // }
1039
- //
1040
- // fetchOpenOrders (private)
1041
- //
1042
- // {
1043
- // "id":"1101103635103335", // id-field is manually added in fetchOpenOrders () from exchange response id-order dictionary structure
1044
- // "pair":"doge_usdt",
1045
- // "type":"buy",
1046
- // "amount":10,
1047
- // "rate":0.05,
1048
- // "timestamp_created":"1650112553",
1049
- // "status":0
1050
- // }
1051
- //
1052
- // cancelOrder (private)
1053
- //
1054
- // {
1055
- // "order_id":1101103634000197,
1056
- // "funds": {
1057
- // "usdt":31.81275443,
1058
- // "usdttrc20":0,
1059
- // "doge":9.98327206
1060
- // },
1061
- // "funds_incl_orders": {
1062
- // "usdt":31.81275443,
1063
- // "usdttrc20":0,
1064
- // "doge":9.98327206
1065
- // }
1066
- // }
1067
- //
1068
- let id = this.safeString2(order, 'id', 'order_id');
1069
- let status = this.parseOrderStatus(this.safeString(order, 'status', 'open'));
1070
- if (id === '0') {
1071
- id = this.safeString(order, 'init_order_id');
1072
- status = 'closed';
1073
- }
1074
- const timestamp = this.safeTimestamp2(order, 'timestamp_created', 'server_time');
1075
- const marketId = this.safeString(order, 'pair');
1076
- const symbol = this.safeSymbol(marketId, market);
1077
- const amount = this.safeString(order, 'start_amount');
1078
- const remaining = this.safeString2(order, 'amount', 'remains');
1079
- const filled = this.safeString(order, 'received', '0.0');
1080
- const price = this.safeString(order, 'rate');
1081
- const fee = undefined;
1082
- const type = 'limit';
1083
- const side = this.safeString(order, 'type');
1084
- return this.safeOrder({
1085
- 'info': order,
1086
- 'id': id,
1087
- 'clientOrderId': undefined,
1088
- 'symbol': symbol,
1089
- 'timestamp': timestamp,
1090
- 'datetime': this.iso8601(timestamp),
1091
- 'lastTradeTimestamp': undefined,
1092
- 'type': type,
1093
- 'timeInForce': undefined,
1094
- 'postOnly': undefined,
1095
- 'side': side,
1096
- 'price': price,
1097
- 'triggerPrice': undefined,
1098
- 'cost': undefined,
1099
- 'amount': amount,
1100
- 'remaining': remaining,
1101
- 'filled': filled,
1102
- 'status': status,
1103
- 'fee': fee,
1104
- 'average': undefined,
1105
- 'trades': undefined,
1106
- }, market);
1107
- }
1108
- /**
1109
- * @method
1110
- * @name yobit#fetchOrder
1111
- * @see https://yobit.net/en/api
1112
- * @description fetches information on an order made by the user
1113
- * @param {string} id order id
1114
- * @param {string} symbol not used by yobit fetchOrder
1115
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1116
- * @returns {object} An [order structure]{@link https://docs.ccxt.com/?id=order-structure}
1117
- */
1118
- async fetchOrder(id, symbol = undefined, params = {}) {
1119
- await this.loadMarkets();
1120
- const intId = parseInt(id);
1121
- const request = {
1122
- 'order_id': intId,
1123
- };
1124
- const response = await this.privatePostOrderInfo(this.extend(request, params));
1125
- id = id.toString();
1126
- const orders = this.safeDict(response, 'return', {});
1127
- //
1128
- // {
1129
- // "success":1,
1130
- // "return": {
1131
- // "1101103635103335": {
1132
- // "pair":"doge_usdt",
1133
- // "type":"buy",
1134
- // "start_amount":10,
1135
- // "amount":10,
1136
- // "rate":0.05,
1137
- // "timestamp_created":"1650112553",
1138
- // "status":0
1139
- // }
1140
- // }
1141
- // }
1142
- //
1143
- return this.parseOrder(this.extend({ 'id': id }, orders[id]));
1144
- }
1145
- /**
1146
- * @method
1147
- * @name yobit#fetchOpenOrders
1148
- * @see https://yobit.net/en/api
1149
- * @description fetch all unfilled currently open orders
1150
- * @param {string} symbol unified market symbol
1151
- * @param {int} [since] the earliest time in ms to fetch open orders for
1152
- * @param {int} [limit] the maximum number of open order structures to retrieve
1153
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1154
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
1155
- */
1156
- async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
1157
- if (symbol === undefined) {
1158
- throw new errors.ArgumentsRequired(this.id + ' fetchOpenOrders() requires a symbol argument');
1159
- }
1160
- await this.loadMarkets();
1161
- const request = {};
1162
- const market = undefined;
1163
- if (symbol !== undefined) {
1164
- const marketInner = this.market(symbol);
1165
- request['pair'] = marketInner['id'];
1166
- }
1167
- const response = await this.privatePostActiveOrders(this.extend(request, params));
1168
- //
1169
- // {
1170
- // "success":1,
1171
- // "return": {
1172
- // "1101103634006799": {
1173
- // "pair":"doge_usdt",
1174
- // "type":"buy",
1175
- // "amount":10,
1176
- // "rate":0.1,
1177
- // "timestamp_created":"1650034937",
1178
- // "status":0
1179
- // },
1180
- // "1101103634006738": {
1181
- // "pair":"doge_usdt",
1182
- // "type":"buy",
1183
- // "amount":10,
1184
- // "rate":0.1,
1185
- // "timestamp_created":"1650034932",
1186
- // "status":0
1187
- // }
1188
- // }
1189
- // }
1190
- //
1191
- const result = this.safeDict(response, 'return', {});
1192
- return this.parseOrders(result, market, since, limit);
1193
- }
1194
- /**
1195
- * @method
1196
- * @name yobit#fetchMyTrades
1197
- * @see https://yobit.net/en/api
1198
- * @description fetch all trades made by the user
1199
- * @param {string} symbol unified market symbol
1200
- * @param {int} [since] the earliest time in ms to fetch trades for
1201
- * @param {int} [limit] the maximum number of trades structures to retrieve
1202
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1203
- * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/?id=trade-structure}
1204
- */
1205
- async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
1206
- if (symbol === undefined) {
1207
- throw new errors.ArgumentsRequired(this.id + ' fetchMyTrades() requires a symbol argument');
1208
- }
1209
- await this.loadMarkets();
1210
- const market = this.market(symbol);
1211
- // some derived classes use camelcase notation for request fields
1212
- const request = {
1213
- // 'from': 123456789, // trade ID, from which the display starts numerical 0 (test result: liqui ignores this field)
1214
- // 'count': 1000, // the number of trades for display numerical, default = 1000
1215
- // 'from_id': trade ID, from which the display starts numerical 0
1216
- // 'end_id': trade ID on which the display ends numerical ∞
1217
- // 'order': 'ASC', // sorting, default = DESC (test result: liqui ignores this field, most recent trade always goes last)
1218
- // 'since': 1234567890, // UTC start time, default = 0 (test result: liqui ignores this field)
1219
- // 'end': 1234567890, // UTC end time, default = ∞ (test result: liqui ignores this field)
1220
- 'pair': market['id'],
1221
- };
1222
- if (limit !== undefined) {
1223
- request['count'] = limit;
1224
- }
1225
- if (since !== undefined) {
1226
- request['since'] = this.parseToInt(since / 1000);
1227
- }
1228
- const response = await this.privatePostTradeHistory(this.extend(request, params));
1229
- //
1230
- // {
1231
- // "success":1,
1232
- // "return": {
1233
- // "200257004": {
1234
- // "pair":"doge_usdt",
1235
- // "type":"sell",
1236
- // "amount":139,
1237
- // "rate":0.139,
1238
- // "order_id":"2101103631773172",
1239
- // "is_your_order":1,
1240
- // "timestamp":"1649861561"
1241
- // }
1242
- // }
1243
- // }
1244
- //
1245
- const trades = this.safeDict(response, 'return', {});
1246
- const ids = Object.keys(trades);
1247
- const result = [];
1248
- for (let i = 0; i < ids.length; i++) {
1249
- const id = this.safeString(ids, i);
1250
- const trade = this.parseTrade(this.extend(trades[id], {
1251
- 'trade_id': id,
1252
- }), market);
1253
- result.push(trade);
1254
- }
1255
- return this.filterBySymbolSinceLimit(result, market['symbol'], since, limit);
1256
- }
1257
- /**
1258
- * @method
1259
- * @name yobit#createDepositAddress
1260
- * @see https://yobit.net/en/api
1261
- * @description create a currency deposit address
1262
- * @param {string} code unified currency code of the currency for the deposit address
1263
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1264
- * @returns {object} an [address structure]{@link https://docs.ccxt.com/?id=address-structure}
1265
- */
1266
- async createDepositAddress(code, params = {}) {
1267
- const request = {
1268
- 'need_new': 1,
1269
- };
1270
- const response = await this.fetchDepositAddress(code, this.extend(request, params));
1271
- const address = this.safeString(response, 'address');
1272
- this.checkAddress(address);
1273
- return {
1274
- 'currency': code,
1275
- 'address': address,
1276
- 'tag': undefined,
1277
- 'network': undefined,
1278
- 'info': response['info'],
1279
- };
1280
- }
1281
- /**
1282
- * @method
1283
- * @name yobit#fetchDepositAddress
1284
- * @description fetch the deposit address for a currency associated with this account
1285
- * @see https://yobit.net/en/api
1286
- * @param {string} code unified currency code
1287
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1288
- * @returns {object} an [address structure]{@link https://docs.ccxt.com/?id=address-structure}
1289
- */
1290
- async fetchDepositAddress(code, params = {}) {
1291
- await this.loadMarkets();
1292
- const currency = this.currency(code);
1293
- let currencyId = currency['id'];
1294
- const networks = this.safeDict(this.options, 'networks', {});
1295
- let network = this.safeStringUpper(params, 'network'); // this line allows the user to specify either ERC20 or ETH
1296
- network = this.safeString(networks, network, network); // handle ERC20>ETH alias
1297
- if (network !== undefined) {
1298
- if (network !== 'ERC20') {
1299
- currencyId = currencyId + network.toLowerCase();
1300
- }
1301
- params = this.omit(params, 'network');
1302
- }
1303
- const request = {
1304
- 'coinName': currencyId,
1305
- 'need_new': 0,
1306
- };
1307
- const response = await this.privatePostGetDepositAddress(this.extend(request, params));
1308
- const address = this.safeString(response['return'], 'address');
1309
- this.checkAddress(address);
1310
- return {
1311
- 'info': response,
1312
- 'currency': code,
1313
- 'network': undefined,
1314
- 'address': address,
1315
- 'tag': undefined,
1316
- };
1317
- }
1318
- /**
1319
- * @method
1320
- * @name yobit#withdraw
1321
- * @see https://yobit.net/en/api
1322
- * @description make a withdrawal
1323
- * @param {string} code unified currency code
1324
- * @param {float} amount the amount to withdraw
1325
- * @param {string} address the address to withdraw to
1326
- * @param {string} tag
1327
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1328
- * @returns {object} a [transaction structure]{@link https://docs.ccxt.com/?id=transaction-structure}
1329
- */
1330
- async withdraw(code, amount, address, tag = undefined, params = {}) {
1331
- [tag, params] = this.handleWithdrawTagAndParams(tag, params);
1332
- this.checkAddress(address);
1333
- await this.loadMarkets();
1334
- const currency = this.currency(code);
1335
- const request = {
1336
- 'coinName': currency['id'],
1337
- 'amount': amount,
1338
- 'address': address,
1339
- };
1340
- // no docs on the tag, yet...
1341
- if (tag !== undefined) {
1342
- throw new errors.ExchangeError(this.id + ' withdraw() does not support the tag argument yet due to a lack of docs on withdrawing with tag/memo on behalf of the exchange.');
1343
- }
1344
- const response = await this.privatePostWithdrawCoinsToAddress(this.extend(request, params));
1345
- return {
1346
- 'info': response,
1347
- 'id': undefined,
1348
- 'txid': undefined,
1349
- 'type': undefined,
1350
- 'currency': undefined,
1351
- 'network': undefined,
1352
- 'amount': undefined,
1353
- 'status': undefined,
1354
- 'timestamp': undefined,
1355
- 'datetime': undefined,
1356
- 'address': undefined,
1357
- 'addressFrom': undefined,
1358
- 'addressTo': undefined,
1359
- 'tag': undefined,
1360
- 'tagFrom': undefined,
1361
- 'tagTo': undefined,
1362
- 'updated': undefined,
1363
- 'comment': undefined,
1364
- 'fee': {
1365
- 'currency': undefined,
1366
- 'cost': undefined,
1367
- 'rate': undefined,
1368
- },
1369
- };
1370
- }
1371
- sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
1372
- let url = this.urls['api'][api];
1373
- const query = this.omit(params, this.extractParams(path));
1374
- if (api === 'private') {
1375
- this.checkRequiredCredentials();
1376
- const nonce = this.nonce();
1377
- body = this.urlencode(this.extend({
1378
- 'nonce': nonce,
1379
- 'method': path,
1380
- }, query));
1381
- const signature = this.hmac(this.encode(body), this.encode(this.secret), sha512.sha512);
1382
- headers = {
1383
- 'Content-Type': 'application/x-www-form-urlencoded',
1384
- 'Key': this.apiKey,
1385
- 'Sign': signature,
1386
- };
1387
- }
1388
- else if (api === 'public') {
1389
- url += '/' + this.version + '/' + this.implodeParams(path, params);
1390
- if (Object.keys(query).length) {
1391
- url += '?' + this.urlencode(query);
1392
- }
1393
- }
1394
- else {
1395
- url += '/' + this.implodeParams(path, params);
1396
- if (method === 'GET') {
1397
- if (Object.keys(query).length) {
1398
- url += '?' + this.urlencode(query);
1399
- }
1400
- }
1401
- else {
1402
- if (Object.keys(query).length) {
1403
- body = this.json(query);
1404
- headers = {
1405
- 'Content-Type': 'application/json',
1406
- };
1407
- }
1408
- }
1409
- }
1410
- return { 'url': url, 'method': method, 'body': body, 'headers': headers };
1411
- }
1412
- handleErrors(httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody) {
1413
- if (response === undefined) {
1414
- return undefined; // fallback to default error handler
1415
- }
1416
- if ('success' in response) {
1417
- //
1418
- // 1 - Liqui only returns the integer 'success' key from their private API
1419
- //
1420
- // { "success": 1, ... } httpCode === 200
1421
- // { "success": 0, ... } httpCode === 200
1422
- //
1423
- // 2 - However, exchanges derived from Liqui, can return non-integers
1424
- //
1425
- // It can be a numeric string
1426
- // { "sucesss": "1", ... }
1427
- // { "sucesss": "0", ... }, httpCode >= 200 (can be 403, 502, etc)
1428
- //
1429
- // Or just a string
1430
- // { "success": "true", ... }
1431
- // { "success": "false", ... }, httpCode >= 200
1432
- //
1433
- // Or a boolean
1434
- // { "success": true, ... }
1435
- // { "success": false, ... }, httpCode >= 200
1436
- //
1437
- // 3 - Oversimplified, Python PEP8 forbids comparison operator (===) of different types
1438
- //
1439
- // 4 - We do not want to copy-paste and duplicate the code of this handler to other exchanges derived from Liqui
1440
- //
1441
- // To cover points 1, 2, 3 and 4 combined this handler should work like this:
1442
- //
1443
- let success = this.safeValue(response, 'success'); // don't replace with safeBool here
1444
- if (typeof success === 'string') {
1445
- if ((success === 'true') || (success === '1')) {
1446
- success = true;
1447
- }
1448
- else {
1449
- success = false;
1450
- }
1451
- }
1452
- if (!success) {
1453
- const code = this.safeString(response, 'code');
1454
- const message = this.safeString(response, 'error');
1455
- const feedback = this.id + ' ' + body;
1456
- this.throwExactlyMatchedException(this.exceptions['exact'], code, feedback);
1457
- this.throwExactlyMatchedException(this.exceptions['exact'], message, feedback);
1458
- this.throwBroadlyMatchedException(this.exceptions['broad'], message, feedback);
1459
- throw new errors.ExchangeError(feedback); // unknown message
1460
- }
1461
- }
1462
- return undefined;
1463
- }
1464
- }
1465
-
1466
- exports["default"] = yobit;