ccxt 4.4.30 → 4.4.32

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 (496) hide show
  1. package/README.md +9 -3
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +1 -1
  4. package/dist/cjs/src/ace.js +123 -123
  5. package/dist/cjs/src/alpaca.js +237 -237
  6. package/dist/cjs/src/ascendex.js +342 -341
  7. package/dist/cjs/src/bigone.js +242 -242
  8. package/dist/cjs/src/binance.js +1339 -1291
  9. package/dist/cjs/src/bingx.js +639 -639
  10. package/dist/cjs/src/bit2c.js +111 -111
  11. package/dist/cjs/src/bitbank.js +142 -142
  12. package/dist/cjs/src/bitbns.js +140 -140
  13. package/dist/cjs/src/bitfinex.js +231 -231
  14. package/dist/cjs/src/bitfinex2.js +403 -403
  15. package/dist/cjs/src/bitflyer.js +184 -184
  16. package/dist/cjs/src/bitget.js +848 -846
  17. package/dist/cjs/src/bithumb.js +125 -124
  18. package/dist/cjs/src/bitmart.js +525 -525
  19. package/dist/cjs/src/bitmex.js +317 -317
  20. package/dist/cjs/src/bitopro.js +221 -221
  21. package/dist/cjs/src/bitrue.js +315 -315
  22. package/dist/cjs/src/bitso.js +220 -220
  23. package/dist/cjs/src/bitstamp.js +251 -251
  24. package/dist/cjs/src/bitteam.js +183 -183
  25. package/dist/cjs/src/bitvavo.js +247 -251
  26. package/dist/cjs/src/bl3p.js +82 -82
  27. package/dist/cjs/src/blockchaincom.js +211 -211
  28. package/dist/cjs/src/blofin.js +332 -331
  29. package/dist/cjs/src/btcalpha.js +166 -166
  30. package/dist/cjs/src/btcbox.js +108 -108
  31. package/dist/cjs/src/btcmarkets.js +198 -198
  32. package/dist/cjs/src/btcturk.js +124 -124
  33. package/dist/cjs/src/bybit.js +906 -900
  34. package/dist/cjs/src/cex.js +227 -226
  35. package/dist/cjs/src/coinbase.js +481 -481
  36. package/dist/cjs/src/coinbaseexchange.js +274 -274
  37. package/dist/cjs/src/coinbaseinternational.js +304 -304
  38. package/dist/cjs/src/coincatch.js +650 -650
  39. package/dist/cjs/src/coincheck.js +113 -113
  40. package/dist/cjs/src/coinex.js +611 -601
  41. package/dist/cjs/src/coinlist.js +304 -303
  42. package/dist/cjs/src/coinmate.js +162 -161
  43. package/dist/cjs/src/coinmetro.js +187 -187
  44. package/dist/cjs/src/coinone.js +124 -123
  45. package/dist/cjs/src/coinsph.js +237 -237
  46. package/dist/cjs/src/coinspot.js +82 -82
  47. package/dist/cjs/src/cryptocom.js +342 -341
  48. package/dist/cjs/src/currencycom.js +225 -224
  49. package/dist/cjs/src/delta.js +320 -320
  50. package/dist/cjs/src/deribit.js +411 -408
  51. package/dist/cjs/src/digifinex.js +432 -431
  52. package/dist/cjs/src/exmo.js +328 -327
  53. package/dist/cjs/src/gate.js +830 -791
  54. package/dist/cjs/src/gemini.js +199 -198
  55. package/dist/cjs/src/hashkey.js +520 -517
  56. package/dist/cjs/src/hitbtc.js +465 -462
  57. package/dist/cjs/src/hollaex.js +253 -252
  58. package/dist/cjs/src/htx.js +791 -848
  59. package/dist/cjs/src/huobijp.js +219 -218
  60. package/dist/cjs/src/hyperliquid.js +421 -417
  61. package/dist/cjs/src/idex.js +238 -237
  62. package/dist/cjs/src/independentreserve.js +133 -132
  63. package/dist/cjs/src/indodax.js +177 -171
  64. package/dist/cjs/src/kraken.js +381 -377
  65. package/dist/cjs/src/krakenfutures.js +285 -279
  66. package/dist/cjs/src/kucoin.js +632 -622
  67. package/dist/cjs/src/kucoinfutures.js +533 -457
  68. package/dist/cjs/src/kuna.js +283 -282
  69. package/dist/cjs/src/latoken.js +211 -210
  70. package/dist/cjs/src/lbank.js +268 -267
  71. package/dist/cjs/src/luno.js +174 -173
  72. package/dist/cjs/src/lykke.js +172 -171
  73. package/dist/cjs/src/mercado.js +123 -122
  74. package/dist/cjs/src/mexc.js +650 -646
  75. package/dist/cjs/src/ndax.js +229 -228
  76. package/dist/cjs/src/novadax.js +230 -229
  77. package/dist/cjs/src/oceanex.js +187 -186
  78. package/dist/cjs/src/okcoin.js +286 -285
  79. package/dist/cjs/src/okx.js +909 -904
  80. package/dist/cjs/src/onetrading.js +218 -218
  81. package/dist/cjs/src/oxfun.js +335 -334
  82. package/dist/cjs/src/p2b.js +154 -154
  83. package/dist/cjs/src/paradex.js +249 -244
  84. package/dist/cjs/src/paymium.js +101 -101
  85. package/dist/cjs/src/phemex.js +388 -390
  86. package/dist/cjs/src/poloniex.js +270 -270
  87. package/dist/cjs/src/poloniexfutures.js +250 -250
  88. package/dist/cjs/src/pro/alpaca.js +64 -64
  89. package/dist/cjs/src/pro/ascendex.js +64 -64
  90. package/dist/cjs/src/pro/binance.js +546 -543
  91. package/dist/cjs/src/pro/bingx.js +116 -116
  92. package/dist/cjs/src/pro/bitfinex.js +42 -42
  93. package/dist/cjs/src/pro/bitfinex2.js +66 -66
  94. package/dist/cjs/src/pro/bitget.js +188 -181
  95. package/dist/cjs/src/pro/bithumb.js +40 -40
  96. package/dist/cjs/src/pro/bitmart.js +121 -119
  97. package/dist/cjs/src/pro/bitmex.js +135 -133
  98. package/dist/cjs/src/pro/bitopro.js +49 -49
  99. package/dist/cjs/src/pro/bitrue.js +19 -19
  100. package/dist/cjs/src/pro/bitstamp.js +29 -29
  101. package/dist/cjs/src/pro/bitvavo.js +299 -301
  102. package/dist/cjs/src/pro/blockchaincom.js +62 -62
  103. package/dist/cjs/src/pro/blofin.js +132 -130
  104. package/dist/cjs/src/pro/bybit.js +317 -313
  105. package/dist/cjs/src/pro/cex.js +168 -168
  106. package/dist/cjs/src/pro/coinbase.js +93 -91
  107. package/dist/cjs/src/pro/coinbaseexchange.js +95 -95
  108. package/dist/cjs/src/pro/coinbaseinternational.js +111 -111
  109. package/dist/cjs/src/pro/coincatch.js +150 -143
  110. package/dist/cjs/src/pro/coincheck.js +21 -21
  111. package/dist/cjs/src/pro/coinex.js +110 -110
  112. package/dist/cjs/src/pro/coinone.js +30 -30
  113. package/dist/cjs/src/pro/cryptocom.js +227 -227
  114. package/dist/cjs/src/pro/currencycom.js +45 -45
  115. package/dist/cjs/src/pro/deribit.js +127 -127
  116. package/dist/cjs/src/pro/exmo.js +66 -66
  117. package/dist/cjs/src/pro/gate.js +287 -283
  118. package/dist/cjs/src/pro/gemini.js +74 -74
  119. package/dist/cjs/src/pro/hashkey.js +87 -85
  120. package/dist/cjs/src/pro/hitbtc.js +190 -190
  121. package/dist/cjs/src/pro/hollaex.js +51 -51
  122. package/dist/cjs/src/pro/htx.js +96 -94
  123. package/dist/cjs/src/pro/huobijp.js +38 -38
  124. package/dist/cjs/src/pro/hyperliquid.js +151 -150
  125. package/dist/cjs/src/pro/idex.js +48 -48
  126. package/dist/cjs/src/pro/independentreserve.js +19 -19
  127. package/dist/cjs/src/pro/kraken.js +167 -167
  128. package/dist/cjs/src/pro/krakenfutures.js +137 -138
  129. package/dist/cjs/src/pro/kucoin.js +167 -168
  130. package/dist/cjs/src/pro/kucoinfutures.js +147 -147
  131. package/dist/cjs/src/pro/lbank.js +95 -95
  132. package/dist/cjs/src/pro/luno.js +21 -21
  133. package/dist/cjs/src/pro/mexc.js +102 -103
  134. package/dist/cjs/src/pro/ndax.js +42 -42
  135. package/dist/cjs/src/pro/okcoin.js +61 -61
  136. package/dist/cjs/src/pro/okx.js +332 -330
  137. package/dist/cjs/src/pro/onetrading.js +71 -71
  138. package/dist/cjs/src/pro/oxfun.js +193 -191
  139. package/dist/cjs/src/pro/p2b.js +77 -77
  140. package/dist/cjs/src/pro/paradex.js +39 -39
  141. package/dist/cjs/src/pro/phemex.js +94 -94
  142. package/dist/cjs/src/pro/poloniex.js +171 -171
  143. package/dist/cjs/src/pro/poloniexfutures.js +62 -62
  144. package/dist/cjs/src/pro/probit.js +63 -63
  145. package/dist/cjs/src/pro/upbit.js +80 -80
  146. package/dist/cjs/src/pro/vertex.js +65 -63
  147. package/dist/cjs/src/pro/wazirx.js +70 -70
  148. package/dist/cjs/src/pro/whitebit.js +83 -83
  149. package/dist/cjs/src/pro/woo.js +106 -104
  150. package/dist/cjs/src/pro/woofipro.js +105 -103
  151. package/dist/cjs/src/pro/xt.js +119 -119
  152. package/dist/cjs/src/probit.js +229 -229
  153. package/dist/cjs/src/timex.js +198 -197
  154. package/dist/cjs/src/tokocrypto.js +214 -213
  155. package/dist/cjs/src/tradeogre.js +92 -91
  156. package/dist/cjs/src/upbit.js +243 -242
  157. package/dist/cjs/src/vertex.js +258 -258
  158. package/dist/cjs/src/wavesexchange.js +176 -172
  159. package/dist/cjs/src/wazirx.js +168 -168
  160. package/dist/cjs/src/whitebit.js +361 -361
  161. package/dist/cjs/src/woo.js +571 -572
  162. package/dist/cjs/src/woofipro.js +392 -391
  163. package/dist/cjs/src/xt.js +436 -435
  164. package/dist/cjs/src/yobit.js +159 -158
  165. package/dist/cjs/src/zaif.js +103 -103
  166. package/dist/cjs/src/zonda.js +168 -168
  167. package/js/ccxt.d.ts +1 -1
  168. package/js/ccxt.js +1 -1
  169. package/js/src/ace.d.ts +123 -0
  170. package/js/src/ace.js +123 -123
  171. package/js/src/alpaca.d.ts +237 -0
  172. package/js/src/alpaca.js +237 -237
  173. package/js/src/ascendex.d.ts +339 -0
  174. package/js/src/ascendex.js +342 -341
  175. package/js/src/base/types.d.ts +1 -0
  176. package/js/src/bigone.d.ts +242 -0
  177. package/js/src/bigone.js +242 -242
  178. package/js/src/binance.d.ts +1306 -0
  179. package/js/src/binance.js +1339 -1291
  180. package/js/src/bingx.d.ts +639 -0
  181. package/js/src/bingx.js +639 -639
  182. package/js/src/bit2c.d.ts +111 -0
  183. package/js/src/bit2c.js +111 -111
  184. package/js/src/bitbank.d.ts +142 -0
  185. package/js/src/bitbank.js +142 -142
  186. package/js/src/bitbns.d.ts +140 -0
  187. package/js/src/bitbns.js +140 -140
  188. package/js/src/bitfinex.d.ts +231 -0
  189. package/js/src/bitfinex.js +231 -231
  190. package/js/src/bitfinex2.d.ts +403 -0
  191. package/js/src/bitfinex2.js +403 -403
  192. package/js/src/bitflyer.d.ts +184 -0
  193. package/js/src/bitflyer.js +184 -184
  194. package/js/src/bitget.d.ts +846 -0
  195. package/js/src/bitget.js +848 -846
  196. package/js/src/bithumb.d.ts +125 -0
  197. package/js/src/bithumb.js +125 -124
  198. package/js/src/bitmart.d.ts +525 -0
  199. package/js/src/bitmart.js +525 -525
  200. package/js/src/bitmex.d.ts +317 -0
  201. package/js/src/bitmex.js +317 -317
  202. package/js/src/bitopro.d.ts +221 -0
  203. package/js/src/bitopro.js +221 -221
  204. package/js/src/bitrue.d.ts +315 -0
  205. package/js/src/bitrue.js +315 -315
  206. package/js/src/bitso.d.ts +220 -0
  207. package/js/src/bitso.js +220 -220
  208. package/js/src/bitstamp.d.ts +251 -0
  209. package/js/src/bitstamp.js +251 -251
  210. package/js/src/bitteam.d.ts +183 -0
  211. package/js/src/bitteam.js +183 -183
  212. package/js/src/bitvavo.d.ts +247 -0
  213. package/js/src/bitvavo.js +247 -251
  214. package/js/src/bl3p.d.ts +82 -0
  215. package/js/src/bl3p.js +82 -82
  216. package/js/src/blockchaincom.d.ts +211 -0
  217. package/js/src/blockchaincom.js +211 -211
  218. package/js/src/blofin.d.ts +332 -0
  219. package/js/src/blofin.js +332 -331
  220. package/js/src/btcalpha.d.ts +166 -0
  221. package/js/src/btcalpha.js +166 -166
  222. package/js/src/btcbox.d.ts +108 -0
  223. package/js/src/btcbox.js +108 -108
  224. package/js/src/btcmarkets.d.ts +198 -0
  225. package/js/src/btcmarkets.js +198 -198
  226. package/js/src/btcturk.d.ts +124 -0
  227. package/js/src/btcturk.js +124 -124
  228. package/js/src/bybit.d.ts +906 -1
  229. package/js/src/bybit.js +906 -900
  230. package/js/src/cex.d.ts +227 -0
  231. package/js/src/cex.js +227 -226
  232. package/js/src/coinbase.d.ts +481 -0
  233. package/js/src/coinbase.js +481 -481
  234. package/js/src/coinbaseexchange.d.ts +274 -0
  235. package/js/src/coinbaseexchange.js +274 -274
  236. package/js/src/coinbaseinternational.d.ts +304 -0
  237. package/js/src/coinbaseinternational.js +304 -304
  238. package/js/src/coincatch.d.ts +646 -0
  239. package/js/src/coincatch.js +650 -650
  240. package/js/src/coincheck.d.ts +113 -0
  241. package/js/src/coincheck.js +113 -113
  242. package/js/src/coinex.d.ts +603 -0
  243. package/js/src/coinex.js +611 -601
  244. package/js/src/coinlist.d.ts +304 -0
  245. package/js/src/coinlist.js +304 -303
  246. package/js/src/coinmate.d.ts +162 -0
  247. package/js/src/coinmate.js +162 -161
  248. package/js/src/coinmetro.d.ts +187 -0
  249. package/js/src/coinmetro.js +187 -187
  250. package/js/src/coinone.d.ts +124 -0
  251. package/js/src/coinone.js +124 -123
  252. package/js/src/coinsph.d.ts +237 -0
  253. package/js/src/coinsph.js +237 -237
  254. package/js/src/coinspot.d.ts +82 -0
  255. package/js/src/coinspot.js +82 -82
  256. package/js/src/cryptocom.d.ts +342 -0
  257. package/js/src/cryptocom.js +342 -341
  258. package/js/src/currencycom.d.ts +225 -0
  259. package/js/src/currencycom.js +225 -224
  260. package/js/src/delta.d.ts +320 -0
  261. package/js/src/delta.js +320 -320
  262. package/js/src/deribit.d.ts +411 -0
  263. package/js/src/deribit.js +411 -408
  264. package/js/src/digifinex.d.ts +430 -0
  265. package/js/src/digifinex.js +432 -431
  266. package/js/src/exmo.d.ts +328 -0
  267. package/js/src/exmo.js +328 -327
  268. package/js/src/gate.d.ts +803 -1
  269. package/js/src/gate.js +830 -791
  270. package/js/src/gemini.d.ts +199 -0
  271. package/js/src/gemini.js +199 -198
  272. package/js/src/hashkey.d.ts +516 -0
  273. package/js/src/hashkey.js +520 -517
  274. package/js/src/hitbtc.d.ts +465 -0
  275. package/js/src/hitbtc.js +465 -462
  276. package/js/src/hollaex.d.ts +253 -0
  277. package/js/src/hollaex.js +253 -252
  278. package/js/src/htx.d.ts +765 -2
  279. package/js/src/htx.js +791 -848
  280. package/js/src/huobijp.d.ts +219 -0
  281. package/js/src/huobijp.js +219 -218
  282. package/js/src/hyperliquid.d.ts +419 -0
  283. package/js/src/hyperliquid.js +421 -417
  284. package/js/src/idex.d.ts +238 -0
  285. package/js/src/idex.js +238 -237
  286. package/js/src/independentreserve.d.ts +133 -0
  287. package/js/src/independentreserve.js +133 -132
  288. package/js/src/indodax.d.ts +171 -0
  289. package/js/src/indodax.js +177 -171
  290. package/js/src/kraken.d.ts +381 -0
  291. package/js/src/kraken.js +381 -377
  292. package/js/src/krakenfutures.d.ts +282 -0
  293. package/js/src/krakenfutures.js +285 -279
  294. package/js/src/kucoin.d.ts +613 -0
  295. package/js/src/kucoin.js +632 -622
  296. package/js/src/kucoinfutures.d.ts +441 -0
  297. package/js/src/kucoinfutures.js +533 -457
  298. package/js/src/kuna.d.ts +283 -0
  299. package/js/src/kuna.js +283 -282
  300. package/js/src/latoken.d.ts +211 -0
  301. package/js/src/latoken.js +211 -210
  302. package/js/src/lbank.d.ts +268 -0
  303. package/js/src/lbank.js +268 -267
  304. package/js/src/luno.d.ts +174 -0
  305. package/js/src/luno.js +174 -173
  306. package/js/src/lykke.d.ts +172 -0
  307. package/js/src/lykke.js +172 -171
  308. package/js/src/mercado.d.ts +123 -0
  309. package/js/src/mercado.js +123 -122
  310. package/js/src/mexc.d.ts +647 -0
  311. package/js/src/mexc.js +650 -646
  312. package/js/src/ndax.d.ts +229 -0
  313. package/js/src/ndax.js +229 -228
  314. package/js/src/novadax.d.ts +230 -0
  315. package/js/src/novadax.js +230 -229
  316. package/js/src/oceanex.d.ts +187 -0
  317. package/js/src/oceanex.js +187 -186
  318. package/js/src/okcoin.d.ts +286 -0
  319. package/js/src/okcoin.js +286 -285
  320. package/js/src/okx.d.ts +907 -0
  321. package/js/src/okx.js +909 -904
  322. package/js/src/onetrading.d.ts +218 -0
  323. package/js/src/onetrading.js +218 -218
  324. package/js/src/oxfun.d.ts +336 -3
  325. package/js/src/oxfun.js +335 -334
  326. package/js/src/p2b.d.ts +154 -0
  327. package/js/src/p2b.js +154 -154
  328. package/js/src/paradex.d.ts +241 -0
  329. package/js/src/paradex.js +249 -244
  330. package/js/src/paymium.d.ts +101 -0
  331. package/js/src/paymium.js +101 -101
  332. package/js/src/phemex.d.ts +366 -0
  333. package/js/src/phemex.js +388 -390
  334. package/js/src/poloniex.d.ts +270 -0
  335. package/js/src/poloniex.js +270 -270
  336. package/js/src/poloniexfutures.d.ts +250 -0
  337. package/js/src/poloniexfutures.js +250 -250
  338. package/js/src/pro/alpaca.d.ts +64 -0
  339. package/js/src/pro/alpaca.js +64 -64
  340. package/js/src/pro/ascendex.d.ts +64 -0
  341. package/js/src/pro/ascendex.js +64 -64
  342. package/js/src/pro/binance.d.ts +546 -0
  343. package/js/src/pro/binance.js +546 -543
  344. package/js/src/pro/bingx.d.ts +116 -0
  345. package/js/src/pro/bingx.js +116 -116
  346. package/js/src/pro/bitfinex.d.ts +42 -0
  347. package/js/src/pro/bitfinex.js +42 -42
  348. package/js/src/pro/bitfinex2.d.ts +66 -0
  349. package/js/src/pro/bitfinex2.js +66 -66
  350. package/js/src/pro/bitget.d.ts +187 -0
  351. package/js/src/pro/bitget.js +188 -181
  352. package/js/src/pro/bithumb.d.ts +40 -0
  353. package/js/src/pro/bithumb.js +40 -40
  354. package/js/src/pro/bitmart.d.ts +121 -0
  355. package/js/src/pro/bitmart.js +121 -119
  356. package/js/src/pro/bitmex.d.ts +135 -0
  357. package/js/src/pro/bitmex.js +135 -133
  358. package/js/src/pro/bitopro.d.ts +49 -0
  359. package/js/src/pro/bitopro.js +49 -49
  360. package/js/src/pro/bitrue.d.ts +19 -0
  361. package/js/src/pro/bitrue.js +19 -19
  362. package/js/src/pro/bitstamp.d.ts +29 -0
  363. package/js/src/pro/bitstamp.js +29 -29
  364. package/js/src/pro/bitvavo.d.ts +254 -1
  365. package/js/src/pro/bitvavo.js +299 -301
  366. package/js/src/pro/blockchaincom.d.ts +62 -0
  367. package/js/src/pro/blockchaincom.js +62 -62
  368. package/js/src/pro/blofin.d.ts +132 -0
  369. package/js/src/pro/blofin.js +132 -130
  370. package/js/src/pro/bybit.d.ts +317 -0
  371. package/js/src/pro/bybit.js +317 -313
  372. package/js/src/pro/cex.d.ts +168 -0
  373. package/js/src/pro/cex.js +168 -168
  374. package/js/src/pro/coinbase.d.ts +93 -0
  375. package/js/src/pro/coinbase.js +93 -91
  376. package/js/src/pro/coinbaseexchange.d.ts +95 -0
  377. package/js/src/pro/coinbaseexchange.js +95 -95
  378. package/js/src/pro/coinbaseinternational.d.ts +111 -0
  379. package/js/src/pro/coinbaseinternational.js +111 -111
  380. package/js/src/pro/coincatch.d.ts +150 -0
  381. package/js/src/pro/coincatch.js +150 -143
  382. package/js/src/pro/coincheck.d.ts +21 -0
  383. package/js/src/pro/coincheck.js +21 -21
  384. package/js/src/pro/coinex.d.ts +110 -0
  385. package/js/src/pro/coinex.js +110 -110
  386. package/js/src/pro/coinone.d.ts +30 -0
  387. package/js/src/pro/coinone.js +30 -30
  388. package/js/src/pro/cryptocom.d.ts +227 -0
  389. package/js/src/pro/cryptocom.js +227 -227
  390. package/js/src/pro/currencycom.d.ts +45 -0
  391. package/js/src/pro/currencycom.js +45 -45
  392. package/js/src/pro/deribit.d.ts +127 -0
  393. package/js/src/pro/deribit.js +127 -127
  394. package/js/src/pro/exmo.d.ts +66 -0
  395. package/js/src/pro/exmo.js +66 -66
  396. package/js/src/pro/gate.d.ts +287 -0
  397. package/js/src/pro/gate.js +287 -283
  398. package/js/src/pro/gemini.d.ts +74 -0
  399. package/js/src/pro/gemini.js +74 -74
  400. package/js/src/pro/hashkey.d.ts +87 -0
  401. package/js/src/pro/hashkey.js +87 -85
  402. package/js/src/pro/hitbtc.d.ts +190 -0
  403. package/js/src/pro/hitbtc.js +190 -190
  404. package/js/src/pro/hollaex.d.ts +51 -0
  405. package/js/src/pro/hollaex.js +51 -51
  406. package/js/src/pro/htx.d.ts +96 -0
  407. package/js/src/pro/htx.js +96 -94
  408. package/js/src/pro/huobijp.d.ts +38 -0
  409. package/js/src/pro/huobijp.js +38 -38
  410. package/js/src/pro/hyperliquid.d.ts +151 -0
  411. package/js/src/pro/hyperliquid.js +151 -150
  412. package/js/src/pro/idex.d.ts +48 -0
  413. package/js/src/pro/idex.js +48 -48
  414. package/js/src/pro/independentreserve.d.ts +19 -0
  415. package/js/src/pro/independentreserve.js +19 -19
  416. package/js/src/pro/kraken.d.ts +167 -0
  417. package/js/src/pro/kraken.js +167 -167
  418. package/js/src/pro/krakenfutures.d.ts +137 -0
  419. package/js/src/pro/krakenfutures.js +137 -138
  420. package/js/src/pro/kucoin.d.ts +167 -0
  421. package/js/src/pro/kucoin.js +167 -168
  422. package/js/src/pro/kucoinfutures.d.ts +147 -0
  423. package/js/src/pro/kucoinfutures.js +147 -147
  424. package/js/src/pro/lbank.d.ts +95 -0
  425. package/js/src/pro/lbank.js +95 -95
  426. package/js/src/pro/luno.d.ts +21 -0
  427. package/js/src/pro/luno.js +21 -21
  428. package/js/src/pro/mexc.d.ts +101 -0
  429. package/js/src/pro/mexc.js +102 -103
  430. package/js/src/pro/ndax.d.ts +42 -0
  431. package/js/src/pro/ndax.js +42 -42
  432. package/js/src/pro/okcoin.d.ts +61 -0
  433. package/js/src/pro/okcoin.js +61 -61
  434. package/js/src/pro/okx.d.ts +332 -0
  435. package/js/src/pro/okx.js +332 -330
  436. package/js/src/pro/onetrading.d.ts +71 -0
  437. package/js/src/pro/onetrading.js +71 -71
  438. package/js/src/pro/oxfun.d.ts +193 -0
  439. package/js/src/pro/oxfun.js +193 -191
  440. package/js/src/pro/p2b.d.ts +77 -0
  441. package/js/src/pro/p2b.js +77 -77
  442. package/js/src/pro/paradex.d.ts +39 -0
  443. package/js/src/pro/paradex.js +39 -39
  444. package/js/src/pro/phemex.d.ts +94 -0
  445. package/js/src/pro/phemex.js +94 -94
  446. package/js/src/pro/poloniex.d.ts +171 -0
  447. package/js/src/pro/poloniex.js +171 -171
  448. package/js/src/pro/poloniexfutures.d.ts +62 -0
  449. package/js/src/pro/poloniexfutures.js +62 -62
  450. package/js/src/pro/probit.d.ts +63 -0
  451. package/js/src/pro/probit.js +63 -63
  452. package/js/src/pro/upbit.d.ts +80 -0
  453. package/js/src/pro/upbit.js +80 -80
  454. package/js/src/pro/vertex.d.ts +65 -0
  455. package/js/src/pro/vertex.js +65 -63
  456. package/js/src/pro/wazirx.d.ts +70 -0
  457. package/js/src/pro/wazirx.js +70 -70
  458. package/js/src/pro/whitebit.d.ts +83 -0
  459. package/js/src/pro/whitebit.js +83 -83
  460. package/js/src/pro/woo.d.ts +106 -0
  461. package/js/src/pro/woo.js +106 -104
  462. package/js/src/pro/woofipro.d.ts +105 -0
  463. package/js/src/pro/woofipro.js +105 -103
  464. package/js/src/pro/xt.d.ts +119 -0
  465. package/js/src/pro/xt.js +119 -119
  466. package/js/src/probit.d.ts +229 -0
  467. package/js/src/probit.js +229 -229
  468. package/js/src/timex.d.ts +198 -0
  469. package/js/src/timex.js +198 -197
  470. package/js/src/tokocrypto.d.ts +214 -0
  471. package/js/src/tokocrypto.js +214 -213
  472. package/js/src/tradeogre.d.ts +92 -0
  473. package/js/src/tradeogre.js +92 -91
  474. package/js/src/upbit.d.ts +243 -0
  475. package/js/src/upbit.js +243 -242
  476. package/js/src/vertex.d.ts +258 -0
  477. package/js/src/vertex.js +258 -258
  478. package/js/src/wavesexchange.d.ts +176 -0
  479. package/js/src/wavesexchange.js +176 -172
  480. package/js/src/wazirx.d.ts +168 -0
  481. package/js/src/wazirx.js +168 -168
  482. package/js/src/whitebit.d.ts +361 -0
  483. package/js/src/whitebit.js +361 -361
  484. package/js/src/woo.d.ts +571 -0
  485. package/js/src/woo.js +571 -572
  486. package/js/src/woofipro.d.ts +392 -0
  487. package/js/src/woofipro.js +392 -391
  488. package/js/src/xt.d.ts +439 -4
  489. package/js/src/xt.js +436 -435
  490. package/js/src/yobit.d.ts +159 -0
  491. package/js/src/yobit.js +159 -158
  492. package/js/src/zaif.d.ts +103 -0
  493. package/js/src/zaif.js +103 -103
  494. package/js/src/zonda.d.ts +168 -0
  495. package/js/src/zonda.js +168 -168
  496. package/package.json +1 -1
@@ -101,28 +101,28 @@ class bitvavo extends bitvavo$1 {
101
101
  const message = this.extend(request, params);
102
102
  return await this.watchMultiple(url, messageHashes, message, messageHashes);
103
103
  }
104
+ /**
105
+ * @method
106
+ * @name bitvavo#watchTicker
107
+ * @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
108
+ * @see https://docs.bitvavo.com/#tag/Market-data-subscription-WebSocket/paths/~1subscribeTicker24h/post
109
+ * @param {string} symbol unified symbol of the market to fetch the ticker for
110
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
111
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
112
+ */
104
113
  async watchTicker(symbol, params = {}) {
105
- /**
106
- * @method
107
- * @name bitvavo#watchTicker
108
- * @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
109
- * @see https://docs.bitvavo.com/#tag/Market-data-subscription-WebSocket/paths/~1subscribeTicker24h/post
110
- * @param {string} symbol unified symbol of the market to fetch the ticker for
111
- * @param {object} [params] extra parameters specific to the exchange API endpoint
112
- * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
113
- */
114
114
  return await this.watchPublic('ticker24h', symbol, params);
115
115
  }
116
+ /**
117
+ * @method
118
+ * @name bitvavo#watchTickers
119
+ * @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for all markets of a specific list
120
+ * @see https://docs.bitvavo.com/#tag/Market-data-subscription-WebSocket/paths/~1subscribeTicker24h/post
121
+ * @param {string[]} [symbols] unified symbol of the market to fetch the ticker for
122
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
123
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
124
+ */
116
125
  async watchTickers(symbols = undefined, params = {}) {
117
- /**
118
- * @method
119
- * @name bitvavo#watchTickers
120
- * @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for all markets of a specific list
121
- * @see https://docs.bitvavo.com/#tag/Market-data-subscription-WebSocket/paths/~1subscribeTicker24h/post
122
- * @param {string[]} [symbols] unified symbol of the market to fetch the ticker for
123
- * @param {object} [params] extra parameters specific to the exchange API endpoint
124
- * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
125
- */
126
126
  await this.loadMarkets();
127
127
  symbols = this.marketSymbols(symbols, undefined, false);
128
128
  const channel = 'ticker24h';
@@ -168,16 +168,16 @@ class bitvavo extends bitvavo$1 {
168
168
  }
169
169
  client.resolve(result, event);
170
170
  }
171
+ /**
172
+ * @method
173
+ * @name mexc#watchBidsAsks
174
+ * @description watches best bid & ask for symbols
175
+ * @see https://docs.bitvavo.com/#tag/Market-data-subscription-WebSocket/paths/~1subscribeTicker24h/post
176
+ * @param {string[]} symbols unified symbol of the market to fetch the ticker for
177
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
178
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
179
+ */
171
180
  async watchBidsAsks(symbols = undefined, params = {}) {
172
- /**
173
- * @method
174
- * @name mexc#watchBidsAsks
175
- * @description watches best bid & ask for symbols
176
- * @see https://docs.bitvavo.com/#tag/Market-data-subscription-WebSocket/paths/~1subscribeTicker24h/post
177
- * @param {string[]} symbols unified symbol of the market to fetch the ticker for
178
- * @param {object} [params] extra parameters specific to the exchange API endpoint
179
- * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
180
- */
181
181
  await this.loadMarkets();
182
182
  symbols = this.marketSymbols(symbols, undefined, false);
183
183
  const channel = 'ticker24h';
@@ -215,17 +215,17 @@ class bitvavo extends bitvavo$1 {
215
215
  'info': ticker,
216
216
  }, market);
217
217
  }
218
+ /**
219
+ * @method
220
+ * @name bitvavo#watchTrades
221
+ * @description get the list of most recent trades for a particular symbol
222
+ * @param {string} symbol unified symbol of the market to fetch trades for
223
+ * @param {int} [since] timestamp in ms of the earliest trade to fetch
224
+ * @param {int} [limit] the maximum amount of trades to fetch
225
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
226
+ * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
227
+ */
218
228
  async watchTrades(symbol, since = undefined, limit = undefined, params = {}) {
219
- /**
220
- * @method
221
- * @name bitvavo#watchTrades
222
- * @description get the list of most recent trades for a particular symbol
223
- * @param {string} symbol unified symbol of the market to fetch trades for
224
- * @param {int} [since] timestamp in ms of the earliest trade to fetch
225
- * @param {int} [limit] the maximum amount of trades to fetch
226
- * @param {object} [params] extra parameters specific to the exchange API endpoint
227
- * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
228
- */
229
229
  await this.loadMarkets();
230
230
  symbol = this.symbol(symbol);
231
231
  const trades = await this.watchPublic('trades', symbol, params);
@@ -261,18 +261,18 @@ class bitvavo extends bitvavo$1 {
261
261
  this.trades[symbol] = tradesArray;
262
262
  client.resolve(tradesArray, messageHash);
263
263
  }
264
+ /**
265
+ * @method
266
+ * @name bitvavo#watchOHLCV
267
+ * @description watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
268
+ * @param {string} symbol unified symbol of the market to fetch OHLCV data for
269
+ * @param {string} timeframe the length of time each candle represents
270
+ * @param {int} [since] timestamp in ms of the earliest candle to fetch
271
+ * @param {int} [limit] the maximum amount of candles to fetch
272
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
273
+ * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
274
+ */
264
275
  async watchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
265
- /**
266
- * @method
267
- * @name bitvavo#watchOHLCV
268
- * @description watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
269
- * @param {string} symbol unified symbol of the market to fetch OHLCV data for
270
- * @param {string} timeframe the length of time each candle represents
271
- * @param {int} [since] timestamp in ms of the earliest candle to fetch
272
- * @param {int} [limit] the maximum amount of candles to fetch
273
- * @param {object} [params] extra parameters specific to the exchange API endpoint
274
- * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
275
- */
276
276
  await this.loadMarkets();
277
277
  const market = this.market(symbol);
278
278
  symbol = market['symbol'];
@@ -308,10 +308,9 @@ class bitvavo extends bitvavo$1 {
308
308
  // ]
309
309
  // }
310
310
  //
311
- const action = this.safeString(message, 'action');
312
311
  const response = this.safeValue(message, 'response');
313
312
  const ohlcv = this.parseOHLCVs(response, undefined, undefined, undefined);
314
- const messageHash = this.buildMessageHash(action);
313
+ const messageHash = this.safeString(message, 'requestId');
315
314
  client.resolve(ohlcv, messageHash);
316
315
  }
317
316
  handleOHLCV(client, message) {
@@ -355,16 +354,16 @@ class bitvavo extends bitvavo$1 {
355
354
  }
356
355
  client.resolve(stored, messageHash);
357
356
  }
357
+ /**
358
+ * @method
359
+ * @name bitvavo#watchOrderBook
360
+ * @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
361
+ * @param {string} symbol unified symbol of the market to fetch the order book for
362
+ * @param {int} [limit] the maximum amount of order book entries to return
363
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
364
+ * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
365
+ */
358
366
  async watchOrderBook(symbol, limit = undefined, params = {}) {
359
- /**
360
- * @method
361
- * @name bitvavo#watchOrderBook
362
- * @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
363
- * @param {string} symbol unified symbol of the market to fetch the order book for
364
- * @param {int} [limit] the maximum amount of order book entries to return
365
- * @param {object} [params] extra parameters specific to the exchange API endpoint
366
- * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
367
- */
368
367
  await this.loadMarkets();
369
368
  const market = this.market(symbol);
370
369
  symbol = market['symbol'];
@@ -545,17 +544,17 @@ class bitvavo extends bitvavo$1 {
545
544
  }
546
545
  }
547
546
  }
547
+ /**
548
+ * @method
549
+ * @name bitvavo#watchOrders
550
+ * @description watches information on multiple orders made by the user
551
+ * @param {string} symbol unified market symbol of the market orders were made in
552
+ * @param {int} [since] the earliest time in ms to fetch orders for
553
+ * @param {int} [limit] the maximum number of order structures to retrieve
554
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
555
+ * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
556
+ */
548
557
  async watchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
549
- /**
550
- * @method
551
- * @name bitvavo#watchOrders
552
- * @description watches information on multiple orders made by the user
553
- * @param {string} symbol unified market symbol of the market orders were made in
554
- * @param {int} [since] the earliest time in ms to fetch orders for
555
- * @param {int} [limit] the maximum number of order structures to retrieve
556
- * @param {object} [params] extra parameters specific to the exchange API endpoint
557
- * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
558
- */
559
558
  if (symbol === undefined) {
560
559
  throw new errors.ArgumentsRequired(this.id + ' watchOrders() requires a symbol argument');
561
560
  }
@@ -582,17 +581,17 @@ class bitvavo extends bitvavo$1 {
582
581
  }
583
582
  return this.filterBySymbolSinceLimit(orders, symbol, since, limit, true);
584
583
  }
584
+ /**
585
+ * @method
586
+ * @name bitvavo#watchMyTrades
587
+ * @description watches information on multiple trades made by the user
588
+ * @param {string} symbol unified market symbol of the market trades were made in
589
+ * @param {int} [since] the earliest time in ms to fetch trades for
590
+ * @param {int} [limit] the maximum number of trade structures to retrieve
591
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
592
+ * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
593
+ */
585
594
  async watchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
586
- /**
587
- * @method
588
- * @name bitvavo#watchMyTrades
589
- * @description watches information on multiple trades made by the user
590
- * @param {string} symbol unified market symbol of the market trades were made in
591
- * @param {int} [since] the earliest time in ms to fetch trades for
592
- * @param {int} [limit] the maximum number of trade structures to retrieve
593
- * @param {object} [params] extra parameters specific to the exchange API endpoint
594
- * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
595
- */
596
595
  if (symbol === undefined) {
597
596
  throw new errors.ArgumentsRequired(this.id + ' watchMyTrades() requires a symbol argument');
598
597
  }
@@ -619,82 +618,82 @@ class bitvavo extends bitvavo$1 {
619
618
  }
620
619
  return this.filterBySymbolSinceLimit(trades, symbol, since, limit, true);
621
620
  }
621
+ /**
622
+ * @method
623
+ * @name bitvavo#createOrderWs
624
+ * @description create a trade order
625
+ * @see https://docs.bitvavo.com/#tag/Orders/paths/~1order/post
626
+ * @param {string} symbol unified symbol of the market to create an order in
627
+ * @param {string} type 'market' or 'limit'
628
+ * @param {string} side 'buy' or 'sell'
629
+ * @param {float} amount how much of currency you want to trade in units of base currency
630
+ * @param {float} price the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
631
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
632
+ * @param {string} [params.timeInForce] "GTC", "IOC", or "PO"
633
+ * @param {float} [params.stopPrice] The price at which a trigger order is triggered at
634
+ * @param {float} [params.triggerPrice] The price at which a trigger order is triggered at
635
+ * @param {bool} [params.postOnly] If true, the order will only be posted to the order book and not executed immediately
636
+ * @param {float} [params.stopLossPrice] The price at which a stop loss order is triggered at
637
+ * @param {float} [params.takeProfitPrice] The price at which a take profit order is triggered at
638
+ * @param {string} [params.triggerType] "price"
639
+ * @param {string} [params.triggerReference] "lastTrade", "bestBid", "bestAsk", "midPrice" Only for stop orders: Use this to determine which parameter will trigger the order
640
+ * @param {string} [params.selfTradePrevention] "decrementAndCancel", "cancelOldest", "cancelNewest", "cancelBoth"
641
+ * @param {bool} [params.disableMarketProtection] don't cancel if the next fill price is 10% worse than the best fill price
642
+ * @param {bool} [params.responseRequired] Set this to 'false' when only an acknowledgement of success or failure is required, this is faster.
643
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
644
+ */
622
645
  async createOrderWs(symbol, type, side, amount, price = undefined, params = {}) {
623
- /**
624
- * @method
625
- * @name bitvavo#createOrderWs
626
- * @description create a trade order
627
- * @see https://docs.bitvavo.com/#tag/Orders/paths/~1order/post
628
- * @param {string} symbol unified symbol of the market to create an order in
629
- * @param {string} type 'market' or 'limit'
630
- * @param {string} side 'buy' or 'sell'
631
- * @param {float} amount how much of currency you want to trade in units of base currency
632
- * @param {float} price the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
633
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
634
- * @param {string} [params.timeInForce] "GTC", "IOC", or "PO"
635
- * @param {float} [params.stopPrice] The price at which a trigger order is triggered at
636
- * @param {float} [params.triggerPrice] The price at which a trigger order is triggered at
637
- * @param {bool} [params.postOnly] If true, the order will only be posted to the order book and not executed immediately
638
- * @param {float} [params.stopLossPrice] The price at which a stop loss order is triggered at
639
- * @param {float} [params.takeProfitPrice] The price at which a take profit order is triggered at
640
- * @param {string} [params.triggerType] "price"
641
- * @param {string} [params.triggerReference] "lastTrade", "bestBid", "bestAsk", "midPrice" Only for stop orders: Use this to determine which parameter will trigger the order
642
- * @param {string} [params.selfTradePrevention] "decrementAndCancel", "cancelOldest", "cancelNewest", "cancelBoth"
643
- * @param {bool} [params.disableMarketProtection] don't cancel if the next fill price is 10% worse than the best fill price
644
- * @param {bool} [params.responseRequired] Set this to 'false' when only an acknowledgement of success or failure is required, this is faster.
645
- * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
646
- */
647
646
  await this.loadMarkets();
648
647
  await this.authenticate();
649
648
  const request = this.createOrderRequest(symbol, type, side, amount, price, params);
650
649
  return await this.watchRequest('privateCreateOrder', request);
651
650
  }
651
+ /**
652
+ * @method
653
+ * @name bitvavo#editOrderWs
654
+ * @description edit a trade order
655
+ * @see https://docs.bitvavo.com/#tag/Orders/paths/~1order/put
656
+ * @param {string} id cancel order id
657
+ * @param {string} symbol unified symbol of the market to create an order in
658
+ * @param {string} type 'market' or 'limit'
659
+ * @param {string} side 'buy' or 'sell'
660
+ * @param {float} [amount] how much of currency you want to trade in units of base currency
661
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
662
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
663
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
664
+ */
652
665
  async editOrderWs(id, symbol, type, side, amount = undefined, price = undefined, params = {}) {
653
- /**
654
- * @method
655
- * @name bitvavo#editOrderWs
656
- * @description edit a trade order
657
- * @see https://docs.bitvavo.com/#tag/Orders/paths/~1order/put
658
- * @param {string} id cancel order id
659
- * @param {string} symbol unified symbol of the market to create an order in
660
- * @param {string} type 'market' or 'limit'
661
- * @param {string} side 'buy' or 'sell'
662
- * @param {float} [amount] how much of currency you want to trade in units of base currency
663
- * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
664
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
665
- * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
666
- */
667
666
  await this.loadMarkets();
668
667
  await this.authenticate();
669
668
  const request = this.editOrderRequest(id, symbol, type, side, amount, price, params);
670
669
  return await this.watchRequest('privateUpdateOrder', request);
671
670
  }
671
+ /**
672
+ * @method
673
+ * @name bitvavo#cancelOrderWs
674
+ * @see https://docs.bitvavo.com/#tag/Orders/paths/~1order/delete
675
+ * @description cancels an open order
676
+ * @param {string} id order id
677
+ * @param {string} symbol unified symbol of the market the order was made in
678
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
679
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
680
+ */
672
681
  async cancelOrderWs(id, symbol = undefined, params = {}) {
673
- /**
674
- * @method
675
- * @name bitvavo#cancelOrderWs
676
- * @see https://docs.bitvavo.com/#tag/Orders/paths/~1order/delete
677
- * @description cancels an open order
678
- * @param {string} id order id
679
- * @param {string} symbol unified symbol of the market the order was made in
680
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
681
- * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
682
- */
683
682
  await this.loadMarkets();
684
683
  await this.authenticate();
685
684
  const request = this.cancelOrderRequest(id, symbol, params);
686
685
  return await this.watchRequest('privateCancelOrder', request);
687
686
  }
687
+ /**
688
+ * @method
689
+ * @name bitvavo#cancelAllOrdersWs
690
+ * @see https://docs.bitvavo.com/#tag/Orders/paths/~1orders/delete
691
+ * @description cancel all open orders
692
+ * @param {string} symbol unified market symbol, only orders in the market of this symbol are cancelled when symbol is not undefined
693
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
694
+ * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
695
+ */
688
696
  async cancelAllOrdersWs(symbol = undefined, params = {}) {
689
- /**
690
- * @method
691
- * @name bitvavo#cancelAllOrdersWs
692
- * @see https://docs.bitvavo.com/#tag/Orders/paths/~1orders/delete
693
- * @description cancel all open orders
694
- * @param {string} symbol unified market symbol, only orders in the market of this symbol are cancelled when symbol is not undefined
695
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
696
- * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
697
- */
698
697
  await this.loadMarkets();
699
698
  await this.authenticate();
700
699
  const request = {};
@@ -714,27 +713,28 @@ class bitvavo extends bitvavo$1 {
714
713
  // }]
715
714
  // }
716
715
  //
717
- const action = this.safeString(message, 'action');
718
- const response = this.safeValue(message, 'response');
719
- const firstRawOrder = this.safeValue(response, 0, {});
720
- const marketId = this.safeString(firstRawOrder, 'market');
716
+ // const action = this.safeString (message, 'action');
717
+ const response = this.safeList(message, 'response');
718
+ // const firstRawOrder = this.safeValue (response, 0, {});
719
+ // const marketId = this.safeString (firstRawOrder, 'market');
721
720
  const orders = this.parseOrders(response);
722
- let messageHash = this.buildMessageHash(action, { 'market': marketId });
723
- client.resolve(orders, messageHash);
724
- messageHash = this.buildMessageHash(action, message);
721
+ // let messageHash = this.buildMessageHash (action, { 'market': marketId });
722
+ // client.resolve (orders, messageHash);
723
+ // messageHash = this.buildMessageHash (action, message);
724
+ const messageHash = this.safeString(message, 'requestId');
725
725
  client.resolve(orders, messageHash);
726
726
  }
727
+ /**
728
+ * @method
729
+ * @name bitvavo#fetchOrderWs
730
+ * @see https://docs.bitvavo.com/#tag/General/paths/~1assets/get
731
+ * @description fetches information on an order made by the user
732
+ * @param {string} id the order id
733
+ * @param {string} symbol unified symbol of the market the order was made in
734
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
735
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
736
+ */
727
737
  async fetchOrderWs(id, symbol = undefined, params = {}) {
728
- /**
729
- * @method
730
- * @name bitvavo#fetchOrderWs
731
- * @see https://docs.bitvavo.com/#tag/General/paths/~1assets/get
732
- * @description fetches information on an order made by the user
733
- * @param {string} id the order id
734
- * @param {string} symbol unified symbol of the market the order was made in
735
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
736
- * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
737
- */
738
738
  if (symbol === undefined) {
739
739
  throw new errors.ArgumentsRequired(this.id + ' fetchOrder() requires a symbol argument');
740
740
  }
@@ -747,18 +747,18 @@ class bitvavo extends bitvavo$1 {
747
747
  };
748
748
  return await this.watchRequest('privateGetOrder', this.extend(request, params));
749
749
  }
750
+ /**
751
+ * @method
752
+ * @name bitvavo#fetchOrdersWs
753
+ * @see https://docs.bitvavo.com/#tag/Orders/paths/~1orders/get
754
+ * @description fetches information on multiple orders made by the user
755
+ * @param {string} symbol unified market symbol of the market orders were made in
756
+ * @param {int} [since] the earliest time in ms to fetch orders for
757
+ * @param {int} [limit] the maximum number of orde structures to retrieve
758
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
759
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
760
+ */
750
761
  async fetchOrdersWs(symbol = undefined, since = undefined, limit = undefined, params = {}) {
751
- /**
752
- * @method
753
- * @name bitvavo#fetchOrdersWs
754
- * @see https://docs.bitvavo.com/#tag/Orders/paths/~1orders/get
755
- * @description fetches information on multiple orders made by the user
756
- * @param {string} symbol unified market symbol of the market orders were made in
757
- * @param {int} [since] the earliest time in ms to fetch orders for
758
- * @param {int} [limit] the maximum number of orde structures to retrieve
759
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
760
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
761
- */
762
762
  if (symbol === undefined) {
763
763
  throw new errors.ArgumentsRequired(this.id + ' fetchOrdersWs() requires a symbol argument');
764
764
  }
@@ -768,25 +768,31 @@ class bitvavo extends bitvavo$1 {
768
768
  const orders = await this.watchRequest('privateGetOrders', request);
769
769
  return this.filterBySymbolSinceLimit(orders, symbol, since, limit);
770
770
  }
771
+ requestId() {
772
+ const ts = this.milliseconds().toString();
773
+ const randomNumber = this.randNumber(4);
774
+ const randomPart = randomNumber.toString();
775
+ return parseInt(ts + randomPart);
776
+ }
771
777
  async watchRequest(action, request) {
778
+ const messageHash = this.requestId();
779
+ const messageHashStr = messageHash.toString();
772
780
  request['action'] = action;
773
- const messageHash = this.buildMessageHash(action, request);
774
- this.checkMessageHashDoesNotExist(messageHash);
781
+ request['requestId'] = messageHash;
775
782
  const url = this.urls['api']['ws'];
776
- const randomSubHash = this.randNumber(5).toString() + ':' + messageHash;
777
- return await this.watch(url, messageHash, request, randomSubHash);
783
+ return await this.watch(url, messageHashStr, request, messageHashStr);
778
784
  }
785
+ /**
786
+ * @method
787
+ * @name bitvavo#fetchOpenOrdersWs
788
+ * @description fetch all unfilled currently open orders
789
+ * @param {string} symbol unified market symbol
790
+ * @param {int} [since] the earliest time in ms to fetch open orders for
791
+ * @param {int} [limit] the maximum number of open orders structures to retrieve
792
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
793
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
794
+ */
779
795
  async fetchOpenOrdersWs(symbol = undefined, since = undefined, limit = undefined, params = {}) {
780
- /**
781
- * @method
782
- * @name bitvavo#fetchOpenOrdersWs
783
- * @description fetch all unfilled currently open orders
784
- * @param {string} symbol unified market symbol
785
- * @param {int} [since] the earliest time in ms to fetch open orders for
786
- * @param {int} [limit] the maximum number of open orders structures to retrieve
787
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
788
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
789
- */
790
796
  await this.loadMarkets();
791
797
  await this.authenticate();
792
798
  const request = {
@@ -800,18 +806,18 @@ class bitvavo extends bitvavo$1 {
800
806
  const orders = await this.watchRequest('privateGetOrdersOpen', this.extend(request, params));
801
807
  return this.filterBySymbolSinceLimit(orders, symbol, since, limit);
802
808
  }
809
+ /**
810
+ * @method
811
+ * @name bitvavo#fetchMyTradesWs
812
+ * @see https://docs.bitvavo.com/#tag/Trades
813
+ * @description fetch all trades made by the user
814
+ * @param {string} symbol unified market symbol
815
+ * @param {int} [since] the earliest time in ms to fetch trades for
816
+ * @param {int} [limit] the maximum number of trades structures to retrieve
817
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
818
+ * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
819
+ */
803
820
  async fetchMyTradesWs(symbol = undefined, since = undefined, limit = undefined, params = {}) {
804
- /**
805
- * @method
806
- * @name bitvavo#fetchMyTradesWs
807
- * @see https://docs.bitvavo.com/#tag/Trades
808
- * @description fetch all trades made by the user
809
- * @param {string} symbol unified market symbol
810
- * @param {int} [since] the earliest time in ms to fetch trades for
811
- * @param {int} [limit] the maximum number of trades structures to retrieve
812
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
813
- * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
814
- */
815
821
  if (symbol === undefined) {
816
822
  throw new errors.ArgumentsRequired(this.id + ' fetchMyTradesWs() requires a symbol argument');
817
823
  }
@@ -843,26 +849,26 @@ class bitvavo extends bitvavo$1 {
843
849
  // }
844
850
  //
845
851
  //
846
- const action = this.safeString(message, 'action');
847
- const response = this.safeValue(message, 'response');
848
- const firstRawTrade = this.safeValue(response, 0, {});
849
- const marketId = this.safeString(firstRawTrade, 'market');
852
+ // const action = this.safeString (message, 'action');
853
+ const response = this.safeList(message, 'response');
854
+ // const marketId = this.safeString (firstRawTrade, 'market');
850
855
  const trades = this.parseTrades(response, undefined, undefined, undefined);
851
- const messageHash = this.buildMessageHash(action, { 'market': marketId });
856
+ // const messageHash = this.buildMessageHash (action, { 'market': marketId });
857
+ const messageHash = this.safeString(message, 'requestId');
852
858
  client.resolve(trades, messageHash);
853
859
  }
860
+ /**
861
+ * @method
862
+ * @name bitvavo#withdrawWs
863
+ * @description make a withdrawal
864
+ * @param {string} code unified currency code
865
+ * @param {float} amount the amount to withdraw
866
+ * @param {string} address the address to withdraw to
867
+ * @param {string} tag
868
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
869
+ * @returns {object} a [transaction structure]{@link https://docs.ccxt.com/#/?id=transaction-structure}
870
+ */
854
871
  async withdrawWs(code, amount, address, tag = undefined, params = {}) {
855
- /**
856
- * @method
857
- * @name bitvavo#withdrawWs
858
- * @description make a withdrawal
859
- * @param {string} code unified currency code
860
- * @param {float} amount the amount to withdraw
861
- * @param {string} address the address to withdraw to
862
- * @param {string} tag
863
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
864
- * @returns {object} a [transaction structure]{@link https://docs.ccxt.com/#/?id=transaction-structure}
865
- */
866
872
  [tag, params] = this.handleWithdrawTagAndParams(tag, params);
867
873
  this.checkAddress(address);
868
874
  await this.loadMarkets();
@@ -881,24 +887,25 @@ class bitvavo extends bitvavo$1 {
881
887
  // }
882
888
  // }
883
889
  //
884
- const action = this.safeString(message, 'action');
885
- const messageHash = this.buildMessageHash(action, message);
890
+ // const action = this.safeString (message, 'action');
891
+ // const messageHash = this.buildMessageHash (action, message);
892
+ const messageHash = this.safeString(message, 'requestId');
886
893
  const response = this.safeValue(message, 'response');
887
894
  const withdraw = this.parseTransaction(response);
888
895
  client.resolve(withdraw, messageHash);
889
896
  }
897
+ /**
898
+ * @method
899
+ * @name bitvavo#fetchWithdrawalsWs
900
+ * @see https://docs.bitvavo.com/#tag/Account/paths/~1withdrawalHistory/get
901
+ * @description fetch all withdrawals made from an account
902
+ * @param {string} code unified currency code
903
+ * @param {int} [since] the earliest time in ms to fetch withdrawals for
904
+ * @param {int} [limit] the maximum number of withdrawals structures to retrieve
905
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
906
+ * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
907
+ */
890
908
  async fetchWithdrawalsWs(code = undefined, since = undefined, limit = undefined, params = {}) {
891
- /**
892
- * @method
893
- * @name bitvavo#fetchWithdrawalsWs
894
- * @see https://docs.bitvavo.com/#tag/Account/paths/~1withdrawalHistory/get
895
- * @description fetch all withdrawals made from an account
896
- * @param {string} code unified currency code
897
- * @param {int} [since] the earliest time in ms to fetch withdrawals for
898
- * @param {int} [limit] the maximum number of withdrawals structures to retrieve
899
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
900
- * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
901
- */
902
909
  await this.loadMarkets();
903
910
  await this.authenticate();
904
911
  const request = this.fetchWithdrawalsRequest(code, since, limit, params);
@@ -921,43 +928,44 @@ class bitvavo extends bitvavo$1 {
921
928
  // ]
922
929
  // }
923
930
  //
924
- const action = this.safeString(message, 'action');
925
- const messageHash = this.buildMessageHash(action, message);
926
- const response = this.safeValue(message, 'response');
931
+ // const action = this.safeString (message, 'action');
932
+ // const messageHash = this.buildMessageHash (action, message);
933
+ const response = this.safeList(message, 'response');
934
+ const messageHash = this.safeString(message, 'requestId');
927
935
  const withdrawals = this.parseTransactions(response, undefined, undefined, undefined, { 'type': 'withdrawal' });
928
936
  client.resolve(withdrawals, messageHash);
929
937
  }
938
+ /**
939
+ * @method
940
+ * @name bitvavo#fetchOHLCVWs
941
+ * @see https://docs.bitvavo.com/#tag/Market-Data/paths/~1{market}~1candles/get
942
+ * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
943
+ * @param {string} symbol unified symbol of the market to fetch OHLCV data for
944
+ * @param {string} timeframe the length of time each candle represents
945
+ * @param {int} [since] timestamp in ms of the earliest candle to fetch
946
+ * @param {int} [limit] the maximum amount of candles to fetch
947
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
948
+ * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
949
+ */
930
950
  async fetchOHLCVWs(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
931
- /**
932
- * @method
933
- * @name bitvavo#fetchOHLCVWs
934
- * @see https://docs.bitvavo.com/#tag/Market-Data/paths/~1{market}~1candles/get
935
- * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
936
- * @param {string} symbol unified symbol of the market to fetch OHLCV data for
937
- * @param {string} timeframe the length of time each candle represents
938
- * @param {int} [since] timestamp in ms of the earliest candle to fetch
939
- * @param {int} [limit] the maximum amount of candles to fetch
940
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
941
- * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
942
- */
943
951
  await this.loadMarkets();
944
952
  const request = this.fetchOHLCVRequest(symbol, timeframe, since, limit, params);
945
953
  const action = 'getCandles';
946
954
  const ohlcv = await this.watchRequest(action, request);
947
955
  return this.filterBySinceLimit(ohlcv, since, limit, 0, true);
948
956
  }
957
+ /**
958
+ * @method
959
+ * @name bitvavo#fetchDepositsWs
960
+ * @see https://docs.bitvavo.com/#tag/Account/paths/~1depositHistory/get
961
+ * @description fetch all deposits made to an account
962
+ * @param {string} code unified currency code
963
+ * @param {int} [since] the earliest time in ms to fetch deposits for
964
+ * @param {int} [limit] the maximum number of deposits structures to retrieve
965
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
966
+ * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
967
+ */
949
968
  async fetchDepositsWs(code = undefined, since = undefined, limit = undefined, params = {}) {
950
- /**
951
- * @method
952
- * @name bitvavo#fetchDepositsWs
953
- * @see https://docs.bitvavo.com/#tag/Account/paths/~1depositHistory/get
954
- * @description fetch all deposits made to an account
955
- * @param {string} code unified currency code
956
- * @param {int} [since] the earliest time in ms to fetch deposits for
957
- * @param {int} [limit] the maximum number of deposits structures to retrieve
958
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
959
- * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
960
- */
961
969
  await this.loadMarkets();
962
970
  await this.authenticate();
963
971
  const request = this.fetchDepositsRequest(code, since, limit, params);
@@ -980,45 +988,44 @@ class bitvavo extends bitvavo$1 {
980
988
  // ]
981
989
  // }
982
990
  //
983
- const action = this.safeString(message, 'action');
984
- const messageHash = this.buildMessageHash(action, message);
985
991
  const response = this.safeValue(message, 'response');
986
992
  const deposits = this.parseTransactions(response, undefined, undefined, undefined, { 'type': 'deposit' });
993
+ const messageHash = this.safeString(message, 'requestId');
987
994
  client.resolve(deposits, messageHash);
988
995
  }
996
+ /**
997
+ * @method
998
+ * @name bitvavo#fetchTradingFeesWs
999
+ * @see https://docs.bitvavo.com/#tag/Account/paths/~1account/get
1000
+ * @description fetch the trading fees for multiple markets
1001
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
1002
+ * @returns {object} a dictionary of [fee structures]{@link https://docs.ccxt.com/#/?id=fee-structure} indexed by market symbols
1003
+ */
989
1004
  async fetchTradingFeesWs(params = {}) {
990
- /**
991
- * @method
992
- * @name bitvavo#fetchTradingFeesWs
993
- * @see https://docs.bitvavo.com/#tag/Account/paths/~1account/get
994
- * @description fetch the trading fees for multiple markets
995
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
996
- * @returns {object} a dictionary of [fee structures]{@link https://docs.ccxt.com/#/?id=fee-structure} indexed by market symbols
997
- */
998
1005
  await this.loadMarkets();
999
1006
  await this.authenticate();
1000
1007
  return await this.watchRequest('privateGetAccount', params);
1001
1008
  }
1009
+ /**
1010
+ * @method
1011
+ * @name bitvavo#fetchMarketsWs
1012
+ * @see https://docs.bitvavo.com/#tag/General/paths/~1markets/get
1013
+ * @description retrieves data on all markets for bitvavo
1014
+ * @param {object} [params] extra parameters specific to the exchange api endpoint
1015
+ * @returns {object[]} an array of objects representing market data
1016
+ */
1002
1017
  async fetchMarketsWs(params = {}) {
1003
- /**
1004
- * @method
1005
- * @name bitvavo#fetchMarketsWs
1006
- * @see https://docs.bitvavo.com/#tag/General/paths/~1markets/get
1007
- * @description retrieves data on all markets for bitvavo
1008
- * @param {object} [params] extra parameters specific to the exchange api endpoint
1009
- * @returns {object[]} an array of objects representing market data
1010
- */
1011
1018
  return await this.watchRequest('getMarkets', params);
1012
1019
  }
1020
+ /**
1021
+ * @method
1022
+ * @name bitvavo#fetchCurrenciesWs
1023
+ * @see https://docs.bitvavo.com/#tag/General/paths/~1assets/get
1024
+ * @description fetches all available currencies on an exchange
1025
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
1026
+ * @returns {object} an associative dictionary of currencies
1027
+ */
1013
1028
  async fetchCurrenciesWs(params = {}) {
1014
- /**
1015
- * @method
1016
- * @name bitvavo#fetchCurrenciesWs
1017
- * @see https://docs.bitvavo.com/#tag/General/paths/~1assets/get
1018
- * @description fetches all available currencies on an exchange
1019
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
1020
- * @returns {object} an associative dictionary of currencies
1021
- */
1022
1029
  await this.loadMarkets();
1023
1030
  return await this.watchRequest('getAssets', params);
1024
1031
  }
@@ -1043,8 +1050,7 @@ class bitvavo extends bitvavo$1 {
1043
1050
  // ]
1044
1051
  // }
1045
1052
  //
1046
- const action = this.safeString(message, 'action');
1047
- const messageHash = this.buildMessageHash(action, message);
1053
+ const messageHash = this.safeString(message, 'requestId');
1048
1054
  const response = this.safeValue(message, 'response');
1049
1055
  const currencies = this.parseCurrencies(response);
1050
1056
  client.resolve(currencies, messageHash);
@@ -1062,21 +1068,20 @@ class bitvavo extends bitvavo$1 {
1062
1068
  // }
1063
1069
  // }
1064
1070
  //
1065
- const action = this.safeString(message, 'action');
1066
- const messageHash = this.buildMessageHash(action, message);
1071
+ const messageHash = this.safeString(message, 'requestId');
1067
1072
  const response = this.safeValue(message, 'response');
1068
1073
  const fees = this.parseTradingFees(response);
1069
1074
  client.resolve(fees, messageHash);
1070
1075
  }
1076
+ /**
1077
+ * @method
1078
+ * @name bitvavo#fetchBalanceWs
1079
+ * @see https://docs.bitvavo.com/#tag/Account/paths/~1balance/get
1080
+ * @description query for balance and get the amount of funds available for trading or funds locked in orders
1081
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
1082
+ * @returns {object} a [balance structure]{@link https://docs.ccxt.com/en/latest/manual.html?#balance-structure}
1083
+ */
1071
1084
  async fetchBalanceWs(params = {}) {
1072
- /**
1073
- * @method
1074
- * @name bitvavo#fetchBalanceWs
1075
- * @see https://docs.bitvavo.com/#tag/Account/paths/~1balance/get
1076
- * @description query for balance and get the amount of funds available for trading or funds locked in orders
1077
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
1078
- * @returns {object} a [balance structure]{@link https://docs.ccxt.com/en/latest/manual.html?#balance-structure}
1079
- */
1080
1085
  await this.loadMarkets();
1081
1086
  await this.authenticate();
1082
1087
  return await this.watchRequest('privateGetBalance', params);
@@ -1094,8 +1099,7 @@ class bitvavo extends bitvavo$1 {
1094
1099
  // ]
1095
1100
  // }
1096
1101
  //
1097
- const action = this.safeString(message, 'action', 'privateGetBalance');
1098
- const messageHash = this.buildMessageHash(action, message);
1102
+ const messageHash = this.safeString(message, 'requestId');
1099
1103
  const response = this.safeValue(message, 'response', []);
1100
1104
  const balance = this.parseBalance(response);
1101
1105
  client.resolve(balance, messageHash);
@@ -1129,10 +1133,9 @@ class bitvavo extends bitvavo$1 {
1129
1133
  // }
1130
1134
  // }
1131
1135
  //
1132
- const action = this.safeString(message, 'action');
1133
1136
  const response = this.safeValue(message, 'response', {});
1134
1137
  const order = this.parseOrder(response);
1135
- const messageHash = this.buildMessageHash(action, response);
1138
+ const messageHash = this.safeString(message, 'requestId');
1136
1139
  client.resolve(order, messageHash);
1137
1140
  }
1138
1141
  handleMarkets(client, message) {
@@ -1155,10 +1158,9 @@ class bitvavo extends bitvavo$1 {
1155
1158
  // ]
1156
1159
  // }
1157
1160
  //
1158
- const action = this.safeString(message, 'action');
1159
1161
  const response = this.safeValue(message, 'response', {});
1160
1162
  const markets = this.parseMarkets(response);
1161
- const messageHash = this.buildMessageHash(action, response);
1163
+ const messageHash = this.safeString(message, 'requestId');
1162
1164
  client.resolve(markets, messageHash);
1163
1165
  }
1164
1166
  buildMessageHash(action, params = {}) {
@@ -1176,18 +1178,6 @@ class bitvavo extends bitvavo$1 {
1176
1178
  }
1177
1179
  return messageHash;
1178
1180
  }
1179
- checkMessageHashDoesNotExist(messageHash) {
1180
- const supressMultipleWsRequestsError = this.safeBool(this.options, 'supressMultipleWsRequestsError', false);
1181
- if (!supressMultipleWsRequestsError) {
1182
- const client = this.safeValue(this.clients, this.urls['api']['ws']);
1183
- if (client !== undefined) {
1184
- const future = this.safeValue(client.futures, messageHash);
1185
- if (future !== undefined) {
1186
- throw new errors.ExchangeError(this.id + ' a similar request with messageHash ' + messageHash + ' is already pending, you must wait for a response, or turn off this error by setting supressMultipleWsRequestsError in the options to true');
1187
- }
1188
- }
1189
- }
1190
- }
1191
1181
  actionAndMarketMessageHash(action, params = {}) {
1192
1182
  const symbol = this.safeString(params, 'market', '');
1193
1183
  return action + symbol;
@@ -1340,11 +1330,19 @@ class bitvavo extends bitvavo$1 {
1340
1330
  // errorCode: 217,
1341
1331
  // error: 'Minimum order size in quote currency is 5 EUR or 0.001 BTC.'
1342
1332
  // }
1333
+ // {
1334
+ // action: 'privateCreateOrder',
1335
+ // requestId: '17317539426571916',
1336
+ // market: 'USDT-EUR',
1337
+ // errorCode: 216,
1338
+ // error: 'You do not have sufficient balance to complete this operation.'
1339
+ // }
1343
1340
  //
1344
1341
  const error = this.safeString(message, 'error');
1345
1342
  const code = this.safeInteger(error, 'errorCode');
1346
1343
  const action = this.safeString(message, 'action');
1347
- const messageHash = this.buildMessageHash(action, message);
1344
+ const buildMessage = this.buildMessageHash(action, message);
1345
+ const messageHash = this.safeString(message, 'requestId', buildMessage);
1348
1346
  let rejected = false;
1349
1347
  try {
1350
1348
  this.handleErrors(code, error, client.url, undefined, undefined, error, message, undefined, undefined);