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
@@ -104,28 +104,28 @@ export default class bitvavo extends bitvavoRest {
104
104
  const message = this.extend(request, params);
105
105
  return await this.watchMultiple(url, messageHashes, message, messageHashes);
106
106
  }
107
+ /**
108
+ * @method
109
+ * @name bitvavo#watchTicker
110
+ * @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
111
+ * @see https://docs.bitvavo.com/#tag/Market-data-subscription-WebSocket/paths/~1subscribeTicker24h/post
112
+ * @param {string} symbol unified symbol of the market to fetch the ticker for
113
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
114
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
115
+ */
107
116
  async watchTicker(symbol, params = {}) {
108
- /**
109
- * @method
110
- * @name bitvavo#watchTicker
111
- * @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
112
- * @see https://docs.bitvavo.com/#tag/Market-data-subscription-WebSocket/paths/~1subscribeTicker24h/post
113
- * @param {string} symbol unified symbol of the market to fetch the ticker for
114
- * @param {object} [params] extra parameters specific to the exchange API endpoint
115
- * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
116
- */
117
117
  return await this.watchPublic('ticker24h', symbol, params);
118
118
  }
119
+ /**
120
+ * @method
121
+ * @name bitvavo#watchTickers
122
+ * @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for all markets of a specific list
123
+ * @see https://docs.bitvavo.com/#tag/Market-data-subscription-WebSocket/paths/~1subscribeTicker24h/post
124
+ * @param {string[]} [symbols] unified symbol of the market to fetch the ticker for
125
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
126
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
127
+ */
119
128
  async watchTickers(symbols = undefined, params = {}) {
120
- /**
121
- * @method
122
- * @name bitvavo#watchTickers
123
- * @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for all markets of a specific list
124
- * @see https://docs.bitvavo.com/#tag/Market-data-subscription-WebSocket/paths/~1subscribeTicker24h/post
125
- * @param {string[]} [symbols] unified symbol of the market to fetch the ticker for
126
- * @param {object} [params] extra parameters specific to the exchange API endpoint
127
- * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
128
- */
129
129
  await this.loadMarkets();
130
130
  symbols = this.marketSymbols(symbols, undefined, false);
131
131
  const channel = 'ticker24h';
@@ -171,16 +171,16 @@ export default class bitvavo extends bitvavoRest {
171
171
  }
172
172
  client.resolve(result, event);
173
173
  }
174
+ /**
175
+ * @method
176
+ * @name mexc#watchBidsAsks
177
+ * @description watches best bid & ask for symbols
178
+ * @see https://docs.bitvavo.com/#tag/Market-data-subscription-WebSocket/paths/~1subscribeTicker24h/post
179
+ * @param {string[]} symbols unified symbol of the market to fetch the ticker for
180
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
181
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
182
+ */
174
183
  async watchBidsAsks(symbols = undefined, params = {}) {
175
- /**
176
- * @method
177
- * @name mexc#watchBidsAsks
178
- * @description watches best bid & ask for symbols
179
- * @see https://docs.bitvavo.com/#tag/Market-data-subscription-WebSocket/paths/~1subscribeTicker24h/post
180
- * @param {string[]} symbols unified symbol of the market to fetch the ticker for
181
- * @param {object} [params] extra parameters specific to the exchange API endpoint
182
- * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
183
- */
184
184
  await this.loadMarkets();
185
185
  symbols = this.marketSymbols(symbols, undefined, false);
186
186
  const channel = 'ticker24h';
@@ -218,17 +218,17 @@ export default class bitvavo extends bitvavoRest {
218
218
  'info': ticker,
219
219
  }, market);
220
220
  }
221
+ /**
222
+ * @method
223
+ * @name bitvavo#watchTrades
224
+ * @description get the list of most recent trades for a particular symbol
225
+ * @param {string} symbol unified symbol of the market to fetch trades for
226
+ * @param {int} [since] timestamp in ms of the earliest trade to fetch
227
+ * @param {int} [limit] the maximum amount of trades to fetch
228
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
229
+ * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
230
+ */
221
231
  async watchTrades(symbol, since = undefined, limit = undefined, params = {}) {
222
- /**
223
- * @method
224
- * @name bitvavo#watchTrades
225
- * @description get the list of most recent trades for a particular symbol
226
- * @param {string} symbol unified symbol of the market to fetch trades for
227
- * @param {int} [since] timestamp in ms of the earliest trade to fetch
228
- * @param {int} [limit] the maximum amount of trades to fetch
229
- * @param {object} [params] extra parameters specific to the exchange API endpoint
230
- * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
231
- */
232
232
  await this.loadMarkets();
233
233
  symbol = this.symbol(symbol);
234
234
  const trades = await this.watchPublic('trades', symbol, params);
@@ -264,18 +264,18 @@ export default class bitvavo extends bitvavoRest {
264
264
  this.trades[symbol] = tradesArray;
265
265
  client.resolve(tradesArray, messageHash);
266
266
  }
267
+ /**
268
+ * @method
269
+ * @name bitvavo#watchOHLCV
270
+ * @description watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
271
+ * @param {string} symbol unified symbol of the market to fetch OHLCV data for
272
+ * @param {string} timeframe the length of time each candle represents
273
+ * @param {int} [since] timestamp in ms of the earliest candle to fetch
274
+ * @param {int} [limit] the maximum amount of candles to fetch
275
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
276
+ * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
277
+ */
267
278
  async watchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
268
- /**
269
- * @method
270
- * @name bitvavo#watchOHLCV
271
- * @description watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
272
- * @param {string} symbol unified symbol of the market to fetch OHLCV data for
273
- * @param {string} timeframe the length of time each candle represents
274
- * @param {int} [since] timestamp in ms of the earliest candle to fetch
275
- * @param {int} [limit] the maximum amount of candles to fetch
276
- * @param {object} [params] extra parameters specific to the exchange API endpoint
277
- * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
278
- */
279
279
  await this.loadMarkets();
280
280
  const market = this.market(symbol);
281
281
  symbol = market['symbol'];
@@ -311,10 +311,9 @@ export default class bitvavo extends bitvavoRest {
311
311
  // ]
312
312
  // }
313
313
  //
314
- const action = this.safeString(message, 'action');
315
314
  const response = this.safeValue(message, 'response');
316
315
  const ohlcv = this.parseOHLCVs(response, undefined, undefined, undefined);
317
- const messageHash = this.buildMessageHash(action);
316
+ const messageHash = this.safeString(message, 'requestId');
318
317
  client.resolve(ohlcv, messageHash);
319
318
  }
320
319
  handleOHLCV(client, message) {
@@ -358,16 +357,16 @@ export default class bitvavo extends bitvavoRest {
358
357
  }
359
358
  client.resolve(stored, messageHash);
360
359
  }
360
+ /**
361
+ * @method
362
+ * @name bitvavo#watchOrderBook
363
+ * @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
364
+ * @param {string} symbol unified symbol of the market to fetch the order book for
365
+ * @param {int} [limit] the maximum amount of order book entries to return
366
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
367
+ * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
368
+ */
361
369
  async watchOrderBook(symbol, limit = undefined, params = {}) {
362
- /**
363
- * @method
364
- * @name bitvavo#watchOrderBook
365
- * @description watches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
366
- * @param {string} symbol unified symbol of the market to fetch the order book for
367
- * @param {int} [limit] the maximum amount of order book entries to return
368
- * @param {object} [params] extra parameters specific to the exchange API endpoint
369
- * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
370
- */
371
370
  await this.loadMarkets();
372
371
  const market = this.market(symbol);
373
372
  symbol = market['symbol'];
@@ -548,17 +547,17 @@ export default class bitvavo extends bitvavoRest {
548
547
  }
549
548
  }
550
549
  }
550
+ /**
551
+ * @method
552
+ * @name bitvavo#watchOrders
553
+ * @description watches information on multiple orders made by the user
554
+ * @param {string} symbol unified market symbol of the market orders were made in
555
+ * @param {int} [since] the earliest time in ms to fetch orders for
556
+ * @param {int} [limit] the maximum number of order structures to retrieve
557
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
558
+ * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
559
+ */
551
560
  async watchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
552
- /**
553
- * @method
554
- * @name bitvavo#watchOrders
555
- * @description watches information on multiple orders made by the user
556
- * @param {string} symbol unified market symbol of the market orders were made in
557
- * @param {int} [since] the earliest time in ms to fetch orders for
558
- * @param {int} [limit] the maximum number of order structures to retrieve
559
- * @param {object} [params] extra parameters specific to the exchange API endpoint
560
- * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
561
- */
562
561
  if (symbol === undefined) {
563
562
  throw new ArgumentsRequired(this.id + ' watchOrders() requires a symbol argument');
564
563
  }
@@ -585,17 +584,17 @@ export default class bitvavo extends bitvavoRest {
585
584
  }
586
585
  return this.filterBySymbolSinceLimit(orders, symbol, since, limit, true);
587
586
  }
587
+ /**
588
+ * @method
589
+ * @name bitvavo#watchMyTrades
590
+ * @description watches information on multiple trades made by the user
591
+ * @param {string} symbol unified market symbol of the market trades were made in
592
+ * @param {int} [since] the earliest time in ms to fetch trades for
593
+ * @param {int} [limit] the maximum number of trade structures to retrieve
594
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
595
+ * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
596
+ */
588
597
  async watchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
589
- /**
590
- * @method
591
- * @name bitvavo#watchMyTrades
592
- * @description watches information on multiple trades made by the user
593
- * @param {string} symbol unified market symbol of the market trades were made in
594
- * @param {int} [since] the earliest time in ms to fetch trades for
595
- * @param {int} [limit] the maximum number of trade structures to retrieve
596
- * @param {object} [params] extra parameters specific to the exchange API endpoint
597
- * @returns {object[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
598
- */
599
598
  if (symbol === undefined) {
600
599
  throw new ArgumentsRequired(this.id + ' watchMyTrades() requires a symbol argument');
601
600
  }
@@ -622,82 +621,82 @@ export default class bitvavo extends bitvavoRest {
622
621
  }
623
622
  return this.filterBySymbolSinceLimit(trades, symbol, since, limit, true);
624
623
  }
624
+ /**
625
+ * @method
626
+ * @name bitvavo#createOrderWs
627
+ * @description create a trade order
628
+ * @see https://docs.bitvavo.com/#tag/Orders/paths/~1order/post
629
+ * @param {string} symbol unified symbol of the market to create an order in
630
+ * @param {string} type 'market' or 'limit'
631
+ * @param {string} side 'buy' or 'sell'
632
+ * @param {float} amount how much of currency you want to trade in units of base currency
633
+ * @param {float} price the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
634
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
635
+ * @param {string} [params.timeInForce] "GTC", "IOC", or "PO"
636
+ * @param {float} [params.stopPrice] The price at which a trigger order is triggered at
637
+ * @param {float} [params.triggerPrice] The price at which a trigger order is triggered at
638
+ * @param {bool} [params.postOnly] If true, the order will only be posted to the order book and not executed immediately
639
+ * @param {float} [params.stopLossPrice] The price at which a stop loss order is triggered at
640
+ * @param {float} [params.takeProfitPrice] The price at which a take profit order is triggered at
641
+ * @param {string} [params.triggerType] "price"
642
+ * @param {string} [params.triggerReference] "lastTrade", "bestBid", "bestAsk", "midPrice" Only for stop orders: Use this to determine which parameter will trigger the order
643
+ * @param {string} [params.selfTradePrevention] "decrementAndCancel", "cancelOldest", "cancelNewest", "cancelBoth"
644
+ * @param {bool} [params.disableMarketProtection] don't cancel if the next fill price is 10% worse than the best fill price
645
+ * @param {bool} [params.responseRequired] Set this to 'false' when only an acknowledgement of success or failure is required, this is faster.
646
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
647
+ */
625
648
  async createOrderWs(symbol, type, side, amount, price = undefined, params = {}) {
626
- /**
627
- * @method
628
- * @name bitvavo#createOrderWs
629
- * @description create a trade order
630
- * @see https://docs.bitvavo.com/#tag/Orders/paths/~1order/post
631
- * @param {string} symbol unified symbol of the market to create an order in
632
- * @param {string} type 'market' or 'limit'
633
- * @param {string} side 'buy' or 'sell'
634
- * @param {float} amount how much of currency you want to trade in units of base currency
635
- * @param {float} price the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
636
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
637
- * @param {string} [params.timeInForce] "GTC", "IOC", or "PO"
638
- * @param {float} [params.stopPrice] The price at which a trigger order is triggered at
639
- * @param {float} [params.triggerPrice] The price at which a trigger order is triggered at
640
- * @param {bool} [params.postOnly] If true, the order will only be posted to the order book and not executed immediately
641
- * @param {float} [params.stopLossPrice] The price at which a stop loss order is triggered at
642
- * @param {float} [params.takeProfitPrice] The price at which a take profit order is triggered at
643
- * @param {string} [params.triggerType] "price"
644
- * @param {string} [params.triggerReference] "lastTrade", "bestBid", "bestAsk", "midPrice" Only for stop orders: Use this to determine which parameter will trigger the order
645
- * @param {string} [params.selfTradePrevention] "decrementAndCancel", "cancelOldest", "cancelNewest", "cancelBoth"
646
- * @param {bool} [params.disableMarketProtection] don't cancel if the next fill price is 10% worse than the best fill price
647
- * @param {bool} [params.responseRequired] Set this to 'false' when only an acknowledgement of success or failure is required, this is faster.
648
- * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
649
- */
650
649
  await this.loadMarkets();
651
650
  await this.authenticate();
652
651
  const request = this.createOrderRequest(symbol, type, side, amount, price, params);
653
652
  return await this.watchRequest('privateCreateOrder', request);
654
653
  }
654
+ /**
655
+ * @method
656
+ * @name bitvavo#editOrderWs
657
+ * @description edit a trade order
658
+ * @see https://docs.bitvavo.com/#tag/Orders/paths/~1order/put
659
+ * @param {string} id cancel order id
660
+ * @param {string} symbol unified symbol of the market to create an order in
661
+ * @param {string} type 'market' or 'limit'
662
+ * @param {string} side 'buy' or 'sell'
663
+ * @param {float} [amount] how much of currency you want to trade in units of base currency
664
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
665
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
666
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
667
+ */
655
668
  async editOrderWs(id, symbol, type, side, amount = undefined, price = undefined, params = {}) {
656
- /**
657
- * @method
658
- * @name bitvavo#editOrderWs
659
- * @description edit a trade order
660
- * @see https://docs.bitvavo.com/#tag/Orders/paths/~1order/put
661
- * @param {string} id cancel order id
662
- * @param {string} symbol unified symbol of the market to create an order in
663
- * @param {string} type 'market' or 'limit'
664
- * @param {string} side 'buy' or 'sell'
665
- * @param {float} [amount] how much of currency you want to trade in units of base currency
666
- * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
667
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
668
- * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
669
- */
670
669
  await this.loadMarkets();
671
670
  await this.authenticate();
672
671
  const request = this.editOrderRequest(id, symbol, type, side, amount, price, params);
673
672
  return await this.watchRequest('privateUpdateOrder', request);
674
673
  }
674
+ /**
675
+ * @method
676
+ * @name bitvavo#cancelOrderWs
677
+ * @see https://docs.bitvavo.com/#tag/Orders/paths/~1order/delete
678
+ * @description cancels an open order
679
+ * @param {string} id order id
680
+ * @param {string} symbol unified symbol of the market the order was made in
681
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
682
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
683
+ */
675
684
  async cancelOrderWs(id, symbol = undefined, params = {}) {
676
- /**
677
- * @method
678
- * @name bitvavo#cancelOrderWs
679
- * @see https://docs.bitvavo.com/#tag/Orders/paths/~1order/delete
680
- * @description cancels an open order
681
- * @param {string} id order id
682
- * @param {string} symbol unified symbol of the market the order was made in
683
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
684
- * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
685
- */
686
685
  await this.loadMarkets();
687
686
  await this.authenticate();
688
687
  const request = this.cancelOrderRequest(id, symbol, params);
689
688
  return await this.watchRequest('privateCancelOrder', request);
690
689
  }
690
+ /**
691
+ * @method
692
+ * @name bitvavo#cancelAllOrdersWs
693
+ * @see https://docs.bitvavo.com/#tag/Orders/paths/~1orders/delete
694
+ * @description cancel all open orders
695
+ * @param {string} symbol unified market symbol, only orders in the market of this symbol are cancelled when symbol is not undefined
696
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
697
+ * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
698
+ */
691
699
  async cancelAllOrdersWs(symbol = undefined, params = {}) {
692
- /**
693
- * @method
694
- * @name bitvavo#cancelAllOrdersWs
695
- * @see https://docs.bitvavo.com/#tag/Orders/paths/~1orders/delete
696
- * @description cancel all open orders
697
- * @param {string} symbol unified market symbol, only orders in the market of this symbol are cancelled when symbol is not undefined
698
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
699
- * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
700
- */
701
700
  await this.loadMarkets();
702
701
  await this.authenticate();
703
702
  const request = {};
@@ -717,27 +716,28 @@ export default class bitvavo extends bitvavoRest {
717
716
  // }]
718
717
  // }
719
718
  //
720
- const action = this.safeString(message, 'action');
721
- const response = this.safeValue(message, 'response');
722
- const firstRawOrder = this.safeValue(response, 0, {});
723
- const marketId = this.safeString(firstRawOrder, 'market');
719
+ // const action = this.safeString (message, 'action');
720
+ const response = this.safeList(message, 'response');
721
+ // const firstRawOrder = this.safeValue (response, 0, {});
722
+ // const marketId = this.safeString (firstRawOrder, 'market');
724
723
  const orders = this.parseOrders(response);
725
- let messageHash = this.buildMessageHash(action, { 'market': marketId });
726
- client.resolve(orders, messageHash);
727
- messageHash = this.buildMessageHash(action, message);
724
+ // let messageHash = this.buildMessageHash (action, { 'market': marketId });
725
+ // client.resolve (orders, messageHash);
726
+ // messageHash = this.buildMessageHash (action, message);
727
+ const messageHash = this.safeString(message, 'requestId');
728
728
  client.resolve(orders, messageHash);
729
729
  }
730
+ /**
731
+ * @method
732
+ * @name bitvavo#fetchOrderWs
733
+ * @see https://docs.bitvavo.com/#tag/General/paths/~1assets/get
734
+ * @description fetches information on an order made by the user
735
+ * @param {string} id the order id
736
+ * @param {string} symbol unified symbol of the market the order was made in
737
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
738
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
739
+ */
730
740
  async fetchOrderWs(id, symbol = undefined, params = {}) {
731
- /**
732
- * @method
733
- * @name bitvavo#fetchOrderWs
734
- * @see https://docs.bitvavo.com/#tag/General/paths/~1assets/get
735
- * @description fetches information on an order made by the user
736
- * @param {string} id the order id
737
- * @param {string} symbol unified symbol of the market the order was made in
738
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
739
- * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
740
- */
741
741
  if (symbol === undefined) {
742
742
  throw new ArgumentsRequired(this.id + ' fetchOrder() requires a symbol argument');
743
743
  }
@@ -750,18 +750,18 @@ export default class bitvavo extends bitvavoRest {
750
750
  };
751
751
  return await this.watchRequest('privateGetOrder', this.extend(request, params));
752
752
  }
753
+ /**
754
+ * @method
755
+ * @name bitvavo#fetchOrdersWs
756
+ * @see https://docs.bitvavo.com/#tag/Orders/paths/~1orders/get
757
+ * @description fetches information on multiple orders made by the user
758
+ * @param {string} symbol unified market symbol of the market orders were made in
759
+ * @param {int} [since] the earliest time in ms to fetch orders for
760
+ * @param {int} [limit] the maximum number of orde structures to retrieve
761
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
762
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
763
+ */
753
764
  async fetchOrdersWs(symbol = undefined, since = undefined, limit = undefined, params = {}) {
754
- /**
755
- * @method
756
- * @name bitvavo#fetchOrdersWs
757
- * @see https://docs.bitvavo.com/#tag/Orders/paths/~1orders/get
758
- * @description fetches information on multiple orders made by the user
759
- * @param {string} symbol unified market symbol of the market orders were made in
760
- * @param {int} [since] the earliest time in ms to fetch orders for
761
- * @param {int} [limit] the maximum number of orde structures to retrieve
762
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
763
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
764
- */
765
765
  if (symbol === undefined) {
766
766
  throw new ArgumentsRequired(this.id + ' fetchOrdersWs() requires a symbol argument');
767
767
  }
@@ -771,25 +771,31 @@ export default class bitvavo extends bitvavoRest {
771
771
  const orders = await this.watchRequest('privateGetOrders', request);
772
772
  return this.filterBySymbolSinceLimit(orders, symbol, since, limit);
773
773
  }
774
+ requestId() {
775
+ const ts = this.milliseconds().toString();
776
+ const randomNumber = this.randNumber(4);
777
+ const randomPart = randomNumber.toString();
778
+ return parseInt(ts + randomPart);
779
+ }
774
780
  async watchRequest(action, request) {
781
+ const messageHash = this.requestId();
782
+ const messageHashStr = messageHash.toString();
775
783
  request['action'] = action;
776
- const messageHash = this.buildMessageHash(action, request);
777
- this.checkMessageHashDoesNotExist(messageHash);
784
+ request['requestId'] = messageHash;
778
785
  const url = this.urls['api']['ws'];
779
- const randomSubHash = this.randNumber(5).toString() + ':' + messageHash;
780
- return await this.watch(url, messageHash, request, randomSubHash);
786
+ return await this.watch(url, messageHashStr, request, messageHashStr);
781
787
  }
788
+ /**
789
+ * @method
790
+ * @name bitvavo#fetchOpenOrdersWs
791
+ * @description fetch all unfilled currently open orders
792
+ * @param {string} symbol unified market symbol
793
+ * @param {int} [since] the earliest time in ms to fetch open orders for
794
+ * @param {int} [limit] the maximum number of open orders structures to retrieve
795
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
796
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
797
+ */
782
798
  async fetchOpenOrdersWs(symbol = undefined, since = undefined, limit = undefined, params = {}) {
783
- /**
784
- * @method
785
- * @name bitvavo#fetchOpenOrdersWs
786
- * @description fetch all unfilled currently open orders
787
- * @param {string} symbol unified market symbol
788
- * @param {int} [since] the earliest time in ms to fetch open orders for
789
- * @param {int} [limit] the maximum number of open orders structures to retrieve
790
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
791
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
792
- */
793
799
  await this.loadMarkets();
794
800
  await this.authenticate();
795
801
  const request = {
@@ -803,18 +809,18 @@ export default class bitvavo extends bitvavoRest {
803
809
  const orders = await this.watchRequest('privateGetOrdersOpen', this.extend(request, params));
804
810
  return this.filterBySymbolSinceLimit(orders, symbol, since, limit);
805
811
  }
812
+ /**
813
+ * @method
814
+ * @name bitvavo#fetchMyTradesWs
815
+ * @see https://docs.bitvavo.com/#tag/Trades
816
+ * @description fetch all trades made by the user
817
+ * @param {string} symbol unified market symbol
818
+ * @param {int} [since] the earliest time in ms to fetch trades for
819
+ * @param {int} [limit] the maximum number of trades structures to retrieve
820
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
821
+ * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
822
+ */
806
823
  async fetchMyTradesWs(symbol = undefined, since = undefined, limit = undefined, params = {}) {
807
- /**
808
- * @method
809
- * @name bitvavo#fetchMyTradesWs
810
- * @see https://docs.bitvavo.com/#tag/Trades
811
- * @description fetch all trades made by the user
812
- * @param {string} symbol unified market symbol
813
- * @param {int} [since] the earliest time in ms to fetch trades for
814
- * @param {int} [limit] the maximum number of trades structures to retrieve
815
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
816
- * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
817
- */
818
824
  if (symbol === undefined) {
819
825
  throw new ArgumentsRequired(this.id + ' fetchMyTradesWs() requires a symbol argument');
820
826
  }
@@ -846,26 +852,26 @@ export default class bitvavo extends bitvavoRest {
846
852
  // }
847
853
  //
848
854
  //
849
- const action = this.safeString(message, 'action');
850
- const response = this.safeValue(message, 'response');
851
- const firstRawTrade = this.safeValue(response, 0, {});
852
- const marketId = this.safeString(firstRawTrade, 'market');
855
+ // const action = this.safeString (message, 'action');
856
+ const response = this.safeList(message, 'response');
857
+ // const marketId = this.safeString (firstRawTrade, 'market');
853
858
  const trades = this.parseTrades(response, undefined, undefined, undefined);
854
- const messageHash = this.buildMessageHash(action, { 'market': marketId });
859
+ // const messageHash = this.buildMessageHash (action, { 'market': marketId });
860
+ const messageHash = this.safeString(message, 'requestId');
855
861
  client.resolve(trades, messageHash);
856
862
  }
863
+ /**
864
+ * @method
865
+ * @name bitvavo#withdrawWs
866
+ * @description make a withdrawal
867
+ * @param {string} code unified currency code
868
+ * @param {float} amount the amount to withdraw
869
+ * @param {string} address the address to withdraw to
870
+ * @param {string} tag
871
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
872
+ * @returns {object} a [transaction structure]{@link https://docs.ccxt.com/#/?id=transaction-structure}
873
+ */
857
874
  async withdrawWs(code, amount, address, tag = undefined, params = {}) {
858
- /**
859
- * @method
860
- * @name bitvavo#withdrawWs
861
- * @description make a withdrawal
862
- * @param {string} code unified currency code
863
- * @param {float} amount the amount to withdraw
864
- * @param {string} address the address to withdraw to
865
- * @param {string} tag
866
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
867
- * @returns {object} a [transaction structure]{@link https://docs.ccxt.com/#/?id=transaction-structure}
868
- */
869
875
  [tag, params] = this.handleWithdrawTagAndParams(tag, params);
870
876
  this.checkAddress(address);
871
877
  await this.loadMarkets();
@@ -884,24 +890,25 @@ export default class bitvavo extends bitvavoRest {
884
890
  // }
885
891
  // }
886
892
  //
887
- const action = this.safeString(message, 'action');
888
- const messageHash = this.buildMessageHash(action, message);
893
+ // const action = this.safeString (message, 'action');
894
+ // const messageHash = this.buildMessageHash (action, message);
895
+ const messageHash = this.safeString(message, 'requestId');
889
896
  const response = this.safeValue(message, 'response');
890
897
  const withdraw = this.parseTransaction(response);
891
898
  client.resolve(withdraw, messageHash);
892
899
  }
900
+ /**
901
+ * @method
902
+ * @name bitvavo#fetchWithdrawalsWs
903
+ * @see https://docs.bitvavo.com/#tag/Account/paths/~1withdrawalHistory/get
904
+ * @description fetch all withdrawals made from an account
905
+ * @param {string} code unified currency code
906
+ * @param {int} [since] the earliest time in ms to fetch withdrawals for
907
+ * @param {int} [limit] the maximum number of withdrawals structures to retrieve
908
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
909
+ * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
910
+ */
893
911
  async fetchWithdrawalsWs(code = undefined, since = undefined, limit = undefined, params = {}) {
894
- /**
895
- * @method
896
- * @name bitvavo#fetchWithdrawalsWs
897
- * @see https://docs.bitvavo.com/#tag/Account/paths/~1withdrawalHistory/get
898
- * @description fetch all withdrawals made from an account
899
- * @param {string} code unified currency code
900
- * @param {int} [since] the earliest time in ms to fetch withdrawals for
901
- * @param {int} [limit] the maximum number of withdrawals structures to retrieve
902
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
903
- * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
904
- */
905
912
  await this.loadMarkets();
906
913
  await this.authenticate();
907
914
  const request = this.fetchWithdrawalsRequest(code, since, limit, params);
@@ -924,43 +931,44 @@ export default class bitvavo extends bitvavoRest {
924
931
  // ]
925
932
  // }
926
933
  //
927
- const action = this.safeString(message, 'action');
928
- const messageHash = this.buildMessageHash(action, message);
929
- const response = this.safeValue(message, 'response');
934
+ // const action = this.safeString (message, 'action');
935
+ // const messageHash = this.buildMessageHash (action, message);
936
+ const response = this.safeList(message, 'response');
937
+ const messageHash = this.safeString(message, 'requestId');
930
938
  const withdrawals = this.parseTransactions(response, undefined, undefined, undefined, { 'type': 'withdrawal' });
931
939
  client.resolve(withdrawals, messageHash);
932
940
  }
941
+ /**
942
+ * @method
943
+ * @name bitvavo#fetchOHLCVWs
944
+ * @see https://docs.bitvavo.com/#tag/Market-Data/paths/~1{market}~1candles/get
945
+ * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
946
+ * @param {string} symbol unified symbol of the market to fetch OHLCV data for
947
+ * @param {string} timeframe the length of time each candle represents
948
+ * @param {int} [since] timestamp in ms of the earliest candle to fetch
949
+ * @param {int} [limit] the maximum amount of candles to fetch
950
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
951
+ * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
952
+ */
933
953
  async fetchOHLCVWs(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
934
- /**
935
- * @method
936
- * @name bitvavo#fetchOHLCVWs
937
- * @see https://docs.bitvavo.com/#tag/Market-Data/paths/~1{market}~1candles/get
938
- * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
939
- * @param {string} symbol unified symbol of the market to fetch OHLCV data for
940
- * @param {string} timeframe the length of time each candle represents
941
- * @param {int} [since] timestamp in ms of the earliest candle to fetch
942
- * @param {int} [limit] the maximum amount of candles to fetch
943
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
944
- * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
945
- */
946
954
  await this.loadMarkets();
947
955
  const request = this.fetchOHLCVRequest(symbol, timeframe, since, limit, params);
948
956
  const action = 'getCandles';
949
957
  const ohlcv = await this.watchRequest(action, request);
950
958
  return this.filterBySinceLimit(ohlcv, since, limit, 0, true);
951
959
  }
960
+ /**
961
+ * @method
962
+ * @name bitvavo#fetchDepositsWs
963
+ * @see https://docs.bitvavo.com/#tag/Account/paths/~1depositHistory/get
964
+ * @description fetch all deposits made to an account
965
+ * @param {string} code unified currency code
966
+ * @param {int} [since] the earliest time in ms to fetch deposits for
967
+ * @param {int} [limit] the maximum number of deposits structures to retrieve
968
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
969
+ * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
970
+ */
952
971
  async fetchDepositsWs(code = undefined, since = undefined, limit = undefined, params = {}) {
953
- /**
954
- * @method
955
- * @name bitvavo#fetchDepositsWs
956
- * @see https://docs.bitvavo.com/#tag/Account/paths/~1depositHistory/get
957
- * @description fetch all deposits made to an account
958
- * @param {string} code unified currency code
959
- * @param {int} [since] the earliest time in ms to fetch deposits for
960
- * @param {int} [limit] the maximum number of deposits structures to retrieve
961
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
962
- * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
963
- */
964
972
  await this.loadMarkets();
965
973
  await this.authenticate();
966
974
  const request = this.fetchDepositsRequest(code, since, limit, params);
@@ -983,45 +991,44 @@ export default class bitvavo extends bitvavoRest {
983
991
  // ]
984
992
  // }
985
993
  //
986
- const action = this.safeString(message, 'action');
987
- const messageHash = this.buildMessageHash(action, message);
988
994
  const response = this.safeValue(message, 'response');
989
995
  const deposits = this.parseTransactions(response, undefined, undefined, undefined, { 'type': 'deposit' });
996
+ const messageHash = this.safeString(message, 'requestId');
990
997
  client.resolve(deposits, messageHash);
991
998
  }
999
+ /**
1000
+ * @method
1001
+ * @name bitvavo#fetchTradingFeesWs
1002
+ * @see https://docs.bitvavo.com/#tag/Account/paths/~1account/get
1003
+ * @description fetch the trading fees for multiple markets
1004
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
1005
+ * @returns {object} a dictionary of [fee structures]{@link https://docs.ccxt.com/#/?id=fee-structure} indexed by market symbols
1006
+ */
992
1007
  async fetchTradingFeesWs(params = {}) {
993
- /**
994
- * @method
995
- * @name bitvavo#fetchTradingFeesWs
996
- * @see https://docs.bitvavo.com/#tag/Account/paths/~1account/get
997
- * @description fetch the trading fees for multiple markets
998
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
999
- * @returns {object} a dictionary of [fee structures]{@link https://docs.ccxt.com/#/?id=fee-structure} indexed by market symbols
1000
- */
1001
1008
  await this.loadMarkets();
1002
1009
  await this.authenticate();
1003
1010
  return await this.watchRequest('privateGetAccount', params);
1004
1011
  }
1012
+ /**
1013
+ * @method
1014
+ * @name bitvavo#fetchMarketsWs
1015
+ * @see https://docs.bitvavo.com/#tag/General/paths/~1markets/get
1016
+ * @description retrieves data on all markets for bitvavo
1017
+ * @param {object} [params] extra parameters specific to the exchange api endpoint
1018
+ * @returns {object[]} an array of objects representing market data
1019
+ */
1005
1020
  async fetchMarketsWs(params = {}) {
1006
- /**
1007
- * @method
1008
- * @name bitvavo#fetchMarketsWs
1009
- * @see https://docs.bitvavo.com/#tag/General/paths/~1markets/get
1010
- * @description retrieves data on all markets for bitvavo
1011
- * @param {object} [params] extra parameters specific to the exchange api endpoint
1012
- * @returns {object[]} an array of objects representing market data
1013
- */
1014
1021
  return await this.watchRequest('getMarkets', params);
1015
1022
  }
1023
+ /**
1024
+ * @method
1025
+ * @name bitvavo#fetchCurrenciesWs
1026
+ * @see https://docs.bitvavo.com/#tag/General/paths/~1assets/get
1027
+ * @description fetches all available currencies on an exchange
1028
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
1029
+ * @returns {object} an associative dictionary of currencies
1030
+ */
1016
1031
  async fetchCurrenciesWs(params = {}) {
1017
- /**
1018
- * @method
1019
- * @name bitvavo#fetchCurrenciesWs
1020
- * @see https://docs.bitvavo.com/#tag/General/paths/~1assets/get
1021
- * @description fetches all available currencies on an exchange
1022
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
1023
- * @returns {object} an associative dictionary of currencies
1024
- */
1025
1032
  await this.loadMarkets();
1026
1033
  return await this.watchRequest('getAssets', params);
1027
1034
  }
@@ -1046,8 +1053,7 @@ export default class bitvavo extends bitvavoRest {
1046
1053
  // ]
1047
1054
  // }
1048
1055
  //
1049
- const action = this.safeString(message, 'action');
1050
- const messageHash = this.buildMessageHash(action, message);
1056
+ const messageHash = this.safeString(message, 'requestId');
1051
1057
  const response = this.safeValue(message, 'response');
1052
1058
  const currencies = this.parseCurrencies(response);
1053
1059
  client.resolve(currencies, messageHash);
@@ -1065,21 +1071,20 @@ export default class bitvavo extends bitvavoRest {
1065
1071
  // }
1066
1072
  // }
1067
1073
  //
1068
- const action = this.safeString(message, 'action');
1069
- const messageHash = this.buildMessageHash(action, message);
1074
+ const messageHash = this.safeString(message, 'requestId');
1070
1075
  const response = this.safeValue(message, 'response');
1071
1076
  const fees = this.parseTradingFees(response);
1072
1077
  client.resolve(fees, messageHash);
1073
1078
  }
1079
+ /**
1080
+ * @method
1081
+ * @name bitvavo#fetchBalanceWs
1082
+ * @see https://docs.bitvavo.com/#tag/Account/paths/~1balance/get
1083
+ * @description query for balance and get the amount of funds available for trading or funds locked in orders
1084
+ * @param {object} [params] extra parameters specific to the bitvavo api endpoint
1085
+ * @returns {object} a [balance structure]{@link https://docs.ccxt.com/en/latest/manual.html?#balance-structure}
1086
+ */
1074
1087
  async fetchBalanceWs(params = {}) {
1075
- /**
1076
- * @method
1077
- * @name bitvavo#fetchBalanceWs
1078
- * @see https://docs.bitvavo.com/#tag/Account/paths/~1balance/get
1079
- * @description query for balance and get the amount of funds available for trading or funds locked in orders
1080
- * @param {object} [params] extra parameters specific to the bitvavo api endpoint
1081
- * @returns {object} a [balance structure]{@link https://docs.ccxt.com/en/latest/manual.html?#balance-structure}
1082
- */
1083
1088
  await this.loadMarkets();
1084
1089
  await this.authenticate();
1085
1090
  return await this.watchRequest('privateGetBalance', params);
@@ -1097,8 +1102,7 @@ export default class bitvavo extends bitvavoRest {
1097
1102
  // ]
1098
1103
  // }
1099
1104
  //
1100
- const action = this.safeString(message, 'action', 'privateGetBalance');
1101
- const messageHash = this.buildMessageHash(action, message);
1105
+ const messageHash = this.safeString(message, 'requestId');
1102
1106
  const response = this.safeValue(message, 'response', []);
1103
1107
  const balance = this.parseBalance(response);
1104
1108
  client.resolve(balance, messageHash);
@@ -1132,10 +1136,9 @@ export default class bitvavo extends bitvavoRest {
1132
1136
  // }
1133
1137
  // }
1134
1138
  //
1135
- const action = this.safeString(message, 'action');
1136
1139
  const response = this.safeValue(message, 'response', {});
1137
1140
  const order = this.parseOrder(response);
1138
- const messageHash = this.buildMessageHash(action, response);
1141
+ const messageHash = this.safeString(message, 'requestId');
1139
1142
  client.resolve(order, messageHash);
1140
1143
  }
1141
1144
  handleMarkets(client, message) {
@@ -1158,10 +1161,9 @@ export default class bitvavo extends bitvavoRest {
1158
1161
  // ]
1159
1162
  // }
1160
1163
  //
1161
- const action = this.safeString(message, 'action');
1162
1164
  const response = this.safeValue(message, 'response', {});
1163
1165
  const markets = this.parseMarkets(response);
1164
- const messageHash = this.buildMessageHash(action, response);
1166
+ const messageHash = this.safeString(message, 'requestId');
1165
1167
  client.resolve(markets, messageHash);
1166
1168
  }
1167
1169
  buildMessageHash(action, params = {}) {
@@ -1179,18 +1181,6 @@ export default class bitvavo extends bitvavoRest {
1179
1181
  }
1180
1182
  return messageHash;
1181
1183
  }
1182
- checkMessageHashDoesNotExist(messageHash) {
1183
- const supressMultipleWsRequestsError = this.safeBool(this.options, 'supressMultipleWsRequestsError', false);
1184
- if (!supressMultipleWsRequestsError) {
1185
- const client = this.safeValue(this.clients, this.urls['api']['ws']);
1186
- if (client !== undefined) {
1187
- const future = this.safeValue(client.futures, messageHash);
1188
- if (future !== undefined) {
1189
- throw new 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');
1190
- }
1191
- }
1192
- }
1193
- }
1194
1184
  actionAndMarketMessageHash(action, params = {}) {
1195
1185
  const symbol = this.safeString(params, 'market', '');
1196
1186
  return action + symbol;
@@ -1343,11 +1333,19 @@ export default class bitvavo extends bitvavoRest {
1343
1333
  // errorCode: 217,
1344
1334
  // error: 'Minimum order size in quote currency is 5 EUR or 0.001 BTC.'
1345
1335
  // }
1336
+ // {
1337
+ // action: 'privateCreateOrder',
1338
+ // requestId: '17317539426571916',
1339
+ // market: 'USDT-EUR',
1340
+ // errorCode: 216,
1341
+ // error: 'You do not have sufficient balance to complete this operation.'
1342
+ // }
1346
1343
  //
1347
1344
  const error = this.safeString(message, 'error');
1348
1345
  const code = this.safeInteger(error, 'errorCode');
1349
1346
  const action = this.safeString(message, 'action');
1350
- const messageHash = this.buildMessageHash(action, message);
1347
+ const buildMessage = this.buildMessageHash(action, message);
1348
+ const messageHash = this.safeString(message, 'requestId', buildMessage);
1351
1349
  let rejected = false;
1352
1350
  try {
1353
1351
  this.handleErrors(code, error, client.url, undefined, undefined, error, message, undefined, undefined);