ccxt 4.4.58 → 4.4.59

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 (974) hide show
  1. package/README.md +29 -32
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +1 -6
  4. package/dist/cjs/src/abstract/ace.js +1 -1
  5. package/dist/cjs/src/abstract/alpaca.js +1 -1
  6. package/dist/cjs/src/abstract/ascendex.js +1 -1
  7. package/dist/cjs/src/abstract/bigone.js +1 -1
  8. package/dist/cjs/src/abstract/binance.js +1 -1
  9. package/dist/cjs/src/abstract/bingx.js +1 -1
  10. package/dist/cjs/src/abstract/bit2c.js +1 -1
  11. package/dist/cjs/src/abstract/bitbank.js +1 -1
  12. package/dist/cjs/src/abstract/bitbns.js +1 -1
  13. package/dist/cjs/src/abstract/bitfinex.js +1 -1
  14. package/dist/cjs/src/abstract/bitfinex1.js +1 -1
  15. package/dist/cjs/src/abstract/bitflyer.js +1 -1
  16. package/dist/cjs/src/abstract/bitget.js +1 -1
  17. package/dist/cjs/src/abstract/bithumb.js +1 -1
  18. package/dist/cjs/src/abstract/bitmart.js +1 -1
  19. package/dist/cjs/src/abstract/bitmex.js +1 -1
  20. package/dist/cjs/src/abstract/bitopro.js +1 -1
  21. package/dist/cjs/src/abstract/bitrue.js +1 -1
  22. package/dist/cjs/src/abstract/bitso.js +1 -1
  23. package/dist/cjs/src/abstract/bitstamp.js +1 -1
  24. package/dist/cjs/src/abstract/bitteam.js +1 -1
  25. package/dist/cjs/src/abstract/bitvavo.js +1 -1
  26. package/dist/cjs/src/abstract/bl3p.js +1 -1
  27. package/dist/cjs/src/abstract/blockchaincom.js +1 -1
  28. package/dist/cjs/src/abstract/blofin.js +1 -1
  29. package/dist/cjs/src/abstract/btcalpha.js +1 -1
  30. package/dist/cjs/src/abstract/btcbox.js +1 -1
  31. package/dist/cjs/src/abstract/btcmarkets.js +1 -1
  32. package/dist/cjs/src/abstract/btcturk.js +1 -1
  33. package/dist/cjs/src/abstract/bybit.js +1 -1
  34. package/dist/cjs/src/abstract/cex.js +1 -1
  35. package/dist/cjs/src/abstract/coinbase.js +1 -1
  36. package/dist/cjs/src/abstract/coinbaseexchange.js +1 -1
  37. package/dist/cjs/src/abstract/coinbaseinternational.js +1 -1
  38. package/dist/cjs/src/abstract/coincatch.js +1 -1
  39. package/dist/cjs/src/abstract/coincheck.js +1 -1
  40. package/dist/cjs/src/abstract/coinex.js +1 -1
  41. package/dist/cjs/src/abstract/coinlist.js +1 -1
  42. package/dist/cjs/src/abstract/coinmate.js +1 -1
  43. package/dist/cjs/src/abstract/coinmetro.js +1 -1
  44. package/dist/cjs/src/abstract/coinone.js +1 -1
  45. package/dist/cjs/src/abstract/coinsph.js +1 -1
  46. package/dist/cjs/src/abstract/coinspot.js +1 -1
  47. package/dist/cjs/src/abstract/cryptocom.js +1 -1
  48. package/dist/cjs/src/abstract/currencycom.js +1 -1
  49. package/dist/cjs/src/abstract/defx.js +1 -1
  50. package/dist/cjs/src/abstract/delta.js +1 -1
  51. package/dist/cjs/src/abstract/deribit.js +1 -1
  52. package/dist/cjs/src/abstract/digifinex.js +1 -1
  53. package/dist/cjs/src/abstract/ellipx.js +1 -1
  54. package/dist/cjs/src/abstract/exmo.js +1 -1
  55. package/dist/cjs/src/abstract/gate.js +1 -1
  56. package/dist/cjs/src/abstract/gemini.js +1 -1
  57. package/dist/cjs/src/abstract/hashkey.js +1 -1
  58. package/dist/cjs/src/abstract/hitbtc.js +1 -1
  59. package/dist/cjs/src/abstract/hollaex.js +1 -1
  60. package/dist/cjs/src/abstract/htx.js +1 -1
  61. package/dist/cjs/src/abstract/huobijp.js +1 -1
  62. package/dist/cjs/src/abstract/hyperliquid.js +1 -1
  63. package/dist/cjs/src/abstract/idex.js +1 -1
  64. package/dist/cjs/src/abstract/independentreserve.js +1 -1
  65. package/dist/cjs/src/abstract/indodax.js +1 -1
  66. package/dist/cjs/src/abstract/kraken.js +1 -1
  67. package/dist/cjs/src/abstract/krakenfutures.js +1 -1
  68. package/dist/cjs/src/abstract/kucoin.js +1 -1
  69. package/dist/cjs/src/abstract/kucoinfutures.js +1 -1
  70. package/dist/cjs/src/abstract/kuna.js +1 -1
  71. package/dist/cjs/src/abstract/latoken.js +1 -1
  72. package/dist/cjs/src/abstract/lbank.js +1 -1
  73. package/dist/cjs/src/abstract/luno.js +1 -1
  74. package/dist/cjs/src/abstract/mercado.js +1 -1
  75. package/dist/cjs/src/abstract/mexc.js +1 -1
  76. package/dist/cjs/src/abstract/ndax.js +1 -1
  77. package/dist/cjs/src/abstract/novadax.js +1 -1
  78. package/dist/cjs/src/abstract/oceanex.js +1 -1
  79. package/dist/cjs/src/abstract/okcoin.js +1 -1
  80. package/dist/cjs/src/abstract/okx.js +1 -1
  81. package/dist/cjs/src/abstract/onetrading.js +1 -1
  82. package/dist/cjs/src/abstract/oxfun.js +1 -1
  83. package/dist/cjs/src/abstract/p2b.js +1 -1
  84. package/dist/cjs/src/abstract/paradex.js +1 -1
  85. package/dist/cjs/src/abstract/paymium.js +1 -1
  86. package/dist/cjs/src/abstract/phemex.js +1 -1
  87. package/dist/cjs/src/abstract/poloniex.js +1 -1
  88. package/dist/cjs/src/abstract/poloniexfutures.js +1 -1
  89. package/dist/cjs/src/abstract/probit.js +1 -1
  90. package/dist/cjs/src/abstract/timex.js +1 -1
  91. package/dist/cjs/src/abstract/tokocrypto.js +1 -1
  92. package/dist/cjs/src/abstract/tradeogre.js +1 -1
  93. package/dist/cjs/src/abstract/upbit.js +1 -1
  94. package/dist/cjs/src/abstract/vertex.js +1 -1
  95. package/dist/cjs/src/abstract/wavesexchange.js +1 -1
  96. package/dist/cjs/src/abstract/wazirx.js +1 -1
  97. package/dist/cjs/src/abstract/whitebit.js +1 -1
  98. package/dist/cjs/src/abstract/woo.js +1 -1
  99. package/dist/cjs/src/abstract/woofipro.js +1 -1
  100. package/dist/cjs/src/abstract/xt.js +1 -1
  101. package/dist/cjs/src/abstract/yobit.js +1 -1
  102. package/dist/cjs/src/abstract/zaif.js +1 -1
  103. package/dist/cjs/src/abstract/zonda.js +1 -1
  104. package/dist/cjs/src/ace.js +1 -1
  105. package/dist/cjs/src/alpaca.js +2 -2
  106. package/dist/cjs/src/ascendex.js +1 -1
  107. package/dist/cjs/src/base/Exchange.js +2 -1
  108. package/dist/cjs/src/base/Precise.js +6 -0
  109. package/dist/cjs/src/base/errors.js +6 -0
  110. package/dist/cjs/src/base/functions/crypto.js +1 -1
  111. package/dist/cjs/src/base/functions/encode.js +1 -1
  112. package/dist/cjs/src/base/functions/misc.js +1 -0
  113. package/dist/cjs/src/base/functions/number.js +6 -0
  114. package/dist/cjs/src/base/functions/platform.js +6 -0
  115. package/dist/cjs/src/base/functions/rsa.js +1 -0
  116. package/dist/cjs/src/base/functions/string.js +6 -0
  117. package/dist/cjs/src/base/functions/throttle.js +1 -1
  118. package/dist/cjs/src/base/functions/time.js +6 -0
  119. package/dist/cjs/src/base/functions/totp.js +1 -0
  120. package/dist/cjs/src/base/functions/type.js +6 -0
  121. package/dist/cjs/src/base/functions.js +1 -1
  122. package/dist/cjs/src/base/ws/Cache.js +6 -0
  123. package/dist/cjs/src/base/ws/Client.js +1 -0
  124. package/dist/cjs/src/base/ws/Future.js +1 -1
  125. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  126. package/dist/cjs/src/base/ws/OrderBookSide.js +6 -0
  127. package/dist/cjs/src/base/ws/WsClient.js +1 -1
  128. package/dist/cjs/src/bequant.js +1 -1
  129. package/dist/cjs/src/bigone.js +3 -3
  130. package/dist/cjs/src/binance.js +1 -1
  131. package/dist/cjs/src/binancecoinm.js +1 -1
  132. package/dist/cjs/src/binanceus.js +1 -1
  133. package/dist/cjs/src/binanceusdm.js +1 -1
  134. package/dist/cjs/src/bingx.js +1 -1
  135. package/dist/cjs/src/bit2c.js +8 -8
  136. package/dist/cjs/src/bitbank.js +1 -1
  137. package/dist/cjs/src/bitbns.js +1 -1
  138. package/dist/cjs/src/bitcoincom.js +1 -1
  139. package/dist/cjs/src/bitfinex.js +1 -1
  140. package/dist/cjs/src/bitfinex1.js +1 -1
  141. package/dist/cjs/src/bitflyer.js +1 -1
  142. package/dist/cjs/src/bitget.js +2 -2
  143. package/dist/cjs/src/bithumb.js +1 -1
  144. package/dist/cjs/src/bitmart.js +149 -95
  145. package/dist/cjs/src/bitmex.js +1 -1
  146. package/dist/cjs/src/bitopro.js +1 -1
  147. package/dist/cjs/src/bitpanda.js +1 -1
  148. package/dist/cjs/src/bitrue.js +1 -1
  149. package/dist/cjs/src/bitso.js +1 -1
  150. package/dist/cjs/src/bitstamp.js +1 -1
  151. package/dist/cjs/src/bitteam.js +1 -1
  152. package/dist/cjs/src/bl3p.js +1 -1
  153. package/dist/cjs/src/blockchaincom.js +1 -1
  154. package/dist/cjs/src/blofin.js +1 -1
  155. package/dist/cjs/src/btcalpha.js +1 -1
  156. package/dist/cjs/src/btcbox.js +1 -1
  157. package/dist/cjs/src/btcmarkets.js +1 -1
  158. package/dist/cjs/src/btcturk.js +1 -1
  159. package/dist/cjs/src/bybit.js +2 -2
  160. package/dist/cjs/src/cex.js +1 -1
  161. package/dist/cjs/src/coinbase.js +1 -1
  162. package/dist/cjs/src/coinbaseadvanced.js +1 -1
  163. package/dist/cjs/src/coinbaseinternational.js +1 -1
  164. package/dist/cjs/src/coincatch.js +1 -1
  165. package/dist/cjs/src/coincheck.js +1 -1
  166. package/dist/cjs/src/coinex.js +1 -1
  167. package/dist/cjs/src/coinlist.js +1 -0
  168. package/dist/cjs/src/coinmate.js +1 -1
  169. package/dist/cjs/src/coinmetro.js +1 -1
  170. package/dist/cjs/src/coinone.js +1 -1
  171. package/dist/cjs/src/coinsph.js +1 -0
  172. package/dist/cjs/src/coinspot.js +1 -1
  173. package/dist/cjs/src/cryptocom.js +1 -1
  174. package/dist/cjs/src/currencycom.js +1 -1
  175. package/dist/cjs/src/defx.js +1 -1
  176. package/dist/cjs/src/delta.js +1 -1
  177. package/dist/cjs/src/deribit.js +1 -1
  178. package/dist/cjs/src/digifinex.js +1 -1
  179. package/dist/cjs/src/ellipx.js +1 -1
  180. package/dist/cjs/src/exmo.js +1 -1
  181. package/dist/cjs/src/fmfwio.js +1 -1
  182. package/dist/cjs/src/gate.js +1 -1
  183. package/dist/cjs/src/gateio.js +1 -1
  184. package/dist/cjs/src/gemini.js +1 -1
  185. package/dist/cjs/src/hashkey.js +1 -1
  186. package/dist/cjs/src/hitbtc.js +2 -1
  187. package/dist/cjs/src/hollaex.js +1 -1
  188. package/dist/cjs/src/htx.js +1 -1
  189. package/dist/cjs/src/huobi.js +1 -1
  190. package/dist/cjs/src/huobijp.js +1 -1
  191. package/dist/cjs/src/hyperliquid.js +87 -2
  192. package/dist/cjs/src/idex.js +1 -1
  193. package/dist/cjs/src/independentreserve.js +1 -1
  194. package/dist/cjs/src/indodax.js +1 -1
  195. package/dist/cjs/src/kraken.js +1 -1
  196. package/dist/cjs/src/krakenfutures.js +1 -1
  197. package/dist/cjs/src/kucoin.js +1 -1
  198. package/dist/cjs/src/kucoinfutures.js +1 -1
  199. package/dist/cjs/src/kuna.js +1 -1
  200. package/dist/cjs/src/latoken.js +1 -1
  201. package/dist/cjs/src/lbank.js +1 -1
  202. package/dist/cjs/src/luno.js +1 -1
  203. package/dist/cjs/src/mercado.js +1 -1
  204. package/dist/cjs/src/mexc.js +1 -1
  205. package/dist/cjs/src/myokx.js +1 -1
  206. package/dist/cjs/src/ndax.js +1 -1
  207. package/dist/cjs/src/novadax.js +1 -1
  208. package/dist/cjs/src/oceanex.js +1 -1
  209. package/dist/cjs/src/okcoin.js +1 -1
  210. package/dist/cjs/src/okx.js +1 -1
  211. package/dist/cjs/src/onetrading.js +1 -1
  212. package/dist/cjs/src/oxfun.js +1 -1
  213. package/dist/cjs/src/p2b.js +1 -1
  214. package/dist/cjs/src/paradex.js +1 -1
  215. package/dist/cjs/src/paymium.js +1 -1
  216. package/dist/cjs/src/poloniex.js +1 -1
  217. package/dist/cjs/src/poloniexfutures.js +1 -1
  218. package/dist/cjs/src/pro/alpaca.js +1 -1
  219. package/dist/cjs/src/pro/ascendex.js +1 -1
  220. package/dist/cjs/src/pro/bequant.js +1 -1
  221. package/dist/cjs/src/pro/binancecoinm.js +1 -1
  222. package/dist/cjs/src/pro/binanceus.js +2 -2
  223. package/dist/cjs/src/pro/binanceusdm.js +1 -1
  224. package/dist/cjs/src/pro/bingx.js +1 -1
  225. package/dist/cjs/src/pro/bitcoincom.js +1 -1
  226. package/dist/cjs/src/pro/bitfinex.js +1 -1
  227. package/dist/cjs/src/pro/bitfinex1.js +1 -1
  228. package/dist/cjs/src/pro/bitget.js +1 -1
  229. package/dist/cjs/src/pro/bithumb.js +1 -1
  230. package/dist/cjs/src/pro/bitmart.js +1 -1
  231. package/dist/cjs/src/pro/bitmex.js +1 -1
  232. package/dist/cjs/src/pro/bitpanda.js +1 -1
  233. package/dist/cjs/src/pro/bitrue.js +1 -1
  234. package/dist/cjs/src/pro/bitstamp.js +1 -1
  235. package/dist/cjs/src/pro/bitvavo.js +1 -1
  236. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  237. package/dist/cjs/src/pro/blofin.js +1 -1
  238. package/dist/cjs/src/pro/bybit.js +1 -1
  239. package/dist/cjs/src/pro/cex.js +1 -1
  240. package/dist/cjs/src/pro/coinbase.js +1 -1
  241. package/dist/cjs/src/pro/coinbaseadvanced.js +1 -1
  242. package/dist/cjs/src/pro/coinbaseexchange.js +1 -1
  243. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  244. package/dist/cjs/src/pro/coincatch.js +1 -1
  245. package/dist/cjs/src/pro/coincheck.js +1 -1
  246. package/dist/cjs/src/pro/coinex.js +1 -1
  247. package/dist/cjs/src/pro/coinone.js +1 -1
  248. package/dist/cjs/src/pro/cryptocom.js +1 -1
  249. package/dist/cjs/src/pro/currencycom.js +1 -1
  250. package/dist/cjs/src/pro/defx.js +1 -1
  251. package/dist/cjs/src/pro/deribit.js +1 -1
  252. package/dist/cjs/src/pro/exmo.js +1 -1
  253. package/dist/cjs/src/pro/gate.js +1 -1
  254. package/dist/cjs/src/pro/gateio.js +1 -1
  255. package/dist/cjs/src/pro/gemini.js +1 -1
  256. package/dist/cjs/src/pro/hashkey.js +1 -1
  257. package/dist/cjs/src/pro/hitbtc.js +1 -1
  258. package/dist/cjs/src/pro/hollaex.js +1 -1
  259. package/dist/cjs/src/pro/htx.js +1 -1
  260. package/dist/cjs/src/pro/huobi.js +1 -1
  261. package/dist/cjs/src/pro/hyperliquid.js +1 -1
  262. package/dist/cjs/src/pro/idex.js +1 -1
  263. package/dist/cjs/src/pro/independentreserve.js +1 -1
  264. package/dist/cjs/src/pro/kraken.js +1 -1
  265. package/dist/cjs/src/pro/krakenfutures.js +1 -1
  266. package/dist/cjs/src/pro/kucoin.js +1 -1
  267. package/dist/cjs/src/pro/kucoinfutures.js +1 -1
  268. package/dist/cjs/src/pro/lbank.js +1 -0
  269. package/dist/cjs/src/pro/luno.js +1 -1
  270. package/dist/cjs/src/pro/mexc.js +1 -1
  271. package/dist/cjs/src/pro/myokx.js +1 -1
  272. package/dist/cjs/src/pro/ndax.js +1 -1
  273. package/dist/cjs/src/pro/okcoin.js +1 -1
  274. package/dist/cjs/src/pro/okx.js +1 -1
  275. package/dist/cjs/src/pro/onetrading.js +1 -1
  276. package/dist/cjs/src/pro/oxfun.js +1 -1
  277. package/dist/cjs/src/pro/p2b.js +1 -1
  278. package/dist/cjs/src/pro/paradex.js +1 -1
  279. package/dist/cjs/src/pro/phemex.js +1 -1
  280. package/dist/cjs/src/pro/poloniex.js +1 -1
  281. package/dist/cjs/src/pro/poloniexfutures.js +1 -1
  282. package/dist/cjs/src/pro/probit.js +1 -1
  283. package/dist/cjs/src/pro/upbit.js +1 -1
  284. package/dist/cjs/src/pro/wazirx.js +1 -1
  285. package/dist/cjs/src/pro/whitebit.js +1 -1
  286. package/dist/cjs/src/pro/xt.js +1 -1
  287. package/dist/cjs/src/probit.js +1 -1
  288. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +6 -0
  289. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  290. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +6 -0
  291. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +1 -0
  292. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +1 -0
  293. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +1 -0
  294. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +1 -0
  295. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +1 -0
  296. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +1 -0
  297. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +1 -0
  298. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +1 -0
  299. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +1 -0
  300. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +1 -0
  301. package/dist/cjs/src/static_dependencies/ethers/fragments.js +6 -0
  302. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +6 -0
  303. package/dist/cjs/src/static_dependencies/ethers/index.js +1 -10
  304. package/dist/cjs/src/static_dependencies/ethers/interface.js +6 -0
  305. package/dist/cjs/src/static_dependencies/ethers/typed.js +6 -0
  306. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +1 -13
  307. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +1 -6
  308. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +1 -9
  309. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +6 -0
  310. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +6 -0
  311. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +1 -7
  312. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +1 -5
  313. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +6 -0
  314. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +1 -8
  315. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  316. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +1 -0
  317. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +1 -0
  318. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  319. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  320. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  321. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  322. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +1 -0
  323. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  324. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  325. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  326. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  327. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  328. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  329. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  330. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +6 -0
  331. package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
  332. package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
  333. package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
  334. package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +1 -0
  335. package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
  336. package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
  337. package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
  338. package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
  339. package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
  340. package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
  341. package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
  342. package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
  343. package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +6 -0
  344. package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +1 -0
  345. package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +6 -0
  346. package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +6 -0
  347. package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +1 -0
  348. package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +1 -0
  349. package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +1 -0
  350. package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +1 -0
  351. package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +1 -0
  352. package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +1 -0
  353. package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
  354. package/dist/cjs/src/static_dependencies/node-fetch/body.js +1 -5
  355. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +1 -0
  356. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +6 -0
  357. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +1 -0
  358. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +1 -5
  359. package/dist/cjs/src/static_dependencies/node-fetch/index.js +1 -7
  360. package/dist/cjs/src/static_dependencies/node-fetch/request.js +1 -7
  361. package/dist/cjs/src/static_dependencies/node-fetch/response.js +1 -5
  362. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  363. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  364. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +6 -0
  365. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +1 -0
  366. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +1 -0
  367. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +1 -0
  368. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +1 -0
  369. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  370. package/dist/cjs/src/static_dependencies/scure-base/index.js +6 -0
  371. package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
  372. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  373. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +6 -0
  374. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  375. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  376. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +6 -0
  377. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +6 -0
  378. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +6 -0
  379. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  380. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  381. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  382. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +1 -0
  383. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +1 -0
  384. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  385. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  386. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  387. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +1 -0
  388. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  389. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +1 -0
  390. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +1 -0
  391. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  392. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +1 -0
  393. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +1 -0
  394. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +1 -0
  395. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  396. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +1 -4
  397. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +1 -0
  398. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +1 -3
  399. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +1 -0
  400. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +1 -0
  401. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +1 -0
  402. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +1 -0
  403. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  404. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +6 -0
  405. package/dist/cjs/src/timex.js +1 -0
  406. package/dist/cjs/src/tokocrypto.js +1 -1
  407. package/dist/cjs/src/tradeogre.js +1 -1
  408. package/dist/cjs/src/upbit.js +1 -1
  409. package/dist/cjs/src/vertex.js +2 -2
  410. package/dist/cjs/src/wavesexchange.js +1 -1
  411. package/dist/cjs/src/wazirx.js +1 -0
  412. package/dist/cjs/src/whitebit.js +1 -1
  413. package/dist/cjs/src/woo.js +1 -1
  414. package/dist/cjs/src/woofipro.js +1 -1
  415. package/dist/cjs/src/xt.js +1 -1
  416. package/dist/cjs/src/yobit.js +1 -1
  417. package/dist/cjs/src/zaif.js +1 -1
  418. package/dist/cjs/src/zonda.js +1 -1
  419. package/js/ccxt.d.ts +2 -8
  420. package/js/ccxt.js +8 -6
  421. package/js/src/abstract/ace.js +6 -0
  422. package/js/src/abstract/alpaca.js +6 -0
  423. package/js/src/abstract/ascendex.js +6 -0
  424. package/js/src/abstract/bequant.js +6 -0
  425. package/js/src/abstract/bigone.js +6 -0
  426. package/js/src/abstract/binance.js +6 -0
  427. package/js/src/abstract/binancecoinm.js +6 -0
  428. package/js/src/abstract/binanceus.js +6 -0
  429. package/js/src/abstract/binanceusdm.js +6 -0
  430. package/js/src/abstract/bingx.js +6 -0
  431. package/js/src/abstract/bit2c.js +6 -0
  432. package/js/src/abstract/bitbank.js +6 -0
  433. package/js/src/abstract/bitbns.js +6 -0
  434. package/js/src/abstract/bitcoincom.js +6 -0
  435. package/js/src/abstract/bitfinex.js +6 -0
  436. package/js/src/abstract/bitfinex1.js +6 -0
  437. package/js/src/abstract/bitflyer.js +6 -0
  438. package/js/src/abstract/bitget.js +6 -0
  439. package/js/src/abstract/bithumb.js +6 -0
  440. package/js/src/abstract/bitmart.js +6 -0
  441. package/js/src/abstract/bitmex.js +6 -0
  442. package/js/src/abstract/bitopro.js +6 -0
  443. package/js/src/abstract/bitpanda.js +6 -0
  444. package/js/src/abstract/bitrue.js +6 -0
  445. package/js/src/abstract/bitso.js +6 -0
  446. package/js/src/abstract/bitstamp.js +6 -0
  447. package/js/src/abstract/bitteam.js +6 -0
  448. package/js/src/abstract/bitvavo.js +6 -0
  449. package/js/src/abstract/bl3p.js +6 -0
  450. package/js/src/abstract/blockchaincom.js +6 -0
  451. package/js/src/abstract/blofin.js +6 -0
  452. package/js/src/abstract/btcalpha.js +6 -0
  453. package/js/src/abstract/btcbox.js +6 -0
  454. package/js/src/abstract/btcmarkets.js +6 -0
  455. package/js/src/abstract/btcturk.js +6 -0
  456. package/js/src/abstract/bybit.js +6 -0
  457. package/js/src/abstract/cex.js +6 -0
  458. package/js/src/abstract/coinbase.js +6 -0
  459. package/js/src/abstract/coinbaseadvanced.js +6 -0
  460. package/js/src/abstract/coinbaseexchange.js +6 -0
  461. package/js/src/abstract/coinbaseinternational.js +6 -0
  462. package/js/src/abstract/coincatch.js +6 -0
  463. package/js/src/abstract/coincheck.js +6 -0
  464. package/js/src/abstract/coinex.js +6 -0
  465. package/js/src/abstract/coinlist.js +6 -0
  466. package/js/src/abstract/coinmate.js +6 -0
  467. package/js/src/abstract/coinmetro.js +6 -0
  468. package/js/src/abstract/coinone.js +6 -0
  469. package/js/src/abstract/coinsph.js +6 -0
  470. package/js/src/abstract/coinspot.js +6 -0
  471. package/js/src/abstract/cryptocom.js +6 -0
  472. package/js/src/abstract/currencycom.js +6 -0
  473. package/js/src/abstract/defx.js +6 -0
  474. package/js/src/abstract/delta.js +6 -0
  475. package/js/src/abstract/deribit.js +6 -0
  476. package/js/src/abstract/digifinex.js +6 -0
  477. package/js/src/abstract/ellipx.js +6 -0
  478. package/js/src/abstract/exmo.js +6 -0
  479. package/js/src/abstract/fmfwio.js +6 -0
  480. package/js/src/abstract/gate.js +6 -0
  481. package/js/src/abstract/gateio.js +6 -0
  482. package/js/src/abstract/gemini.js +6 -0
  483. package/js/src/abstract/hashkey.js +6 -0
  484. package/js/src/abstract/hitbtc.js +6 -0
  485. package/js/src/abstract/hollaex.js +6 -0
  486. package/js/src/abstract/htx.js +6 -0
  487. package/js/src/abstract/huobi.js +6 -0
  488. package/js/src/abstract/huobijp.js +6 -0
  489. package/js/src/abstract/hyperliquid.js +6 -0
  490. package/js/src/abstract/idex.js +6 -0
  491. package/js/src/abstract/independentreserve.js +6 -0
  492. package/js/src/abstract/indodax.js +6 -0
  493. package/js/src/abstract/kraken.js +6 -0
  494. package/js/src/abstract/krakenfutures.js +6 -0
  495. package/js/src/abstract/kucoin.js +6 -0
  496. package/js/src/abstract/kucoinfutures.js +6 -0
  497. package/js/src/abstract/kuna.js +6 -0
  498. package/js/src/abstract/latoken.js +6 -0
  499. package/js/src/abstract/lbank.js +6 -0
  500. package/js/src/abstract/luno.js +6 -0
  501. package/js/src/abstract/mercado.js +6 -0
  502. package/js/src/abstract/mexc.js +6 -0
  503. package/js/src/abstract/myokx.js +6 -0
  504. package/js/src/abstract/ndax.js +6 -0
  505. package/js/src/abstract/novadax.js +6 -0
  506. package/js/src/abstract/oceanex.js +6 -0
  507. package/js/src/abstract/okcoin.js +6 -0
  508. package/js/src/abstract/okx.js +6 -0
  509. package/js/src/abstract/onetrading.js +6 -0
  510. package/js/src/abstract/oxfun.js +6 -0
  511. package/js/src/abstract/p2b.js +6 -0
  512. package/js/src/abstract/paradex.js +6 -0
  513. package/js/src/abstract/paymium.js +6 -0
  514. package/js/src/abstract/phemex.js +6 -0
  515. package/js/src/abstract/poloniex.js +6 -0
  516. package/js/src/abstract/poloniexfutures.js +6 -0
  517. package/js/src/abstract/probit.js +6 -0
  518. package/js/src/abstract/timex.js +6 -0
  519. package/js/src/abstract/tokocrypto.js +6 -0
  520. package/js/src/abstract/tradeogre.js +6 -0
  521. package/js/src/abstract/upbit.js +6 -0
  522. package/js/src/abstract/vertex.js +6 -0
  523. package/js/src/abstract/wavesexchange.js +6 -0
  524. package/js/src/abstract/wazirx.js +6 -0
  525. package/js/src/abstract/whitebit.js +6 -0
  526. package/js/src/abstract/woo.js +6 -0
  527. package/js/src/abstract/woofipro.js +6 -0
  528. package/js/src/abstract/xt.js +6 -0
  529. package/js/src/abstract/yobit.js +6 -0
  530. package/js/src/abstract/zaif.js +6 -0
  531. package/js/src/abstract/zonda.js +6 -0
  532. package/js/src/ace.js +6 -0
  533. package/js/src/alpaca.d.ts +1 -1
  534. package/js/src/alpaca.js +7 -1
  535. package/js/src/ascendex.d.ts +1 -1
  536. package/js/src/ascendex.js +6 -0
  537. package/js/src/base/Exchange.d.ts +1 -331
  538. package/js/src/base/Exchange.js +8 -1
  539. package/js/src/base/Precise.js +6 -0
  540. package/js/src/base/errorHierarchy.js +6 -0
  541. package/js/src/base/errors.js +6 -0
  542. package/js/src/base/functions/crypto.js +6 -0
  543. package/js/src/base/functions/encode.js +6 -0
  544. package/js/src/base/functions/generic.js +6 -0
  545. package/js/src/base/functions/misc.js +6 -0
  546. package/js/src/base/functions/number.js +6 -0
  547. package/js/src/base/functions/platform.js +6 -0
  548. package/js/src/base/functions/rsa.js +6 -0
  549. package/js/src/base/functions/string.js +6 -0
  550. package/js/src/base/functions/throttle.js +6 -0
  551. package/js/src/base/functions/time.js +6 -0
  552. package/js/src/base/functions/totp.js +6 -0
  553. package/js/src/base/functions/type.js +6 -0
  554. package/js/src/base/functions.js +6 -0
  555. package/js/src/base/types.d.ts +2 -2
  556. package/js/src/base/types.js +6 -0
  557. package/js/src/base/ws/Cache.js +6 -0
  558. package/js/src/base/ws/Client.js +6 -0
  559. package/js/src/base/ws/Future.js +6 -0
  560. package/js/src/base/ws/OrderBook.js +6 -0
  561. package/js/src/base/ws/OrderBookSide.js +6 -0
  562. package/js/src/base/ws/WsClient.js +6 -0
  563. package/js/src/base/ws/functions.js +6 -0
  564. package/js/src/bequant.js +6 -0
  565. package/js/src/bigone.d.ts +1 -1
  566. package/js/src/bigone.js +8 -2
  567. package/js/src/binance.d.ts +1 -1
  568. package/js/src/binance.js +6 -0
  569. package/js/src/binancecoinm.js +6 -0
  570. package/js/src/binanceus.js +6 -0
  571. package/js/src/binanceusdm.js +6 -0
  572. package/js/src/bingx.d.ts +1 -1
  573. package/js/src/bingx.js +6 -0
  574. package/js/src/bit2c.js +13 -7
  575. package/js/src/bitbank.js +6 -0
  576. package/js/src/bitbns.js +6 -0
  577. package/js/src/bitcoincom.js +6 -0
  578. package/js/src/bitfinex.js +6 -0
  579. package/js/src/bitfinex1.js +6 -0
  580. package/js/src/bitflyer.js +6 -0
  581. package/js/src/bitget.d.ts +1 -1
  582. package/js/src/bitget.js +7 -1
  583. package/js/src/bithumb.js +6 -0
  584. package/js/src/bitmart.d.ts +5 -1
  585. package/js/src/bitmart.js +154 -94
  586. package/js/src/bitmex.js +6 -0
  587. package/js/src/bitopro.js +6 -0
  588. package/js/src/bitpanda.js +6 -0
  589. package/js/src/bitrue.d.ts +1 -1
  590. package/js/src/bitrue.js +6 -0
  591. package/js/src/bitso.js +6 -0
  592. package/js/src/bitstamp.js +6 -0
  593. package/js/src/bitteam.js +6 -0
  594. package/js/src/bitvavo.d.ts +1 -1
  595. package/js/src/bitvavo.js +6 -0
  596. package/js/src/bl3p.js +6 -0
  597. package/js/src/blockchaincom.js +6 -0
  598. package/js/src/blofin.js +6 -0
  599. package/js/src/btcalpha.js +6 -0
  600. package/js/src/btcbox.js +6 -0
  601. package/js/src/btcmarkets.d.ts +1 -1
  602. package/js/src/btcmarkets.js +6 -0
  603. package/js/src/btcturk.js +6 -0
  604. package/js/src/bybit.d.ts +1 -1
  605. package/js/src/bybit.js +7 -1
  606. package/js/src/cex.d.ts +1 -1
  607. package/js/src/cex.js +6 -0
  608. package/js/src/coinbase.d.ts +1 -1
  609. package/js/src/coinbase.js +7 -1
  610. package/js/src/coinbaseadvanced.js +6 -0
  611. package/js/src/coinbaseexchange.d.ts +2 -2
  612. package/js/src/coinbaseexchange.js +6 -0
  613. package/js/src/coinbaseinternational.js +7 -1
  614. package/js/src/coincatch.d.ts +1 -1
  615. package/js/src/coincatch.js +6 -0
  616. package/js/src/coincheck.js +6 -0
  617. package/js/src/coinex.d.ts +1 -1
  618. package/js/src/coinex.js +6 -0
  619. package/js/src/coinlist.d.ts +1 -1
  620. package/js/src/coinlist.js +6 -0
  621. package/js/src/coinmate.js +6 -0
  622. package/js/src/coinmetro.js +6 -0
  623. package/js/src/coinone.js +6 -0
  624. package/js/src/coinsph.d.ts +1 -1
  625. package/js/src/coinsph.js +6 -0
  626. package/js/src/coinspot.js +6 -0
  627. package/js/src/cryptocom.js +6 -0
  628. package/js/src/currencycom.d.ts +1 -1
  629. package/js/src/currencycom.js +6 -0
  630. package/js/src/defx.d.ts +1 -1
  631. package/js/src/defx.js +6 -0
  632. package/js/src/delta.d.ts +1 -1
  633. package/js/src/delta.js +6 -0
  634. package/js/src/deribit.d.ts +1 -1
  635. package/js/src/deribit.js +6 -0
  636. package/js/src/digifinex.d.ts +1 -1
  637. package/js/src/digifinex.js +6 -0
  638. package/js/src/ellipx.js +6 -0
  639. package/js/src/exmo.js +6 -0
  640. package/js/src/fmfwio.js +6 -0
  641. package/js/src/gate.d.ts +1 -1
  642. package/js/src/gate.js +6 -0
  643. package/js/src/gateio.js +6 -0
  644. package/js/src/gemini.js +6 -0
  645. package/js/src/hashkey.js +6 -0
  646. package/js/src/hitbtc.js +7 -1
  647. package/js/src/hollaex.js +6 -0
  648. package/js/src/htx.d.ts +1 -1
  649. package/js/src/htx.js +6 -0
  650. package/js/src/huobi.js +6 -0
  651. package/js/src/huobijp.d.ts +1 -1
  652. package/js/src/huobijp.js +6 -0
  653. package/js/src/hyperliquid.d.ts +21 -0
  654. package/js/src/hyperliquid.js +92 -1
  655. package/js/src/idex.d.ts +1 -1
  656. package/js/src/idex.js +6 -0
  657. package/js/src/independentreserve.js +6 -0
  658. package/js/src/indodax.d.ts +1 -1
  659. package/js/src/indodax.js +6 -0
  660. package/js/src/kraken.d.ts +1 -1
  661. package/js/src/kraken.js +6 -0
  662. package/js/src/krakenfutures.js +6 -0
  663. package/js/src/kucoin.d.ts +1 -1
  664. package/js/src/kucoin.js +6 -0
  665. package/js/src/kucoinfutures.d.ts +1 -1
  666. package/js/src/kucoinfutures.js +6 -0
  667. package/js/src/kuna.d.ts +1 -1
  668. package/js/src/kuna.js +6 -0
  669. package/js/src/latoken.d.ts +1 -1
  670. package/js/src/latoken.js +6 -0
  671. package/js/src/lbank.d.ts +1 -1
  672. package/js/src/lbank.js +6 -0
  673. package/js/src/luno.js +6 -0
  674. package/js/src/mercado.js +6 -0
  675. package/js/src/mexc.d.ts +1 -1
  676. package/js/src/mexc.js +6 -0
  677. package/js/src/myokx.js +6 -0
  678. package/js/src/ndax.js +6 -0
  679. package/js/src/novadax.d.ts +1 -1
  680. package/js/src/novadax.js +6 -0
  681. package/js/src/oceanex.d.ts +1 -1
  682. package/js/src/oceanex.js +6 -0
  683. package/js/src/okcoin.d.ts +1 -1
  684. package/js/src/okcoin.js +6 -0
  685. package/js/src/okx.d.ts +1 -1
  686. package/js/src/okx.js +6 -0
  687. package/js/src/onetrading.d.ts +1 -1
  688. package/js/src/onetrading.js +6 -0
  689. package/js/src/oxfun.js +6 -0
  690. package/js/src/p2b.js +6 -0
  691. package/js/src/paradex.d.ts +1 -1
  692. package/js/src/paradex.js +6 -0
  693. package/js/src/paymium.js +6 -0
  694. package/js/src/phemex.js +6 -0
  695. package/js/src/poloniex.d.ts +1 -1
  696. package/js/src/poloniex.js +6 -0
  697. package/js/src/poloniexfutures.d.ts +1 -1
  698. package/js/src/poloniexfutures.js +6 -0
  699. package/js/src/pro/alpaca.js +6 -0
  700. package/js/src/pro/ascendex.js +6 -0
  701. package/js/src/pro/bequant.js +6 -0
  702. package/js/src/pro/binance.js +6 -0
  703. package/js/src/pro/binancecoinm.js +6 -0
  704. package/js/src/pro/binanceus.js +7 -1
  705. package/js/src/pro/binanceusdm.js +6 -0
  706. package/js/src/pro/bingx.js +6 -0
  707. package/js/src/pro/bitcoincom.js +6 -0
  708. package/js/src/pro/bitfinex.js +6 -0
  709. package/js/src/pro/bitfinex1.js +6 -0
  710. package/js/src/pro/bitget.js +6 -0
  711. package/js/src/pro/bithumb.js +6 -0
  712. package/js/src/pro/bitmart.js +6 -0
  713. package/js/src/pro/bitmex.js +6 -0
  714. package/js/src/pro/bitopro.js +6 -0
  715. package/js/src/pro/bitpanda.js +6 -0
  716. package/js/src/pro/bitrue.js +6 -0
  717. package/js/src/pro/bitstamp.js +6 -0
  718. package/js/src/pro/bitvavo.js +6 -0
  719. package/js/src/pro/blockchaincom.js +6 -0
  720. package/js/src/pro/blofin.js +6 -0
  721. package/js/src/pro/bybit.js +6 -0
  722. package/js/src/pro/cex.js +6 -0
  723. package/js/src/pro/coinbase.js +6 -0
  724. package/js/src/pro/coinbaseadvanced.js +6 -0
  725. package/js/src/pro/coinbaseexchange.js +6 -0
  726. package/js/src/pro/coinbaseinternational.js +6 -0
  727. package/js/src/pro/coincatch.js +6 -0
  728. package/js/src/pro/coincheck.js +6 -0
  729. package/js/src/pro/coinex.js +6 -0
  730. package/js/src/pro/coinone.js +6 -0
  731. package/js/src/pro/cryptocom.js +6 -0
  732. package/js/src/pro/currencycom.js +6 -0
  733. package/js/src/pro/defx.js +6 -0
  734. package/js/src/pro/deribit.js +6 -0
  735. package/js/src/pro/exmo.js +6 -0
  736. package/js/src/pro/gate.js +6 -0
  737. package/js/src/pro/gateio.js +6 -0
  738. package/js/src/pro/gemini.js +6 -0
  739. package/js/src/pro/hashkey.js +6 -0
  740. package/js/src/pro/hitbtc.js +6 -0
  741. package/js/src/pro/hollaex.js +6 -0
  742. package/js/src/pro/htx.js +6 -0
  743. package/js/src/pro/huobi.js +6 -0
  744. package/js/src/pro/huobijp.js +6 -0
  745. package/js/src/pro/hyperliquid.js +6 -0
  746. package/js/src/pro/idex.js +6 -0
  747. package/js/src/pro/independentreserve.js +6 -0
  748. package/js/src/pro/kraken.js +6 -0
  749. package/js/src/pro/krakenfutures.js +6 -0
  750. package/js/src/pro/kucoin.js +6 -0
  751. package/js/src/pro/kucoinfutures.js +6 -0
  752. package/js/src/pro/lbank.js +6 -0
  753. package/js/src/pro/luno.js +6 -0
  754. package/js/src/pro/mexc.js +6 -0
  755. package/js/src/pro/myokx.js +6 -0
  756. package/js/src/pro/ndax.js +6 -0
  757. package/js/src/pro/okcoin.js +6 -0
  758. package/js/src/pro/okx.js +6 -0
  759. package/js/src/pro/onetrading.js +6 -0
  760. package/js/src/pro/oxfun.js +6 -0
  761. package/js/src/pro/p2b.js +6 -0
  762. package/js/src/pro/paradex.js +6 -0
  763. package/js/src/pro/phemex.js +6 -0
  764. package/js/src/pro/poloniex.js +6 -0
  765. package/js/src/pro/poloniexfutures.js +6 -0
  766. package/js/src/pro/probit.js +6 -0
  767. package/js/src/pro/upbit.js +6 -0
  768. package/js/src/pro/vertex.js +6 -0
  769. package/js/src/pro/wazirx.js +6 -0
  770. package/js/src/pro/whitebit.js +6 -0
  771. package/js/src/pro/woo.js +6 -0
  772. package/js/src/pro/woofipro.js +6 -0
  773. package/js/src/pro/xt.js +6 -0
  774. package/js/src/probit.d.ts +1 -1
  775. package/js/src/probit.js +6 -0
  776. package/js/src/static_dependencies/ethers/abi-coder.js +6 -0
  777. package/js/src/static_dependencies/ethers/address/address.js +6 -0
  778. package/js/src/static_dependencies/ethers/address/checks.js +6 -0
  779. package/js/src/static_dependencies/ethers/address/contract-address.js +6 -0
  780. package/js/src/static_dependencies/ethers/address/index.js +6 -0
  781. package/js/src/static_dependencies/ethers/bytes32.js +6 -0
  782. package/js/src/static_dependencies/ethers/coders/abstract-coder.js +6 -0
  783. package/js/src/static_dependencies/ethers/coders/address.js +6 -0
  784. package/js/src/static_dependencies/ethers/coders/anonymous.js +6 -0
  785. package/js/src/static_dependencies/ethers/coders/array.js +6 -0
  786. package/js/src/static_dependencies/ethers/coders/boolean.js +6 -0
  787. package/js/src/static_dependencies/ethers/coders/bytes.js +6 -0
  788. package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +6 -0
  789. package/js/src/static_dependencies/ethers/coders/null.js +6 -0
  790. package/js/src/static_dependencies/ethers/coders/number.js +6 -0
  791. package/js/src/static_dependencies/ethers/coders/string.js +6 -0
  792. package/js/src/static_dependencies/ethers/coders/tuple.js +6 -0
  793. package/js/src/static_dependencies/ethers/fragments.js +6 -0
  794. package/js/src/static_dependencies/ethers/hash/index.js +6 -0
  795. package/js/src/static_dependencies/ethers/hash/solidity.js +6 -0
  796. package/js/src/static_dependencies/ethers/hash/typed-data.js +6 -0
  797. package/js/src/static_dependencies/ethers/index.js +6 -0
  798. package/js/src/static_dependencies/ethers/interface.js +6 -0
  799. package/js/src/static_dependencies/ethers/typed.js +6 -0
  800. package/js/src/static_dependencies/ethers/utils/base58.js +6 -0
  801. package/js/src/static_dependencies/ethers/utils/base64-browser.js +6 -0
  802. package/js/src/static_dependencies/ethers/utils/base64.js +6 -0
  803. package/js/src/static_dependencies/ethers/utils/data.js +6 -0
  804. package/js/src/static_dependencies/ethers/utils/errors.js +6 -0
  805. package/js/src/static_dependencies/ethers/utils/events.js +6 -0
  806. package/js/src/static_dependencies/ethers/utils/fixednumber.js +6 -0
  807. package/js/src/static_dependencies/ethers/utils/index.js +6 -0
  808. package/js/src/static_dependencies/ethers/utils/maths.js +6 -0
  809. package/js/src/static_dependencies/ethers/utils/properties.js +6 -0
  810. package/js/src/static_dependencies/ethers/utils/rlp-decode.js +6 -0
  811. package/js/src/static_dependencies/ethers/utils/rlp-encode.js +6 -0
  812. package/js/src/static_dependencies/ethers/utils/rlp.js +6 -0
  813. package/js/src/static_dependencies/ethers/utils/units.js +6 -0
  814. package/js/src/static_dependencies/ethers/utils/utf8.js +6 -0
  815. package/js/src/static_dependencies/ethers/utils/uuid.js +6 -0
  816. package/js/src/static_dependencies/fflake/browser.js +6 -0
  817. package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +6 -0
  818. package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +6 -0
  819. package/js/src/static_dependencies/jsencrypt/index.js +6 -0
  820. package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +6 -0
  821. package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  822. package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  823. package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  824. package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +6 -0
  825. package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +6 -0
  826. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +6 -0
  827. package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  828. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +6 -0
  829. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +6 -0
  830. package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  831. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +6 -0
  832. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  833. package/js/src/static_dependencies/messagepack/msgpack.js +6 -0
  834. package/js/src/static_dependencies/noble-curves/_shortw_utils.js +6 -0
  835. package/js/src/static_dependencies/noble-curves/abstract/curve.js +6 -0
  836. package/js/src/static_dependencies/noble-curves/abstract/edwards.js +6 -0
  837. package/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +6 -0
  838. package/js/src/static_dependencies/noble-curves/abstract/modular.js +6 -0
  839. package/js/src/static_dependencies/noble-curves/abstract/montgomery.js +6 -0
  840. package/js/src/static_dependencies/noble-curves/abstract/poseidon.js +6 -0
  841. package/js/src/static_dependencies/noble-curves/abstract/utils.js +6 -0
  842. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +6 -0
  843. package/js/src/static_dependencies/noble-curves/bn.js +6 -0
  844. package/js/src/static_dependencies/noble-curves/ed25519.js +6 -0
  845. package/js/src/static_dependencies/noble-curves/ed448.js +6 -0
  846. package/js/src/static_dependencies/noble-curves/index.js +6 -0
  847. package/js/src/static_dependencies/noble-curves/jubjub.js +6 -0
  848. package/js/src/static_dependencies/noble-curves/p256.js +6 -0
  849. package/js/src/static_dependencies/noble-curves/p384.js +6 -0
  850. package/js/src/static_dependencies/noble-curves/p521.js +6 -0
  851. package/js/src/static_dependencies/noble-curves/pasta.js +6 -0
  852. package/js/src/static_dependencies/noble-curves/secp256k1.js +6 -0
  853. package/js/src/static_dependencies/noble-hashes/_assert.js +6 -0
  854. package/js/src/static_dependencies/noble-hashes/_blake2.js +6 -0
  855. package/js/src/static_dependencies/noble-hashes/_sha2.js +6 -0
  856. package/js/src/static_dependencies/noble-hashes/_u64.js +6 -0
  857. package/js/src/static_dependencies/noble-hashes/argon2.js +6 -0
  858. package/js/src/static_dependencies/noble-hashes/blake2b.js +6 -0
  859. package/js/src/static_dependencies/noble-hashes/blake2s.js +6 -0
  860. package/js/src/static_dependencies/noble-hashes/blake3.js +6 -0
  861. package/js/src/static_dependencies/noble-hashes/crypto.js +6 -0
  862. package/js/src/static_dependencies/noble-hashes/cryptoNode.js +6 -0
  863. package/js/src/static_dependencies/noble-hashes/eskdf.js +6 -0
  864. package/js/src/static_dependencies/noble-hashes/hkdf.js +6 -0
  865. package/js/src/static_dependencies/noble-hashes/hmac.js +6 -0
  866. package/js/src/static_dependencies/noble-hashes/index.js +6 -0
  867. package/js/src/static_dependencies/noble-hashes/md5.js +6 -0
  868. package/js/src/static_dependencies/noble-hashes/pbkdf2.js +6 -0
  869. package/js/src/static_dependencies/noble-hashes/ripemd160.js +6 -0
  870. package/js/src/static_dependencies/noble-hashes/scrypt.js +6 -0
  871. package/js/src/static_dependencies/noble-hashes/sha1.js +6 -0
  872. package/js/src/static_dependencies/noble-hashes/sha256.js +6 -0
  873. package/js/src/static_dependencies/noble-hashes/sha3-addons.js +6 -0
  874. package/js/src/static_dependencies/noble-hashes/sha3.js +6 -0
  875. package/js/src/static_dependencies/noble-hashes/sha512.js +6 -0
  876. package/js/src/static_dependencies/noble-hashes/utils.js +6 -0
  877. package/js/src/static_dependencies/node-fetch/body.js +6 -0
  878. package/js/src/static_dependencies/node-fetch/errors/abort-error.js +6 -0
  879. package/js/src/static_dependencies/node-fetch/errors/base.js +6 -0
  880. package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +6 -0
  881. package/js/src/static_dependencies/node-fetch/headers.js +6 -0
  882. package/js/src/static_dependencies/node-fetch/index.js +6 -0
  883. package/js/src/static_dependencies/node-fetch/request.js +6 -0
  884. package/js/src/static_dependencies/node-fetch/response.js +6 -0
  885. package/js/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  886. package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  887. package/js/src/static_dependencies/node-fetch/utils/is.js +6 -0
  888. package/js/src/static_dependencies/node-fetch/utils/referrer.js +6 -0
  889. package/js/src/static_dependencies/proxies/agent-base/helpers.js +6 -0
  890. package/js/src/static_dependencies/proxies/agent-base/index.js +6 -0
  891. package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +6 -0
  892. package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +6 -0
  893. package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  894. package/js/src/static_dependencies/qs/formats.cjs +6 -0
  895. package/js/src/static_dependencies/qs/index.cjs +6 -0
  896. package/js/src/static_dependencies/qs/parse.cjs +6 -0
  897. package/js/src/static_dependencies/qs/stringify.cjs +6 -0
  898. package/js/src/static_dependencies/qs/utils.cjs +6 -0
  899. package/js/src/static_dependencies/scure-base/index.js +6 -0
  900. package/js/src/static_dependencies/scure-starknet/index.js +6 -0
  901. package/js/src/static_dependencies/starknet/constants.js +6 -0
  902. package/js/src/static_dependencies/starknet/index.js +6 -0
  903. package/js/src/static_dependencies/starknet/types/cairoEnum.js +6 -0
  904. package/js/src/static_dependencies/starknet/types/calldata.js +6 -0
  905. package/js/src/static_dependencies/starknet/types/index.js +6 -0
  906. package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  907. package/js/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  908. package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +6 -0
  909. package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +6 -0
  910. package/js/src/static_dependencies/starknet/types/lib/index.js +6 -0
  911. package/js/src/static_dependencies/starknet/types/typedData.js +6 -0
  912. package/js/src/static_dependencies/starknet/utils/address.js +6 -0
  913. package/js/src/static_dependencies/starknet/utils/assert.js +6 -0
  914. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +6 -0
  915. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +6 -0
  916. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +6 -0
  917. package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +6 -0
  918. package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +6 -0
  919. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  920. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  921. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  922. package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +6 -0
  923. package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +6 -0
  924. package/js/src/static_dependencies/starknet/utils/calldata/index.js +6 -0
  925. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +6 -0
  926. package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +6 -0
  927. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +6 -0
  928. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  929. package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +6 -0
  930. package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +6 -0
  931. package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +6 -0
  932. package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +6 -0
  933. package/js/src/static_dependencies/starknet/utils/calldata/validate.js +6 -0
  934. package/js/src/static_dependencies/starknet/utils/encode.js +6 -0
  935. package/js/src/static_dependencies/starknet/utils/hash/classHash.js +6 -0
  936. package/js/src/static_dependencies/starknet/utils/hash/index.js +6 -0
  937. package/js/src/static_dependencies/starknet/utils/merkle.js +6 -0
  938. package/js/src/static_dependencies/starknet/utils/num.js +6 -0
  939. package/js/src/static_dependencies/starknet/utils/selector.js +6 -0
  940. package/js/src/static_dependencies/starknet/utils/shortString.js +6 -0
  941. package/js/src/static_dependencies/starknet/utils/starknetId.js +6 -0
  942. package/js/src/static_dependencies/starknet/utils/typedData.js +6 -0
  943. package/js/src/static_dependencies/starknet/utils/uint256.js +6 -0
  944. package/js/src/static_dependencies/starknet/utils/url.js +6 -0
  945. package/js/src/static_dependencies/watchable/src/index.js +6 -0
  946. package/js/src/static_dependencies/watchable/src/types.js +6 -0
  947. package/js/src/static_dependencies/watchable/src/unpromise.js +6 -0
  948. package/js/src/timex.d.ts +1 -1
  949. package/js/src/timex.js +6 -0
  950. package/js/src/tokocrypto.d.ts +1 -1
  951. package/js/src/tokocrypto.js +6 -0
  952. package/js/src/tradeogre.js +6 -0
  953. package/js/src/upbit.js +6 -0
  954. package/js/src/vertex.d.ts +1 -1
  955. package/js/src/vertex.js +7 -1
  956. package/js/src/wavesexchange.js +6 -0
  957. package/js/src/whitebit.d.ts +1 -1
  958. package/js/src/whitebit.js +6 -0
  959. package/js/src/woo.d.ts +1 -1
  960. package/js/src/woo.js +6 -0
  961. package/js/src/woofipro.d.ts +1 -1
  962. package/js/src/woofipro.js +6 -0
  963. package/js/src/xt.d.ts +1 -1
  964. package/js/src/xt.js +6 -0
  965. package/js/src/yobit.js +6 -0
  966. package/js/src/zaif.js +6 -0
  967. package/js/src/zonda.js +6 -0
  968. package/package.json +1 -1
  969. package/js/src/bitbay.d.ts +0 -4
  970. package/js/src/bitbay.js +0 -18
  971. package/js/src/bitfinex2.d.ts +0 -506
  972. package/js/src/bitfinex2.js +0 -3778
  973. package/js/src/wazirx.d.ts +0 -216
  974. package/js/src/wazirx.js +0 -1362
package/js/src/wazirx.js DELETED
@@ -1,1362 +0,0 @@
1
- import Exchange from './abstract/wazirx.js';
2
- import { ExchangeError, BadRequest, RateLimitExceeded, BadSymbol, PermissionDenied, InsufficientFunds, InvalidOrder, ArgumentsRequired } from './base/errors.js';
3
- import { Precise } from './base/Precise.js';
4
- import { TICK_SIZE } from './base/functions/number.js';
5
- import { sha256 } from './static_dependencies/noble-hashes/sha256.js';
6
- /**
7
- * @class wazirx
8
- * @augments Exchange
9
- */
10
- export default class wazirx extends Exchange {
11
- describe() {
12
- return this.deepExtend(super.describe(), {
13
- 'id': 'wazirx',
14
- 'name': 'WazirX',
15
- 'countries': ['IN'],
16
- 'version': 'v2',
17
- 'rateLimit': 1000,
18
- 'pro': true,
19
- 'has': {
20
- 'CORS': false,
21
- 'spot': true,
22
- 'margin': false,
23
- 'swap': false,
24
- 'future': false,
25
- 'option': false,
26
- 'addMargin': false,
27
- 'cancelAllOrders': true,
28
- 'cancelOrder': true,
29
- 'closeAllPositions': false,
30
- 'closePosition': false,
31
- 'createOrder': true,
32
- 'createReduceOnlyOrder': false,
33
- 'createStopLimitOrder': true,
34
- 'createStopMarketOrder': true,
35
- 'createStopOrder': true,
36
- 'fetchBalance': true,
37
- 'fetchBidsAsks': false,
38
- 'fetchBorrowInterest': false,
39
- 'fetchBorrowRate': false,
40
- 'fetchBorrowRateHistories': false,
41
- 'fetchBorrowRateHistory': false,
42
- 'fetchBorrowRates': false,
43
- 'fetchBorrowRatesPerSymbol': false,
44
- 'fetchClosedOrders': false,
45
- 'fetchCrossBorrowRate': false,
46
- 'fetchCrossBorrowRates': false,
47
- 'fetchCurrencies': true,
48
- 'fetchDepositAddress': true,
49
- 'fetchDepositAddresses': false,
50
- 'fetchDepositAddressesByNetwork': false,
51
- 'fetchDeposits': true,
52
- 'fetchDepositsWithdrawals': false,
53
- 'fetchFundingHistory': false,
54
- 'fetchFundingInterval': false,
55
- 'fetchFundingIntervals': false,
56
- 'fetchFundingRate': false,
57
- 'fetchFundingRateHistory': false,
58
- 'fetchFundingRates': false,
59
- 'fetchGreeks': false,
60
- 'fetchIndexOHLCV': false,
61
- 'fetchIsolatedBorrowRate': false,
62
- 'fetchIsolatedBorrowRates': false,
63
- 'fetchIsolatedPositions': false,
64
- 'fetchLeverage': false,
65
- 'fetchLeverages': false,
66
- 'fetchLeverageTiers': false,
67
- 'fetchLiquidations': false,
68
- 'fetchMarginAdjustmentHistory': false,
69
- 'fetchMarginMode': false,
70
- 'fetchMarginModes': false,
71
- 'fetchMarketLeverageTiers': false,
72
- 'fetchMarkets': true,
73
- 'fetchMarkOHLCV': false,
74
- 'fetchMarkPrices': false,
75
- 'fetchMyLiquidations': false,
76
- 'fetchMySettlementHistory': false,
77
- 'fetchMyTrades': false,
78
- 'fetchOHLCV': true,
79
- 'fetchOpenInterest': false,
80
- 'fetchOpenInterestHistory': false,
81
- 'fetchOpenOrders': true,
82
- 'fetchOption': false,
83
- 'fetchOptionChain': false,
84
- 'fetchOrder': false,
85
- 'fetchOrderBook': true,
86
- 'fetchOrders': true,
87
- 'fetchPosition': false,
88
- 'fetchPositionHistory': false,
89
- 'fetchPositionMode': false,
90
- 'fetchPositions': false,
91
- 'fetchPositionsForSymbol': false,
92
- 'fetchPositionsHistory': false,
93
- 'fetchPositionsRisk': false,
94
- 'fetchPremiumIndexOHLCV': false,
95
- 'fetchSettlementHistory': false,
96
- 'fetchStatus': true,
97
- 'fetchTicker': true,
98
- 'fetchTickers': true,
99
- 'fetchTime': true,
100
- 'fetchTrades': true,
101
- 'fetchTradingFee': false,
102
- 'fetchTradingFees': false,
103
- 'fetchTransactionFees': false,
104
- 'fetchTransactions': false,
105
- 'fetchTransfers': false,
106
- 'fetchUnderlyingAssets': false,
107
- 'fetchVolatilityHistory': false,
108
- 'fetchWithdrawals': true,
109
- 'reduceMargin': false,
110
- 'repayCrossMargin': false,
111
- 'repayIsolatedMargin': false,
112
- 'setLeverage': false,
113
- 'setMargin': false,
114
- 'setMarginMode': false,
115
- 'setPositionMode': false,
116
- 'transfer': false,
117
- 'withdraw': false,
118
- },
119
- 'urls': {
120
- 'logo': 'https://user-images.githubusercontent.com/1294454/148647666-c109c20b-f8ac-472f-91c3-5f658cb90f49.jpeg',
121
- 'api': {
122
- 'rest': 'https://api.wazirx.com/sapi/v1',
123
- },
124
- 'www': 'https://wazirx.com',
125
- 'doc': 'https://docs.wazirx.com/#public-rest-api-for-wazirx',
126
- 'fees': 'https://wazirx.com/fees',
127
- 'referral': 'https://wazirx.com/invite/k7rrnks5',
128
- },
129
- 'api': {
130
- 'public': {
131
- 'get': {
132
- 'exchangeInfo': 1,
133
- 'depth': 0.5,
134
- 'ping': 1,
135
- 'systemStatus': 1,
136
- 'tickers/24hr': 1,
137
- 'ticker/24hr': 1,
138
- 'time': 1,
139
- 'trades': 1,
140
- 'klines': 1,
141
- },
142
- },
143
- 'private': {
144
- 'get': {
145
- 'account': 1,
146
- 'allOrders': 1,
147
- 'funds': 1,
148
- 'historicalTrades': 1,
149
- 'openOrders': 1,
150
- 'order': 0.5,
151
- 'myTrades': 0.5,
152
- 'coins': 12,
153
- 'crypto/withdraws': 12,
154
- 'crypto/deposits/address': 60,
155
- 'sub_account/fund_transfer/history': 1,
156
- 'sub_account/accounts': 1,
157
- },
158
- 'post': {
159
- 'order': 0.1,
160
- 'order/test': 0.5,
161
- },
162
- 'delete': {
163
- 'order': 0.1,
164
- 'openOrders': 1,
165
- },
166
- },
167
- },
168
- 'fees': {
169
- 'WRX': { 'maker': this.parseNumber('0.0'), 'taker': this.parseNumber('0.0') },
170
- },
171
- 'precisionMode': TICK_SIZE,
172
- 'exceptions': {
173
- 'exact': {
174
- '-1121': BadSymbol,
175
- '1999': BadRequest,
176
- '2002': InsufficientFunds,
177
- '2005': BadRequest,
178
- '2078': PermissionDenied,
179
- '2098': BadRequest,
180
- '2031': InvalidOrder,
181
- '2113': BadRequest,
182
- '2115': BadRequest,
183
- '2136': RateLimitExceeded,
184
- '94001': InvalidOrder, // {"code":94001,"message":"Stop price not found."}
185
- },
186
- },
187
- 'timeframes': {
188
- '1m': '1m',
189
- '5m': '5m',
190
- '30m': '30m',
191
- '1h': '1h',
192
- '2h': '2h',
193
- '4h': '4h',
194
- '6h': '6h',
195
- '12h': '12h',
196
- '1d': '1d',
197
- '1w': '1w',
198
- },
199
- 'options': {
200
- // 'fetchTradesMethod': 'privateGetHistoricalTrades',
201
- 'recvWindow': 10000,
202
- 'networks': {
203
- // You can get network from fetchCurrencies
204
- },
205
- },
206
- 'features': {
207
- 'spot': {
208
- 'sandbox': false,
209
- 'createOrder': {
210
- 'marginMode': false,
211
- 'triggerPrice': true,
212
- 'triggerDirection': false,
213
- 'triggerPriceType': undefined,
214
- 'stopLossPrice': false,
215
- 'takeProfitPrice': false,
216
- 'attachedStopLossTakeProfit': undefined,
217
- 'timeInForce': {
218
- 'IOC': false,
219
- 'FOK': false,
220
- 'PO': false,
221
- 'GTD': false,
222
- },
223
- 'hedged': false,
224
- 'trailing': false,
225
- 'leverage': false,
226
- 'marketBuyByCost': false,
227
- 'marketBuyRequiresPrice': false,
228
- 'selfTradePrevention': false,
229
- 'iceberg': false,
230
- },
231
- 'createOrders': undefined,
232
- 'fetchMyTrades': undefined,
233
- 'fetchOrder': undefined,
234
- 'fetchOpenOrders': {
235
- 'marginMode': false,
236
- 'limit': undefined,
237
- 'trigger': false,
238
- 'trailing': false,
239
- 'symbolRequired': true,
240
- },
241
- 'fetchOrders': {
242
- 'marginMode': false,
243
- 'limit': 1000,
244
- 'daysBack': 100000,
245
- 'untilDays': 100000,
246
- 'trigger': false,
247
- 'trailing': false,
248
- 'symbolRequired': true,
249
- },
250
- 'fetchClosedOrders': undefined,
251
- 'fetchOHLCV': {
252
- 'limit': 2000,
253
- },
254
- },
255
- 'swap': {
256
- 'linear': undefined,
257
- 'inverse': undefined,
258
- },
259
- 'future': {
260
- 'linear': undefined,
261
- 'inverse': undefined,
262
- },
263
- },
264
- });
265
- }
266
- /**
267
- * @method
268
- * @name wazirx#fetchMarkets
269
- * @see https://docs.wazirx.com/#exchange-info
270
- * @description retrieves data on all markets for wazirx
271
- * @param {object} [params] extra parameters specific to the exchange API endpoint
272
- * @returns {object[]} an array of objects representing market data
273
- */
274
- async fetchMarkets(params = {}) {
275
- const response = await this.publicGetExchangeInfo(params);
276
- //
277
- // {
278
- // "timezone":"UTC",
279
- // "serverTime":1641336850932,
280
- // "symbols":[
281
- // {
282
- // "symbol":"btcinr",
283
- // "status":"trading",
284
- // "baseAsset":"btc",
285
- // "quoteAsset":"inr",
286
- // "baseAssetPrecision":5,
287
- // "quoteAssetPrecision":0,
288
- // "orderTypes":[
289
- // "limit",
290
- // "stop_limit"
291
- // ],
292
- // "isSpotTradingAllowed":true,
293
- // "filters":[
294
- // {
295
- // "filterType":"PRICE_FILTER",
296
- // "minPrice":"1",
297
- // "tickSize":"1"
298
- // }
299
- // ]
300
- // },
301
- //
302
- const markets = this.safeValue(response, 'symbols', []);
303
- return this.parseMarkets(markets);
304
- }
305
- parseMarket(market) {
306
- const id = this.safeString(market, 'symbol');
307
- const baseId = this.safeString(market, 'baseAsset');
308
- const quoteId = this.safeString(market, 'quoteAsset');
309
- const base = this.safeCurrencyCode(baseId);
310
- const quote = this.safeCurrencyCode(quoteId);
311
- const isSpot = this.safeValue(market, 'isSpotTradingAllowed');
312
- const filters = this.safeValue(market, 'filters');
313
- let minPrice = undefined;
314
- for (let j = 0; j < filters.length; j++) {
315
- const filter = filters[j];
316
- const filterType = this.safeString(filter, 'filterType');
317
- if (filterType === 'PRICE_FILTER') {
318
- minPrice = this.safeNumber(filter, 'minPrice');
319
- }
320
- }
321
- const fee = this.safeValue(this.fees, quote, {});
322
- let takerString = this.safeString(fee, 'taker', '0.2');
323
- takerString = Precise.stringDiv(takerString, '100');
324
- let makerString = this.safeString(fee, 'maker', '0.2');
325
- makerString = Precise.stringDiv(makerString, '100');
326
- const status = this.safeString(market, 'status');
327
- return {
328
- 'id': id,
329
- 'symbol': base + '/' + quote,
330
- 'base': base,
331
- 'quote': quote,
332
- 'settle': undefined,
333
- 'baseId': baseId,
334
- 'quoteId': quoteId,
335
- 'settleId': undefined,
336
- 'type': 'spot',
337
- 'spot': isSpot,
338
- 'margin': false,
339
- 'swap': false,
340
- 'future': false,
341
- 'option': false,
342
- 'active': (status === 'trading'),
343
- 'contract': false,
344
- 'linear': undefined,
345
- 'inverse': undefined,
346
- 'taker': this.parseNumber(takerString),
347
- 'maker': this.parseNumber(makerString),
348
- 'contractSize': undefined,
349
- 'expiry': undefined,
350
- 'expiryDatetime': undefined,
351
- 'strike': undefined,
352
- 'optionType': undefined,
353
- 'precision': {
354
- 'amount': this.parseNumber(this.parsePrecision(this.safeString(market, 'baseAssetPrecision'))),
355
- 'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'quoteAssetPrecision'))),
356
- },
357
- 'limits': {
358
- 'leverage': {
359
- 'min': undefined,
360
- 'max': undefined,
361
- },
362
- 'price': {
363
- 'min': minPrice,
364
- 'max': undefined,
365
- },
366
- 'amount': {
367
- 'min': undefined,
368
- 'max': undefined,
369
- },
370
- 'cost': {
371
- 'min': undefined,
372
- 'max': undefined,
373
- },
374
- },
375
- 'created': undefined,
376
- 'info': market,
377
- };
378
- }
379
- /**
380
- * @method
381
- * @name wazirx#fetchOHLCV
382
- * @see https://docs.wazirx.com/#kline-candlestick-data
383
- * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
384
- * @param {string} symbol unified symbol of the market to fetch OHLCV data for
385
- * @param {string} timeframe the length of time each candle represents. Available values [1m,5m,15m,30m,1h,2h,4h,6h,12h,1d,1w]
386
- * @param {int} [since] timestamp in ms of the earliest candle to fetch
387
- * @param {int} [limit] the maximum amount of candles to fetch
388
- * @param {object} [params] extra parameters specific to the exchange API endpoint
389
- * @param {int} [params.until] timestamp in s of the latest candle to fetch
390
- * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
391
- */
392
- async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
393
- await this.loadMarkets();
394
- const market = this.market(symbol);
395
- const request = {
396
- 'symbol': market['id'],
397
- 'interval': this.safeString(this.timeframes, timeframe, timeframe),
398
- };
399
- if (limit !== undefined) {
400
- request['limit'] = Math.min(limit, 2000);
401
- }
402
- const until = this.safeInteger(params, 'until');
403
- params = this.omit(params, ['until']);
404
- if (since !== undefined) {
405
- request['startTime'] = this.parseToInt(since / 1000);
406
- }
407
- if (until !== undefined) {
408
- request['endTime'] = until;
409
- }
410
- const response = await this.publicGetKlines(this.extend(request, params));
411
- //
412
- // [
413
- // [1669014360,1402001,1402001,1402001,1402001,0],
414
- // ...
415
- // ]
416
- //
417
- return this.parseOHLCVs(response, market, timeframe, since, limit);
418
- }
419
- parseOHLCV(ohlcv, market = undefined) {
420
- //
421
- // [1669014300,1402001,1402001,1402001,1402001,0],
422
- //
423
- return [
424
- this.safeTimestamp(ohlcv, 0),
425
- this.safeNumber(ohlcv, 1),
426
- this.safeNumber(ohlcv, 2),
427
- this.safeNumber(ohlcv, 3),
428
- this.safeNumber(ohlcv, 4),
429
- this.safeNumber(ohlcv, 5),
430
- ];
431
- }
432
- /**
433
- * @method
434
- * @name wazirx#fetchOrderBook
435
- * @see https://docs.wazirx.com/#order-book
436
- * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
437
- * @param {string} symbol unified symbol of the market to fetch the order book for
438
- * @param {int} [limit] the maximum amount of order book entries to return
439
- * @param {object} [params] extra parameters specific to the exchange API endpoint
440
- * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
441
- */
442
- async fetchOrderBook(symbol, limit = undefined, params = {}) {
443
- await this.loadMarkets();
444
- const market = this.market(symbol);
445
- const request = {
446
- 'symbol': market['id'],
447
- };
448
- if (limit !== undefined) {
449
- request['limit'] = limit; // [1, 5, 10, 20, 50, 100, 500, 1000]
450
- }
451
- const response = await this.publicGetDepth(this.extend(request, params));
452
- //
453
- // {
454
- // "timestamp":1559561187,
455
- // "asks":[
456
- // ["8540.0","1.5"],
457
- // ["8541.0","0.0042"]
458
- // ],
459
- // "bids":[
460
- // ["8530.0","0.8814"],
461
- // ["8524.0","1.4"]
462
- // ]
463
- // }
464
- //
465
- const timestamp = this.safeInteger(response, 'timestamp');
466
- return this.parseOrderBook(response, symbol, timestamp);
467
- }
468
- /**
469
- * @method
470
- * @name wazirx#fetchTicker
471
- * @see https://docs.wazirx.com/#24hr-ticker-price-change-statistics
472
- * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
473
- * @param {string} symbol unified symbol of the market to fetch the ticker for
474
- * @param {object} [params] extra parameters specific to the exchange API endpoint
475
- * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
476
- */
477
- async fetchTicker(symbol, params = {}) {
478
- await this.loadMarkets();
479
- const market = this.market(symbol);
480
- const request = {
481
- 'symbol': market['id'],
482
- };
483
- const ticker = await this.publicGetTicker24hr(this.extend(request, params));
484
- //
485
- // {
486
- // "symbol":"wrxinr",
487
- // "baseAsset":"wrx",
488
- // "quoteAsset":"inr",
489
- // "openPrice":"94.77",
490
- // "lowPrice":"92.7",
491
- // "highPrice":"95.17",
492
- // "lastPrice":"94.03",
493
- // "volume":"1118700.0",
494
- // "bidPrice":"94.02",
495
- // "askPrice":"94.03",
496
- // "at":1641382455000
497
- // }
498
- //
499
- return this.parseTicker(ticker, market);
500
- }
501
- /**
502
- * @method
503
- * @name wazirx#fetchTickers
504
- * @see https://docs.wazirx.com/#24hr-tickers-price-change-statistics
505
- * @description fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
506
- * @param {string[]|undefined} symbols unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
507
- * @param {object} [params] extra parameters specific to the exchange API endpoint
508
- * @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
509
- */
510
- async fetchTickers(symbols = undefined, params = {}) {
511
- await this.loadMarkets();
512
- const tickers = await this.publicGetTickers24hr();
513
- //
514
- // [
515
- // {
516
- // "symbol":"btcinr",
517
- // "baseAsset":"btc",
518
- // "quoteAsset":"inr",
519
- // "openPrice":"3698486",
520
- // "lowPrice":"3641155.0",
521
- // "highPrice":"3767999.0",
522
- // "lastPrice":"3713212.0",
523
- // "volume":"254.11582",
524
- // "bidPrice":"3715021.0",
525
- // "askPrice":"3715022.0",
526
- // }
527
- // ...
528
- // ]
529
- //
530
- const result = {};
531
- for (let i = 0; i < tickers.length; i++) {
532
- const ticker = tickers[i];
533
- const parsedTicker = this.parseTicker(ticker);
534
- const symbol = parsedTicker['symbol'];
535
- result[symbol] = parsedTicker;
536
- }
537
- return this.filterByArrayTickers(result, 'symbol', symbols);
538
- }
539
- /**
540
- * @method
541
- * @name wazirx#fetchTrades
542
- * @see https://docs.wazirx.com/#recent-trades-list
543
- * @description get the list of most recent trades for a particular symbol
544
- * @param {string} symbol unified symbol of the market to fetch trades for
545
- * @param {int} [since] timestamp in ms of the earliest trade to fetch
546
- * @param {int} [limit] the maximum amount of trades to fetch
547
- * @param {object} [params] extra parameters specific to the exchange API endpoint
548
- * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
549
- */
550
- async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
551
- await this.loadMarkets();
552
- const market = this.market(symbol);
553
- const request = {
554
- 'symbol': market['id'],
555
- };
556
- if (limit !== undefined) {
557
- request['limit'] = Math.min(limit, 1000); // Default 500; max 1000.
558
- }
559
- const method = this.safeString(this.options, 'fetchTradesMethod', 'publicGetTrades');
560
- let response = undefined;
561
- if (method === 'privateGetHistoricalTrades') {
562
- response = await this.privateGetHistoricalTrades(this.extend(request, params));
563
- }
564
- else {
565
- response = await this.publicGetTrades(this.extend(request, params));
566
- }
567
- // [
568
- // {
569
- // "id":322307791,
570
- // "price":"93.7",
571
- // "qty":"0.7",
572
- // "quoteQty":"65.59",
573
- // "time":1641386701000,
574
- // "isBuyerMaker":false
575
- // },
576
- // ]
577
- return this.parseTrades(response, market, since, limit);
578
- }
579
- parseTrade(trade, market = undefined) {
580
- //
581
- // {
582
- // "id":322307791,
583
- // "price":"93.7",
584
- // "qty":"0.7",
585
- // "quoteQty":"65.59",
586
- // "time":1641386701000,
587
- // "isBuyerMaker":false
588
- // }
589
- //
590
- const id = this.safeString(trade, 'id');
591
- const timestamp = this.safeInteger(trade, 'time');
592
- const datetime = this.iso8601(timestamp);
593
- market = this.safeMarket(undefined, market);
594
- const isBuyerMaker = this.safeValue(trade, 'isBuyerMaker');
595
- const side = isBuyerMaker ? 'sell' : 'buy';
596
- const price = this.safeNumber(trade, 'price');
597
- const amount = this.safeNumber(trade, 'qty');
598
- const cost = this.safeNumber(trade, 'quoteQty');
599
- return this.safeTrade({
600
- 'info': trade,
601
- 'id': id,
602
- 'timestamp': timestamp,
603
- 'datetime': datetime,
604
- 'symbol': market['symbol'],
605
- 'order': id,
606
- 'type': undefined,
607
- 'side': side,
608
- 'takerOrMaker': undefined,
609
- 'price': price,
610
- 'amount': amount,
611
- 'cost': cost,
612
- 'fee': undefined,
613
- }, market);
614
- }
615
- /**
616
- * @method
617
- * @name wazirx#fetchStatus
618
- * @see https://docs.wazirx.com/#system-status
619
- * @description the latest known information on the availability of the exchange API
620
- * @param {object} [params] extra parameters specific to the exchange API endpoint
621
- * @returns {object} a [status structure]{@link https://docs.ccxt.com/#/?id=exchange-status-structure}
622
- */
623
- async fetchStatus(params = {}) {
624
- const response = await this.publicGetSystemStatus(params);
625
- //
626
- // {
627
- // "status":"normal", // normal, system maintenance
628
- // "message":"System is running normally."
629
- // }
630
- //
631
- const status = this.safeString(response, 'status');
632
- return {
633
- 'status': (status === 'normal') ? 'ok' : 'maintenance',
634
- 'updated': undefined,
635
- 'eta': undefined,
636
- 'url': undefined,
637
- 'info': response,
638
- };
639
- }
640
- /**
641
- * @method
642
- * @name wazirx#fetchTime
643
- * @see https://docs.wazirx.com/#check-server-time
644
- * @description fetches the current integer timestamp in milliseconds from the exchange server
645
- * @param {object} [params] extra parameters specific to the exchange API endpoint
646
- * @returns {int} the current integer timestamp in milliseconds from the exchange server
647
- */
648
- async fetchTime(params = {}) {
649
- const response = await this.publicGetTime(params);
650
- //
651
- // {
652
- // "serverTime":1635467280514
653
- // }
654
- //
655
- return this.safeInteger(response, 'serverTime');
656
- }
657
- parseTicker(ticker, market = undefined) {
658
- //
659
- // {
660
- // "symbol":"btcinr",
661
- // "baseAsset":"btc",
662
- // "quoteAsset":"inr",
663
- // "openPrice":"3698486",
664
- // "lowPrice":"3641155.0",
665
- // "highPrice":"3767999.0",
666
- // "lastPrice":"3713212.0",
667
- // "volume":"254.11582", // base volume
668
- // "bidPrice":"3715021.0",
669
- // "askPrice":"3715022.0",
670
- // "at":1641382455000 // only on fetchTicker
671
- // }
672
- //
673
- const marketId = this.safeString(ticker, 'symbol');
674
- market = this.safeMarket(marketId, market);
675
- const symbol = market['symbol'];
676
- const last = this.safeString(ticker, 'lastPrice');
677
- const open = this.safeString(ticker, 'openPrice');
678
- const high = this.safeString(ticker, 'highPrice');
679
- const low = this.safeString(ticker, 'lowPrice');
680
- const baseVolume = this.safeString(ticker, 'volume');
681
- const bid = this.safeString(ticker, 'bidPrice');
682
- const ask = this.safeString(ticker, 'askPrice');
683
- const timestamp = this.safeInteger(ticker, 'at');
684
- return this.safeTicker({
685
- 'symbol': symbol,
686
- 'timestamp': timestamp,
687
- 'datetime': this.iso8601(timestamp),
688
- 'high': high,
689
- 'low': low,
690
- 'bid': bid,
691
- 'bidVolume': undefined,
692
- 'ask': ask,
693
- 'askVolume': undefined,
694
- 'vwap': undefined,
695
- 'open': open,
696
- 'close': last,
697
- 'last': last,
698
- 'previousClose': undefined,
699
- 'change': undefined,
700
- 'percentage': undefined,
701
- 'average': undefined,
702
- 'baseVolume': baseVolume,
703
- 'quoteVolume': undefined,
704
- 'info': ticker,
705
- }, market);
706
- }
707
- parseBalance(response) {
708
- const result = { 'info': response };
709
- for (let i = 0; i < response.length; i++) {
710
- const balance = response[i];
711
- const id = this.safeString(balance, 'asset');
712
- const code = this.safeCurrencyCode(id);
713
- const account = this.account();
714
- account['free'] = this.safeString(balance, 'free');
715
- account['used'] = this.safeString(balance, 'locked');
716
- result[code] = account;
717
- }
718
- return this.safeBalance(result);
719
- }
720
- /**
721
- * @method
722
- * @name wazirx#fetchBalance
723
- * @see https://docs.wazirx.com/#fund-details-user_data
724
- * @description query for balance and get the amount of funds available for trading or funds locked in orders
725
- * @param {object} [params] extra parameters specific to the exchange API endpoint
726
- * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
727
- */
728
- async fetchBalance(params = {}) {
729
- await this.loadMarkets();
730
- const response = await this.privateGetFunds(params);
731
- //
732
- // [
733
- // {
734
- // "asset":"inr",
735
- // "free":"0.0",
736
- // "locked":"0.0"
737
- // },
738
- // ]
739
- //
740
- return this.parseBalance(response);
741
- }
742
- /**
743
- * @method
744
- * @name wazirx#fetchOrders
745
- * @see https://docs.wazirx.com/#all-orders-user_data
746
- * @description fetches information on multiple orders made by the user
747
- * @param {string} symbol unified market symbol of the market orders were made in
748
- * @param {int} [since] the earliest time in ms to fetch orders for
749
- * @param {int} [limit] the maximum number of order structures to retrieve
750
- * @param {object} [params] extra parameters specific to the exchange API endpoint
751
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
752
- */
753
- async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
754
- if (symbol === undefined) {
755
- throw new ArgumentsRequired(this.id + ' fetchOrders() requires a symbol argument');
756
- }
757
- await this.loadMarkets();
758
- const market = this.market(symbol);
759
- const request = {
760
- 'symbol': market['id'],
761
- };
762
- if (since !== undefined) {
763
- request['startTime'] = since;
764
- }
765
- if (limit !== undefined) {
766
- request['limit'] = limit;
767
- }
768
- const response = await this.privateGetAllOrders(this.extend(request, params));
769
- //
770
- // [
771
- // {
772
- // "id": 28,
773
- // "symbol": "wrxinr",
774
- // "price": "9293.0",
775
- // "origQty": "10.0",
776
- // "executedQty": "8.2",
777
- // "status": "cancel",
778
- // "type": "limit",
779
- // "side": "sell",
780
- // "createdTime": 1499827319559,
781
- // "updatedTime": 1499827319559
782
- // },
783
- // {
784
- // "id": 30,
785
- // "symbol": "wrxinr",
786
- // "price": "9293.0",
787
- // "stopPrice": "9200.0",
788
- // "origQty": "10.0",
789
- // "executedQty": "0.0",
790
- // "status": "cancel",
791
- // "type": "stop_limit",
792
- // "side": "sell",
793
- // "createdTime": 1499827319559,
794
- // "updatedTime": 1507725176595
795
- // }
796
- // ]
797
- //
798
- let orders = this.parseOrders(response, market, since, limit);
799
- orders = this.filterBy(orders, 'symbol', symbol);
800
- return orders;
801
- }
802
- /**
803
- * @method
804
- * @name wazirx#fetchOpenOrders
805
- * @see https://docs.wazirx.com/#current-open-orders-user_data
806
- * @description fetch all unfilled currently open orders
807
- * @param {string} symbol unified market symbol
808
- * @param {int} [since] the earliest time in ms to fetch open orders for
809
- * @param {int} [limit] the maximum number of open orders structures to retrieve
810
- * @param {object} [params] extra parameters specific to the exchange API endpoint
811
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
812
- */
813
- async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
814
- await this.loadMarkets();
815
- const request = {};
816
- let market = undefined;
817
- if (symbol !== undefined) {
818
- market = this.market(symbol);
819
- request['symbol'] = market['id'];
820
- }
821
- const response = await this.privateGetOpenOrders(this.extend(request, params));
822
- // [
823
- // {
824
- // "id": 28,
825
- // "symbol": "wrxinr",
826
- // "price": "9293.0",
827
- // "origQty": "10.0",
828
- // "executedQty": "8.2",
829
- // "status": "cancel",
830
- // "type": "limit",
831
- // "side": "sell",
832
- // "createdTime": 1499827319559,
833
- // "updatedTime": 1499827319559
834
- // },
835
- // {
836
- // "id": 30,
837
- // "symbol": "wrxinr",
838
- // "price": "9293.0",
839
- // "stopPrice": "9200.0",
840
- // "origQty": "10.0",
841
- // "executedQty": "0.0",
842
- // "status": "cancel",
843
- // "type": "stop_limit",
844
- // "side": "sell",
845
- // "createdTime": 1499827319559,
846
- // "updatedTime": 1507725176595
847
- // }
848
- // ]
849
- const orders = this.parseOrders(response, market, since, limit);
850
- return orders;
851
- }
852
- /**
853
- * @method
854
- * @name wazirx#cancelAllOrders
855
- * @see https://docs.wazirx.com/#cancel-all-open-orders-on-a-symbol-trade
856
- * @description cancel all open orders in a market
857
- * @param {string} symbol unified market symbol of the market to cancel orders in
858
- * @param {object} [params] extra parameters specific to the exchange API endpoint
859
- * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
860
- */
861
- async cancelAllOrders(symbol = undefined, params = {}) {
862
- if (symbol === undefined) {
863
- throw new ArgumentsRequired(this.id + ' cancelAllOrders() requires a symbol argument');
864
- }
865
- await this.loadMarkets();
866
- const market = this.market(symbol);
867
- const request = {
868
- 'symbol': market['id'],
869
- };
870
- const response = await this.privateDeleteOpenOrders(this.extend(request, params));
871
- //
872
- // [
873
- // {
874
- // id: "4565421197",
875
- // symbol: "adausdt",
876
- // type: "limit",
877
- // side: "buy",
878
- // status: "wait",
879
- // price: "0.41",
880
- // origQty: "11.00",
881
- // executedQty: "0.00",
882
- // avgPrice: "0.00",
883
- // createdTime: "1718089507000",
884
- // updatedTime: "1718089507000",
885
- // clientOrderId: "93d2a838-e272-405d-91e7-3a7bc6d3a003"
886
- // }
887
- // ]
888
- //
889
- return this.parseOrders(response);
890
- }
891
- /**
892
- * @method
893
- * @name wazirx#cancelOrder
894
- * @see https://docs.wazirx.com/#cancel-order-trade
895
- * @description cancels an open order
896
- * @param {string} id order id
897
- * @param {string} symbol unified symbol of the market the order was made in
898
- * @param {object} [params] extra parameters specific to the exchange API endpoint
899
- * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
900
- */
901
- async cancelOrder(id, symbol = undefined, params = {}) {
902
- if (symbol === undefined) {
903
- throw new ArgumentsRequired(this.id + ' cancelOrder() requires a symbol argument');
904
- }
905
- await this.loadMarkets();
906
- const market = this.market(symbol);
907
- const request = {
908
- 'symbol': market['id'],
909
- 'orderId': id,
910
- };
911
- const response = await this.privateDeleteOrder(this.extend(request, params));
912
- return this.parseOrder(response);
913
- }
914
- /**
915
- * @method
916
- * @name wazirx#createOrder
917
- * @see https://docs.wazirx.com/#new-order-trade
918
- * @description create a trade order
919
- * @param {string} symbol unified symbol of the market to create an order in
920
- * @param {string} type 'market' or 'limit'
921
- * @param {string} side 'buy' or 'sell'
922
- * @param {float} amount how much of currency you want to trade in units of base currency
923
- * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
924
- * @param {object} [params] extra parameters specific to the exchange API endpoint
925
- * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
926
- */
927
- async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
928
- type = type.toLowerCase();
929
- if ((type !== 'limit') && (type !== 'stop_limit')) {
930
- throw new ExchangeError(this.id + ' createOrder() supports limit and stop_limit orders only');
931
- }
932
- if (price === undefined) {
933
- throw new ExchangeError(this.id + ' createOrder() requires a price argument');
934
- }
935
- await this.loadMarkets();
936
- const market = this.market(symbol);
937
- const request = {
938
- 'symbol': market['id'],
939
- 'side': side,
940
- 'quantity': amount,
941
- 'type': 'limit',
942
- };
943
- request['price'] = this.priceToPrecision(symbol, price);
944
- const triggerPrice = this.safeString2(params, 'triggerPrice', 'stopPrice');
945
- if (triggerPrice !== undefined) {
946
- request['type'] = 'stop_limit';
947
- request['stopPrice'] = this.priceToPrecision(symbol, triggerPrice);
948
- }
949
- const response = await this.privatePostOrder(this.extend(request, params));
950
- // {
951
- // "id": 28,
952
- // "symbol": "wrxinr",
953
- // "price": "9293.0",
954
- // "origQty": "10.0",
955
- // "executedQty": "8.2",
956
- // "status": "wait",
957
- // "type": "limit",
958
- // "side": "sell",
959
- // "createdTime": 1499827319559,
960
- // "updatedTime": 1499827319559
961
- // }
962
- return this.parseOrder(response, market);
963
- }
964
- parseOrder(order, market = undefined) {
965
- //
966
- // {
967
- // "id": 1949417813,
968
- // "symbol": "ltcusdt",
969
- // "type": "limit",
970
- // "side": "sell",
971
- // "status": "done",
972
- // "price": "146.2",
973
- // "origQty": "0.05",
974
- // "executedQty": "0.05",
975
- // "avgPrice": "0.00",
976
- // "createdTime": 1641252564000,
977
- // "updatedTime": 1641252564000
978
- // "clientOrderId": "93d2a838-e272-405d-91e7-3a7bc6d3a003"
979
- // }
980
- //
981
- const created = this.safeInteger(order, 'createdTime');
982
- const updated = this.safeInteger(order, 'updatedTime');
983
- const marketId = this.safeString(order, 'symbol');
984
- const symbol = this.safeSymbol(marketId, market);
985
- const amount = this.safeString(order, 'quantity');
986
- const filled = this.safeString(order, 'executedQty');
987
- const status = this.parseOrderStatus(this.safeString(order, 'status'));
988
- const id = this.safeString(order, 'id');
989
- const price = this.safeString(order, 'price');
990
- const type = this.safeStringLower(order, 'type');
991
- const side = this.safeStringLower(order, 'side');
992
- return this.safeOrder({
993
- 'info': order,
994
- 'id': id,
995
- 'clientOrderId': this.safeString(order, 'clientOrderId'),
996
- 'timestamp': created,
997
- 'datetime': this.iso8601(created),
998
- 'lastTradeTimestamp': updated,
999
- 'status': status,
1000
- 'symbol': symbol,
1001
- 'type': type,
1002
- 'timeInForce': undefined,
1003
- 'postOnly': undefined,
1004
- 'side': side,
1005
- 'price': price,
1006
- 'amount': amount,
1007
- 'filled': filled,
1008
- 'remaining': undefined,
1009
- 'cost': undefined,
1010
- 'fee': undefined,
1011
- 'average': this.safeString(order, 'avgPrice'),
1012
- 'trades': [],
1013
- }, market);
1014
- }
1015
- parseOrderStatus(status) {
1016
- const statuses = {
1017
- 'wait': 'open',
1018
- 'done': 'closed',
1019
- 'cancel': 'canceled',
1020
- };
1021
- return this.safeString(statuses, status, status);
1022
- }
1023
- /**
1024
- * @method
1025
- * @name wazirx#fetchCurrencies
1026
- * @description fetches all available currencies on an exchange
1027
- * @see https://docs.wazirx.com/#all-coins-39-information-user_data
1028
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1029
- * @returns {object} an associative dictionary of currencies
1030
- */
1031
- async fetchCurrencies(params = {}) {
1032
- if (!this.checkRequiredCredentials(false)) {
1033
- return undefined;
1034
- }
1035
- const response = await this.privateGetCoins(params);
1036
- //
1037
- // [
1038
- // {
1039
- // "currency": "btc",
1040
- // "name": "Bitcoin",
1041
- // "networkList": [
1042
- // {
1043
- // "addressRegex": "^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$|^(bc1)[0-9A-Za-z]{39,59}$",
1044
- // "confirmations": 4,
1045
- // "depositDesc": {
1046
- // "description": ""
1047
- // },
1048
- // "depositDust": "0.00000001",
1049
- // "depositEnable": true,
1050
- // "disclaimer": "• \u003cb\u003eSend only using the Bitcoin network.\u003c/b\u003e Using any other network will result in loss of funds.\u003cbr/\u003e• \u003cb\u003eDeposit only BTC to this deposit address.\u003c/b\u003e Depositing any other asset will result in a loss of funds.\u003cbr/\u003e",
1051
- // "fullName": null,
1052
- // "hidden": {
1053
- // "deposit": false,
1054
- // "withdraw": false
1055
- // },
1056
- // "isDefault": true,
1057
- // "maxWithdrawAmount": "3",
1058
- // "minConfirm": 4,
1059
- // "minWithdrawAmount": "0.003",
1060
- // "name": "Bitcoin",
1061
- // "network": "btc",
1062
- // "order": 3,
1063
- // "precision": 8,
1064
- // "requestId": "6d67a13d-26f7-4941-9856-94eba4adfe78",
1065
- // "shortName": "BTC",
1066
- // "specialTip": "Please ensure to select \u003cb\u003eBitcoin\u003c/b\u003e network at sender's wallet.",
1067
- // "withdrawConsent": {
1068
- // "helpUrl": null,
1069
- // "message": "I confirm that this withdrawal of crypto assets is being done to my own wallet, as specified above. I authorize you to share travel rule information with the destination wallet service provider wherever applicable."
1070
- // },
1071
- // "withdrawDesc": {
1072
- // "description": ""
1073
- // },
1074
- // "withdrawEnable": true,
1075
- // "withdrawFee": "0.0015"
1076
- // }
1077
- // ],
1078
- // "rapidListed": false
1079
- // }
1080
- // ]
1081
- //
1082
- const result = {};
1083
- for (let i = 0; i < response.length; i++) {
1084
- const currency = response[i];
1085
- const currencyId = this.safeString(currency, 'currency');
1086
- const code = this.safeCurrencyCode(currencyId);
1087
- const name = this.safeString(currency, 'name');
1088
- const chains = this.safeList(currency, 'networkList', []);
1089
- const networks = {};
1090
- let minPrecision = undefined;
1091
- let minWithdrawFeeString = undefined;
1092
- let minWithdrawString = undefined;
1093
- let maxWithdrawString = undefined;
1094
- let minDepositString = undefined;
1095
- let deposit = false;
1096
- let withdraw = false;
1097
- for (let j = 0; j < chains.length; j++) {
1098
- const chain = chains[j];
1099
- const networkId = this.safeString(chain, 'network');
1100
- const networkCode = this.networkIdToCode(networkId);
1101
- const precision = this.parseNumber(this.parsePrecision(this.safeString(chain, 'precision')));
1102
- minPrecision = (minPrecision === undefined) ? precision : Math.min(minPrecision, precision);
1103
- const depositAllowed = this.safeBool(chain, 'depositEnable');
1104
- deposit = (depositAllowed) ? depositAllowed : deposit;
1105
- const withdrawAllowed = this.safeBool(chain, 'withdrawEnable');
1106
- withdraw = (withdrawAllowed) ? withdrawAllowed : withdraw;
1107
- const withdrawFeeString = this.safeString(chain, 'withdrawFee');
1108
- if (withdrawFeeString !== undefined) {
1109
- minWithdrawFeeString = (minWithdrawFeeString === undefined) ? withdrawFeeString : Precise.stringMin(withdrawFeeString, minWithdrawFeeString);
1110
- }
1111
- const minNetworkWithdrawString = this.safeString(chain, 'minWithdrawAmount');
1112
- if (minNetworkWithdrawString !== undefined) {
1113
- minWithdrawString = (minWithdrawString === undefined) ? minNetworkWithdrawString : Precise.stringMin(minNetworkWithdrawString, minWithdrawString);
1114
- }
1115
- const maxNetworkWithdrawString = this.safeString(chain, 'maxWithdrawAmount');
1116
- if (maxNetworkWithdrawString !== undefined) {
1117
- maxWithdrawString = (maxWithdrawString === undefined) ? maxNetworkWithdrawString : Precise.stringMin(maxNetworkWithdrawString, maxWithdrawString);
1118
- }
1119
- const minNetworkDepositString = this.safeString(chain, 'depositDust');
1120
- if (minNetworkDepositString !== undefined) {
1121
- minDepositString = (minDepositString === undefined) ? minNetworkDepositString : Precise.stringMin(minNetworkDepositString, minDepositString);
1122
- }
1123
- networks[networkCode] = {
1124
- 'info': chain,
1125
- 'id': networkId,
1126
- 'network': networkCode,
1127
- 'active': depositAllowed && withdrawAllowed,
1128
- 'deposit': depositAllowed,
1129
- 'withdraw': withdrawAllowed,
1130
- 'fee': this.parseNumber(withdrawFeeString),
1131
- 'precision': precision,
1132
- 'limits': {
1133
- 'withdraw': {
1134
- 'min': this.parseNumber(minNetworkWithdrawString),
1135
- 'max': this.parseNumber(maxNetworkWithdrawString),
1136
- },
1137
- 'deposit': {
1138
- 'min': this.parseNumber(minNetworkDepositString),
1139
- 'max': undefined,
1140
- },
1141
- },
1142
- };
1143
- }
1144
- result[code] = {
1145
- 'info': currency,
1146
- 'code': code,
1147
- 'id': currencyId,
1148
- 'name': name,
1149
- 'active': deposit && withdraw,
1150
- 'deposit': deposit,
1151
- 'withdraw': withdraw,
1152
- 'fee': this.parseNumber(minWithdrawFeeString),
1153
- 'precision': minPrecision,
1154
- 'limits': {
1155
- 'amount': {
1156
- 'min': undefined,
1157
- 'max': undefined,
1158
- },
1159
- 'withdraw': {
1160
- 'min': this.parseNumber(minWithdrawString),
1161
- 'max': this.parseNumber(maxWithdrawString),
1162
- },
1163
- 'deposit': {
1164
- 'min': this.parseNumber(minDepositString),
1165
- 'max': undefined,
1166
- },
1167
- },
1168
- 'networks': networks,
1169
- };
1170
- }
1171
- return result;
1172
- }
1173
- /**
1174
- * @method
1175
- * @name wazirx#fetchDepositAddress
1176
- * @description fetch the deposit address for a currency associated with this account
1177
- * @see https://docs.wazirx.com/#deposit-address-supporting-network-user_data
1178
- * @param {string} code unified currency code of the currency for the deposit address
1179
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1180
- * @param {string} [params.network] unified network code, you can get network from fetchCurrencies
1181
- * @returns {object} an [address structure]{@link https://docs.ccxt.com/#/?id=address-structure}
1182
- */
1183
- async fetchDepositAddress(code, params = {}) {
1184
- await this.loadMarkets();
1185
- const currency = this.currency(code);
1186
- const networkCode = this.safeString(params, 'network');
1187
- params = this.omit(params, 'network');
1188
- if (networkCode === undefined) {
1189
- throw new ArgumentsRequired(this.id + ' fetchDepositAddress() requires a network parameter');
1190
- }
1191
- const request = {
1192
- 'coin': currency['id'],
1193
- 'network': this.networkCodeToId(networkCode, code),
1194
- };
1195
- const response = await this.privateGetCryptoDepositsAddress(this.extend(request, params));
1196
- //
1197
- // {
1198
- // "address": "bc1qrzpyzh69pfclpqy7c3yg8rkjsy49se7642v4q3",
1199
- // "coin": "btc",
1200
- // "url": "https: //live.blockcypher.com/btc/address/bc1qrzpyzh69pfclpqy7c3yg8rkjsy49se7642v4q3"
1201
- // }
1202
- //
1203
- return {
1204
- 'info': response,
1205
- 'currency': code,
1206
- 'network': this.networkCodeToId(networkCode, code),
1207
- 'address': this.safeString(response, 'address'),
1208
- 'tag': undefined,
1209
- };
1210
- }
1211
- /**
1212
- * @method
1213
- * @name wazirx#fetchWithdrawals
1214
- * @description fetch all withdrawals made from an account
1215
- * @see https://docs.wazirx.com/#withdraw-history-supporting-network-user_data
1216
- * @param {string} code unified currency code
1217
- * @param {int} [since] the earliest time in ms to fetch withdrawals for
1218
- * @param {int} [limit] the maximum number of withdrawals structures to retrieve
1219
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1220
- * @param {int} [params.until] the latest time in ms to fetch entries for
1221
- * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
1222
- */
1223
- async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
1224
- await this.loadMarkets();
1225
- const request = {};
1226
- let currency = undefined;
1227
- if (code !== undefined) {
1228
- currency = this.currency(code);
1229
- request['coin'] = currency['id'];
1230
- }
1231
- if (limit !== undefined) {
1232
- request['limit'] = limit;
1233
- }
1234
- const until = this.safeInteger(params, 'until');
1235
- params = this.omit(params, ['until']);
1236
- if (since !== undefined) {
1237
- request['startTime'] = since;
1238
- }
1239
- if (until !== undefined) {
1240
- request['endTime'] = until;
1241
- }
1242
- const response = await this.privateGetCryptoWithdraws(this.extend(request, params));
1243
- //
1244
- // [
1245
- // {
1246
- // "address": "0x94df8b352de7f46f64b01d3666bf6e936e44ce60",
1247
- // "amount": "8.91000000",
1248
- // "createdAt": "2019-10-12 09:12:02",
1249
- // "lastUpdated": "2019-10-12 11:12:02",
1250
- // "coin": "USDT",
1251
- // "id": "b6ae22b3aa844210a7041aee7589627c",
1252
- // "withdrawOrderId": "WITHDRAWtest123",
1253
- // "network": "ETH",
1254
- // "status": 1,
1255
- // "transactionFee": "0.004",
1256
- // "failureInfo":"The address is not valid. Please confirm with the recipient",
1257
- // "txId": "0xb5ef8c13b968a406cc62a93a8bd80f9e9a906ef1b3fcf20a2e48573c17659268"
1258
- // }
1259
- // ]
1260
- //
1261
- return this.parseTransactions(response, currency, since, limit);
1262
- }
1263
- parseTransactionStatus(status) {
1264
- const statuses = {
1265
- '0': 'ok',
1266
- '1': 'fail',
1267
- '2': 'pending',
1268
- '3': 'canceled',
1269
- };
1270
- return this.safeString(statuses, status, status);
1271
- }
1272
- parseTransaction(transaction, currency = undefined) {
1273
- //
1274
- // {
1275
- // "address": "0x94df8b352de7f46f64b01d3666bf6e936e44ce60",
1276
- // "amount": "8.91000000",
1277
- // "createdAt": "2019-10-12 09:12:02",
1278
- // "lastUpdated": "2019-10-12 11:12:02",
1279
- // "coin": "USDT",
1280
- // "id": "b6ae22b3aa844210a7041aee7589627c",
1281
- // "withdrawOrderId": "WITHDRAWtest123",
1282
- // "network": "ETH",
1283
- // "status": 1,
1284
- // "transactionFee": "0.004",
1285
- // "failureInfo": "The address is not valid. Please confirm with the recipient",
1286
- // "txId": "0xb5ef8c13b968a406cc62a93a8bd80f9e9a906ef1b3fcf20a2e48573c17659268"
1287
- // }
1288
- //
1289
- const currencyId = this.safeString(transaction, 'coin');
1290
- const code = this.safeCurrencyCode(currencyId, currency);
1291
- const timestamp = this.parse8601(this.safeString(transaction, 'createdAt'));
1292
- const updated = this.parse8601(this.safeString(transaction, 'lastUpdated'));
1293
- const status = this.parseTransactionStatus(this.safeString(transaction, 'status'));
1294
- const feeCost = this.safeNumber(transaction, 'transactionFee');
1295
- let fee = undefined;
1296
- if (feeCost !== undefined) {
1297
- fee = {
1298
- 'cost': feeCost,
1299
- 'currency': code,
1300
- };
1301
- }
1302
- return {
1303
- 'info': transaction,
1304
- 'id': this.safeString(transaction, 'id'),
1305
- 'txid': this.safeString(transaction, 'txId'),
1306
- 'timestamp': timestamp,
1307
- 'datetime': this.iso8601(timestamp),
1308
- 'network': this.networkIdToCode(this.safeString(transaction, 'network')),
1309
- 'address': this.safeString(transaction, 'address'),
1310
- 'addressTo': this.safeString(transaction, 'address'),
1311
- 'addressFrom': undefined,
1312
- 'tag': undefined,
1313
- 'tagTo': undefined,
1314
- 'tagFrom': undefined,
1315
- 'type': 'withdrawal',
1316
- 'amount': this.safeNumber(transaction, 'amount'),
1317
- 'currency': code,
1318
- 'status': status,
1319
- 'updated': updated,
1320
- 'fee': fee,
1321
- 'internal': undefined,
1322
- 'comment': undefined,
1323
- };
1324
- }
1325
- sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
1326
- let url = this.urls['api']['rest'] + '/' + path;
1327
- if (api === 'public') {
1328
- if (Object.keys(params).length) {
1329
- url += '?' + this.urlencode(params);
1330
- }
1331
- }
1332
- if (api === 'private') {
1333
- this.checkRequiredCredentials();
1334
- const timestamp = this.milliseconds();
1335
- let data = this.extend({ 'recvWindow': this.options['recvWindow'], 'timestamp': timestamp }, params);
1336
- data = this.keysort(data);
1337
- const signature = this.hmac(this.encode(this.urlencode(data)), this.encode(this.secret), sha256);
1338
- url += '?' + this.urlencode(data);
1339
- url += '&' + 'signature=' + signature;
1340
- headers = {
1341
- 'Content-Type': 'application/x-www-form-urlencoded',
1342
- 'X-Api-Key': this.apiKey,
1343
- };
1344
- }
1345
- return { 'url': url, 'method': method, 'body': body, 'headers': headers };
1346
- }
1347
- handleErrors(code, reason, url, method, headers, body, response, requestHeaders, requestBody) {
1348
- //
1349
- // {"code":2098,"message":"Request out of receiving window."}
1350
- //
1351
- if (response === undefined) {
1352
- return undefined;
1353
- }
1354
- const errorCode = this.safeString(response, 'code');
1355
- if (errorCode !== undefined) {
1356
- const feedback = this.id + ' ' + body;
1357
- this.throwExactlyMatchedException(this.exceptions['exact'], errorCode, feedback);
1358
- throw new ExchangeError(feedback);
1359
- }
1360
- return undefined;
1361
- }
1362
- }