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
@@ -488,6 +488,13 @@ class phemex extends phemex$1 {
488
488
  'transfer': {
489
489
  'fillResponseFromRequest': true,
490
490
  },
491
+ 'triggerPriceTypesMap': {
492
+ 'last': 'ByLastPrice',
493
+ 'mark': 'ByMarkPrice',
494
+ 'index': 'ByIndexPrice',
495
+ 'ask': 'ByAskPrice',
496
+ 'bid': 'ByBidPrice',
497
+ },
491
498
  },
492
499
  });
493
500
  }
@@ -740,15 +747,15 @@ class phemex extends phemex$1 {
740
747
  'info': market,
741
748
  });
742
749
  }
750
+ /**
751
+ * @method
752
+ * @name phemex#fetchMarkets
753
+ * @description retrieves data on all markets for phemex
754
+ * @see https://phemex-docs.github.io/#query-product-information-3
755
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
756
+ * @returns {object[]} an array of objects representing market data
757
+ */
743
758
  async fetchMarkets(params = {}) {
744
- /**
745
- * @method
746
- * @name phemex#fetchMarkets
747
- * @description retrieves data on all markets for phemex
748
- * @see https://phemex-docs.github.io/#query-product-information-3
749
- * @param {object} [params] extra parameters specific to the exchange API endpoint
750
- * @returns {object[]} an array of objects representing market data
751
- */
752
759
  const v2Products = await this.v2GetPublicProducts(params);
753
760
  //
754
761
  // {
@@ -970,14 +977,14 @@ class phemex extends phemex$1 {
970
977
  }
971
978
  return result;
972
979
  }
980
+ /**
981
+ * @method
982
+ * @name phemex#fetchCurrencies
983
+ * @description fetches all available currencies on an exchange
984
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
985
+ * @returns {object} an associative dictionary of currencies
986
+ */
973
987
  async fetchCurrencies(params = {}) {
974
- /**
975
- * @method
976
- * @name phemex#fetchCurrencies
977
- * @description fetches all available currencies on an exchange
978
- * @param {object} [params] extra parameters specific to the exchange API endpoint
979
- * @returns {object} an associative dictionary of currencies
980
- */
981
988
  const response = await this.v2GetPublicProducts(params);
982
989
  //
983
990
  // {
@@ -1075,17 +1082,17 @@ class phemex extends phemex$1 {
1075
1082
  result[asksKey] = this.sortBy(result[asksKey], 0);
1076
1083
  return result;
1077
1084
  }
1085
+ /**
1086
+ * @method
1087
+ * @name phemex#fetchOrderBook
1088
+ * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
1089
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#queryorderbook
1090
+ * @param {string} symbol unified symbol of the market to fetch the order book for
1091
+ * @param {int} [limit] the maximum amount of order book entries to return
1092
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1093
+ * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
1094
+ */
1078
1095
  async fetchOrderBook(symbol, limit = undefined, params = {}) {
1079
- /**
1080
- * @method
1081
- * @name phemex#fetchOrderBook
1082
- * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
1083
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#queryorderbook
1084
- * @param {string} symbol unified symbol of the market to fetch the order book for
1085
- * @param {int} [limit] the maximum amount of order book entries to return
1086
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1087
- * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
1088
- */
1089
1096
  await this.loadMarkets();
1090
1097
  const market = this.market(symbol);
1091
1098
  const request = {
@@ -1213,21 +1220,21 @@ class phemex extends phemex$1 {
1213
1220
  baseVolume,
1214
1221
  ];
1215
1222
  }
1223
+ /**
1224
+ * @method
1225
+ * @name phemex#fetchOHLCV
1226
+ * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
1227
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#querykline
1228
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Contract-API-en.md#query-kline
1229
+ * @param {string} symbol unified symbol of the market to fetch OHLCV data for
1230
+ * @param {string} timeframe the length of time each candle represents
1231
+ * @param {int} [since] *only used for USDT settled contracts, otherwise is emulated and not supported by the exchange* timestamp in ms of the earliest candle to fetch
1232
+ * @param {int} [limit] the maximum amount of candles to fetch
1233
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1234
+ * @param {int} [params.until] *USDT settled/ linear swaps only* end time in ms
1235
+ * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
1236
+ */
1216
1237
  async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
1217
- /**
1218
- * @method
1219
- * @name phemex#fetchOHLCV
1220
- * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
1221
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#querykline
1222
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Contract-API-en.md#query-kline
1223
- * @param {string} symbol unified symbol of the market to fetch OHLCV data for
1224
- * @param {string} timeframe the length of time each candle represents
1225
- * @param {int} [since] *only used for USDT settled contracts, otherwise is emulated and not supported by the exchange* timestamp in ms of the earliest candle to fetch
1226
- * @param {int} [limit] the maximum amount of candles to fetch
1227
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1228
- * @param {int} [params.until] *USDT settled/ linear swaps only* end time in ms
1229
- * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
1230
- */
1231
1238
  await this.loadMarkets();
1232
1239
  const market = this.market(symbol);
1233
1240
  const userLimit = limit;
@@ -1392,16 +1399,16 @@ class phemex extends phemex$1 {
1392
1399
  'info': ticker,
1393
1400
  }, market);
1394
1401
  }
1402
+ /**
1403
+ * @method
1404
+ * @name phemex#fetchTicker
1405
+ * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
1406
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#query24hrsticker
1407
+ * @param {string} symbol unified symbol of the market to fetch the ticker for
1408
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1409
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
1410
+ */
1395
1411
  async fetchTicker(symbol, params = {}) {
1396
- /**
1397
- * @method
1398
- * @name phemex#fetchTicker
1399
- * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
1400
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#query24hrsticker
1401
- * @param {string} symbol unified symbol of the market to fetch the ticker for
1402
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1403
- * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
1404
- */
1405
1412
  await this.loadMarkets();
1406
1413
  const market = this.market(symbol);
1407
1414
  const request = {
@@ -1467,18 +1474,18 @@ class phemex extends phemex$1 {
1467
1474
  const result = this.safeDict(response, 'result', {});
1468
1475
  return this.parseTicker(result, market);
1469
1476
  }
1477
+ /**
1478
+ * @method
1479
+ * @name phemex#fetchTickers
1480
+ * @description fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
1481
+ * @see https://phemex-docs.github.io/#query-24-hours-ticker-for-all-symbols-2 // spot
1482
+ * @see https://phemex-docs.github.io/#query-24-ticker-for-all-symbols // linear
1483
+ * @see https://phemex-docs.github.io/#query-24-hours-ticker-for-all-symbols // inverse
1484
+ * @param {string[]|undefined} symbols unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
1485
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1486
+ * @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
1487
+ */
1470
1488
  async fetchTickers(symbols = undefined, params = {}) {
1471
- /**
1472
- * @method
1473
- * @name phemex#fetchTickers
1474
- * @description fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
1475
- * @see https://phemex-docs.github.io/#query-24-hours-ticker-for-all-symbols-2 // spot
1476
- * @see https://phemex-docs.github.io/#query-24-ticker-for-all-symbols // linear
1477
- * @see https://phemex-docs.github.io/#query-24-hours-ticker-for-all-symbols // inverse
1478
- * @param {string[]|undefined} symbols unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
1479
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1480
- * @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
1481
- */
1482
1489
  await this.loadMarkets();
1483
1490
  let market = undefined;
1484
1491
  if (symbols !== undefined) {
@@ -1503,18 +1510,18 @@ class phemex extends phemex$1 {
1503
1510
  const result = this.safeList(response, 'result', []);
1504
1511
  return this.parseTickers(result, symbols);
1505
1512
  }
1513
+ /**
1514
+ * @method
1515
+ * @name phemex#fetchTrades
1516
+ * @description get the list of most recent trades for a particular symbol
1517
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#querytrades
1518
+ * @param {string} symbol unified symbol of the market to fetch trades for
1519
+ * @param {int} [since] timestamp in ms of the earliest trade to fetch
1520
+ * @param {int} [limit] the maximum amount of trades to fetch
1521
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1522
+ * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
1523
+ */
1506
1524
  async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
1507
- /**
1508
- * @method
1509
- * @name phemex#fetchTrades
1510
- * @description get the list of most recent trades for a particular symbol
1511
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#querytrades
1512
- * @param {string} symbol unified symbol of the market to fetch trades for
1513
- * @param {int} [since] timestamp in ms of the earliest trade to fetch
1514
- * @param {int} [limit] the maximum amount of trades to fetch
1515
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1516
- * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
1517
- */
1518
1525
  await this.loadMarkets();
1519
1526
  const market = this.market(symbol);
1520
1527
  const request = {
@@ -1952,19 +1959,19 @@ class phemex extends phemex$1 {
1952
1959
  result[code] = account;
1953
1960
  return this.safeBalance(result);
1954
1961
  }
1962
+ /**
1963
+ * @method
1964
+ * @name phemex#fetchBalance
1965
+ * @description query for balance and get the amount of funds available for trading or funds locked in orders
1966
+ * @see https://phemex-docs.github.io/#query-wallets
1967
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#query-account-positions
1968
+ * @see https://phemex-docs.github.io/#query-trading-account-and-positions
1969
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1970
+ * @param {string} [params.type] spot or swap
1971
+ * @param {string} [params.code] *swap only* currency code of the balance to query (USD, USDT, etc), default is USDT
1972
+ * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
1973
+ */
1955
1974
  async fetchBalance(params = {}) {
1956
- /**
1957
- * @method
1958
- * @name phemex#fetchBalance
1959
- * @description query for balance and get the amount of funds available for trading or funds locked in orders
1960
- * @see https://phemex-docs.github.io/#query-wallets
1961
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#query-account-positions
1962
- * @see https://phemex-docs.github.io/#query-trading-account-and-positions
1963
- * @param {object} [params] extra parameters specific to the exchange API endpoint
1964
- * @param {string} [params.type] spot or swap
1965
- * @param {string} [params.code] *swap only* currency code of the balance to query (USD, USDT, etc), default is USDT
1966
- * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
1967
- */
1968
1975
  await this.loadMarkets();
1969
1976
  let type = undefined;
1970
1977
  [type, params] = this.handleMarketTypeAndParams('fetchBalance', undefined, params);
@@ -2137,6 +2144,7 @@ class phemex extends phemex$1 {
2137
2144
  'PartiallyFilled': 'open',
2138
2145
  'Filled': 'closed',
2139
2146
  'Canceled': 'canceled',
2147
+ 'Suspended': 'canceled',
2140
2148
  '1': 'open',
2141
2149
  '2': 'canceled',
2142
2150
  '3': 'closed',
@@ -2482,28 +2490,28 @@ class phemex extends phemex$1 {
2482
2490
  }
2483
2491
  return this.parseSpotOrder(order, market);
2484
2492
  }
2493
+ /**
2494
+ * @method
2495
+ * @name phemex#createOrder
2496
+ * @description create a trade order
2497
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#place-order
2498
+ * @see https://phemex-docs.github.io/#place-order-http-put-prefered-3
2499
+ * @param {string} symbol unified symbol of the market to create an order in
2500
+ * @param {string} type 'market' or 'limit'
2501
+ * @param {string} side 'buy' or 'sell'
2502
+ * @param {float} amount how much of currency you want to trade in units of base currency
2503
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
2504
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
2505
+ * @param {float} [params.trigger] trigger price for conditional orders
2506
+ * @param {object} [params.takeProfit] *swap only* *takeProfit object in params* containing the triggerPrice at which the attached take profit order will be triggered (perpetual swap markets only)
2507
+ * @param {float} [params.takeProfit.triggerPrice] take profit trigger price
2508
+ * @param {object} [params.stopLoss] *swap only* *stopLoss object in params* containing the triggerPrice at which the attached stop loss order will be triggered (perpetual swap markets only)
2509
+ * @param {float} [params.stopLoss.triggerPrice] stop loss trigger price
2510
+ * @param {string} [params.posSide] *swap only* "Merged" for one way mode, "Long" for buy side of hedged mode, "Short" for sell side of hedged mode
2511
+ * @param {bool} [params.hedged] *swap only* true for hedged mode, false for one way mode, default is false
2512
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
2513
+ */
2485
2514
  async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
2486
- /**
2487
- * @method
2488
- * @name phemex#createOrder
2489
- * @description create a trade order
2490
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#place-order
2491
- * @see https://phemex-docs.github.io/#place-order-http-put-prefered-3
2492
- * @param {string} symbol unified symbol of the market to create an order in
2493
- * @param {string} type 'market' or 'limit'
2494
- * @param {string} side 'buy' or 'sell'
2495
- * @param {float} amount how much of currency you want to trade in units of base currency
2496
- * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
2497
- * @param {object} [params] extra parameters specific to the exchange API endpoint
2498
- * @param {float} [params.trigger] trigger price for conditional orders
2499
- * @param {object} [params.takeProfit] *swap only* *takeProfit object in params* containing the triggerPrice at which the attached take profit order will be triggered (perpetual swap markets only)
2500
- * @param {float} [params.takeProfit.triggerPrice] take profit trigger price
2501
- * @param {object} [params.stopLoss] *swap only* *stopLoss object in params* containing the triggerPrice at which the attached stop loss order will be triggered (perpetual swap markets only)
2502
- * @param {float} [params.stopLoss.triggerPrice] stop loss trigger price
2503
- * @param {string} [params.posSide] *swap only* "Merged" for one way mode, "Long" for buy side of hedged mode, "Short" for sell side of hedged mode
2504
- * @param {bool} [params.hedged] *swap only* true for hedged mode, false for one way mode, default is false
2505
- * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
2506
- */
2507
2515
  await this.loadMarkets();
2508
2516
  const market = this.market(symbol);
2509
2517
  const requestSide = this.capitalize(side);
@@ -2643,17 +2651,11 @@ class phemex extends phemex$1 {
2643
2651
  }
2644
2652
  const stopLossTriggerPriceType = this.safeString2(stopLoss, 'triggerPriceType', 'slTrigger');
2645
2653
  if (stopLossTriggerPriceType !== undefined) {
2646
- if (market['settle'] === 'USDT') {
2647
- if ((stopLossTriggerPriceType !== 'ByMarkPrice') && (stopLossTriggerPriceType !== 'ByLastPrice') && (stopLossTriggerPriceType !== 'ByIndexPrice') && (stopLossTriggerPriceType !== 'ByAskPrice') && (stopLossTriggerPriceType !== 'ByBidPrice') && (stopLossTriggerPriceType !== 'ByMarkPriceLimit') && (stopLossTriggerPriceType !== 'ByLastPriceLimit')) {
2648
- throw new errors.InvalidOrder(this.id + ' createOrder() take profit trigger price type must be one of "ByMarkPrice", "ByIndexPrice", "ByAskPrice", "ByBidPrice", "ByMarkPriceLimit", "ByLastPriceLimit" or "ByLastPrice"');
2649
- }
2650
- }
2651
- else {
2652
- if ((stopLossTriggerPriceType !== 'ByMarkPrice') && (stopLossTriggerPriceType !== 'ByLastPrice')) {
2653
- throw new errors.InvalidOrder(this.id + ' createOrder() take profit trigger price type must be one of "ByMarkPrice", or "ByLastPrice"');
2654
- }
2655
- }
2656
- request['slTrigger'] = stopLossTriggerPriceType;
2654
+ request['slTrigger'] = this.safeString(this.options['triggerPriceTypesMap'], stopLossTriggerPriceType, stopLossTriggerPriceType);
2655
+ }
2656
+ const slLimitPrice = this.safeString(stopLoss, 'price');
2657
+ if (slLimitPrice !== undefined) {
2658
+ request['slPxRp'] = this.priceToPrecision(symbol, slLimitPrice);
2657
2659
  }
2658
2660
  }
2659
2661
  if (takeProfitDefined) {
@@ -2667,19 +2669,13 @@ class phemex extends phemex$1 {
2667
2669
  else {
2668
2670
  request['takeProfitEp'] = this.toEp(takeProfitTriggerPrice, market);
2669
2671
  }
2670
- const takeProfitTriggerPriceType = this.safeString2(stopLoss, 'triggerPriceType', 'tpTrigger');
2672
+ const takeProfitTriggerPriceType = this.safeString2(takeProfit, 'triggerPriceType', 'tpTrigger');
2671
2673
  if (takeProfitTriggerPriceType !== undefined) {
2672
- if (market['settle'] === 'USDT') {
2673
- if ((takeProfitTriggerPriceType !== 'ByMarkPrice') && (takeProfitTriggerPriceType !== 'ByLastPrice') && (takeProfitTriggerPriceType !== 'ByIndexPrice') && (takeProfitTriggerPriceType !== 'ByAskPrice') && (takeProfitTriggerPriceType !== 'ByBidPrice') && (takeProfitTriggerPriceType !== 'ByMarkPriceLimit') && (takeProfitTriggerPriceType !== 'ByLastPriceLimit')) {
2674
- throw new errors.InvalidOrder(this.id + ' createOrder() take profit trigger price type must be one of "ByMarkPrice", "ByIndexPrice", "ByAskPrice", "ByBidPrice", "ByMarkPriceLimit", "ByLastPriceLimit" or "ByLastPrice"');
2675
- }
2676
- }
2677
- else {
2678
- if ((takeProfitTriggerPriceType !== 'ByMarkPrice') && (takeProfitTriggerPriceType !== 'ByLastPrice')) {
2679
- throw new errors.InvalidOrder(this.id + ' createOrder() take profit trigger price type must be one of "ByMarkPrice", or "ByLastPrice"');
2680
- }
2681
- }
2682
- request['tpTrigger'] = takeProfitTriggerPriceType;
2674
+ request['tpTrigger'] = this.safeString(this.options['triggerPriceTypesMap'], takeProfitTriggerPriceType, takeProfitTriggerPriceType);
2675
+ }
2676
+ const tpLimitPrice = this.safeString(takeProfit, 'price');
2677
+ if (tpLimitPrice !== undefined) {
2678
+ request['tpPxRp'] = this.priceToPrecision(symbol, tpLimitPrice);
2683
2679
  }
2684
2680
  }
2685
2681
  }
@@ -2803,22 +2799,22 @@ class phemex extends phemex$1 {
2803
2799
  const data = this.safeDict(response, 'data', {});
2804
2800
  return this.parseOrder(data, market);
2805
2801
  }
2802
+ /**
2803
+ * @method
2804
+ * @name phemex#editOrder
2805
+ * @description edit a trade order
2806
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#amend-order-by-orderid
2807
+ * @param {string} id cancel order id
2808
+ * @param {string} symbol unified symbol of the market to create an order in
2809
+ * @param {string} type 'market' or 'limit'
2810
+ * @param {string} side 'buy' or 'sell'
2811
+ * @param {float} amount how much of currency you want to trade in units of base currency
2812
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
2813
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
2814
+ * @param {string} [params.posSide] either 'Merged' or 'Long' or 'Short'
2815
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
2816
+ */
2806
2817
  async editOrder(id, symbol, type = undefined, side = undefined, amount = undefined, price = undefined, params = {}) {
2807
- /**
2808
- * @method
2809
- * @name phemex#editOrder
2810
- * @description edit a trade order
2811
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#amend-order-by-orderid
2812
- * @param {string} id cancel order id
2813
- * @param {string} symbol unified symbol of the market to create an order in
2814
- * @param {string} type 'market' or 'limit'
2815
- * @param {string} side 'buy' or 'sell'
2816
- * @param {float} amount how much of currency you want to trade in units of base currency
2817
- * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
2818
- * @param {object} [params] extra parameters specific to the exchange API endpoint
2819
- * @param {string} [params.posSide] either 'Merged' or 'Long' or 'Short'
2820
- * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
2821
- */
2822
2818
  await this.loadMarkets();
2823
2819
  const market = this.market(symbol);
2824
2820
  const request = {
@@ -2882,18 +2878,18 @@ class phemex extends phemex$1 {
2882
2878
  const data = this.safeDict(response, 'data', {});
2883
2879
  return this.parseOrder(data, market);
2884
2880
  }
2881
+ /**
2882
+ * @method
2883
+ * @name phemex#cancelOrder
2884
+ * @description cancels an open order
2885
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#cancel-single-order-by-orderid
2886
+ * @param {string} id order id
2887
+ * @param {string} symbol unified symbol of the market the order was made in
2888
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
2889
+ * @param {string} [params.posSide] either 'Merged' or 'Long' or 'Short'
2890
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
2891
+ */
2885
2892
  async cancelOrder(id, symbol = undefined, params = {}) {
2886
- /**
2887
- * @method
2888
- * @name phemex#cancelOrder
2889
- * @description cancels an open order
2890
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#cancel-single-order-by-orderid
2891
- * @param {string} id order id
2892
- * @param {string} symbol unified symbol of the market the order was made in
2893
- * @param {object} [params] extra parameters specific to the exchange API endpoint
2894
- * @param {string} [params.posSide] either 'Merged' or 'Long' or 'Short'
2895
- * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
2896
- */
2897
2893
  if (symbol === undefined) {
2898
2894
  throw new errors.ArgumentsRequired(this.id + ' cancelOrder() requires a symbol argument');
2899
2895
  }
@@ -2927,16 +2923,16 @@ class phemex extends phemex$1 {
2927
2923
  const data = this.safeDict(response, 'data', {});
2928
2924
  return this.parseOrder(data, market);
2929
2925
  }
2926
+ /**
2927
+ * @method
2928
+ * @name phemex#cancelAllOrders
2929
+ * @description cancel all open orders in a market
2930
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#cancelall
2931
+ * @param {string} symbol unified market symbol of the market to cancel orders in
2932
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
2933
+ * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
2934
+ */
2930
2935
  async cancelAllOrders(symbol = undefined, params = {}) {
2931
- /**
2932
- * @method
2933
- * @name phemex#cancelAllOrders
2934
- * @description cancel all open orders in a market
2935
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#cancelall
2936
- * @param {string} symbol unified market symbol of the market to cancel orders in
2937
- * @param {object} [params] extra parameters specific to the exchange API endpoint
2938
- * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
2939
- */
2940
2936
  if (symbol === undefined) {
2941
2937
  throw new errors.ArgumentsRequired(this.id + ' cancelAllOrders() requires a symbol argument');
2942
2938
  }
@@ -2991,17 +2987,17 @@ class phemex extends phemex$1 {
2991
2987
  }),
2992
2988
  ];
2993
2989
  }
2990
+ /**
2991
+ * @method
2992
+ * @name phemex#fetchOrder
2993
+ * @see https://phemex-docs.github.io/#query-orders-by-ids
2994
+ * @description fetches information on an order made by the user
2995
+ * @param {string} id the order id
2996
+ * @param {string} symbol unified symbol of the market the order was made in
2997
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
2998
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
2999
+ */
2994
3000
  async fetchOrder(id, symbol = undefined, params = {}) {
2995
- /**
2996
- * @method
2997
- * @name phemex#fetchOrder
2998
- * @see https://phemex-docs.github.io/#query-orders-by-ids
2999
- * @description fetches information on an order made by the user
3000
- * @param {string} id the order id
3001
- * @param {string} symbol unified symbol of the market the order was made in
3002
- * @param {object} [params] extra parameters specific to the exchange API endpoint
3003
- * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
3004
- */
3005
3001
  if (symbol === undefined) {
3006
3002
  throw new errors.ArgumentsRequired(this.id + ' fetchOrder() requires a symbol argument');
3007
3003
  }
@@ -3048,18 +3044,18 @@ class phemex extends phemex$1 {
3048
3044
  }
3049
3045
  return this.parseOrder(order, market);
3050
3046
  }
3047
+ /**
3048
+ * @method
3049
+ * @name phemex#fetchOrders
3050
+ * @description fetches information on multiple orders made by the user
3051
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#queryorder
3052
+ * @param {string} symbol unified market symbol of the market orders were made in
3053
+ * @param {int} [since] the earliest time in ms to fetch orders for
3054
+ * @param {int} [limit] the maximum number of order structures to retrieve
3055
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
3056
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
3057
+ */
3051
3058
  async fetchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
3052
- /**
3053
- * @method
3054
- * @name phemex#fetchOrders
3055
- * @description fetches information on multiple orders made by the user
3056
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#queryorder
3057
- * @param {string} symbol unified market symbol of the market orders were made in
3058
- * @param {int} [since] the earliest time in ms to fetch orders for
3059
- * @param {int} [limit] the maximum number of order structures to retrieve
3060
- * @param {object} [params] extra parameters specific to the exchange API endpoint
3061
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
3062
- */
3063
3059
  if (symbol === undefined) {
3064
3060
  throw new errors.ArgumentsRequired(this.id + ' fetchOrders() requires a symbol argument');
3065
3061
  }
@@ -3089,20 +3085,20 @@ class phemex extends phemex$1 {
3089
3085
  const rows = this.safeList(data, 'rows', data);
3090
3086
  return this.parseOrders(rows, market, since, limit);
3091
3087
  }
3088
+ /**
3089
+ * @method
3090
+ * @name phemex#fetchOpenOrders
3091
+ * @description fetch all unfilled currently open orders
3092
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#queryopenorder
3093
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Contract-API-en.md
3094
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Spot-API-en.md#spotListAllOpenOrder
3095
+ * @param {string} symbol unified market symbol
3096
+ * @param {int} [since] the earliest time in ms to fetch open orders for
3097
+ * @param {int} [limit] the maximum number of open order structures to retrieve
3098
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
3099
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
3100
+ */
3092
3101
  async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
3093
- /**
3094
- * @method
3095
- * @name phemex#fetchOpenOrders
3096
- * @description fetch all unfilled currently open orders
3097
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#queryopenorder
3098
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Contract-API-en.md
3099
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Spot-API-en.md#spotListAllOpenOrder
3100
- * @param {string} symbol unified market symbol
3101
- * @param {int} [since] the earliest time in ms to fetch open orders for
3102
- * @param {int} [limit] the maximum number of open order structures to retrieve
3103
- * @param {object} [params] extra parameters specific to the exchange API endpoint
3104
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
3105
- */
3106
3102
  await this.loadMarkets();
3107
3103
  if (symbol === undefined) {
3108
3104
  throw new errors.ArgumentsRequired(this.id + ' fetchOpenOrders() requires a symbol argument');
@@ -3139,22 +3135,22 @@ class phemex extends phemex$1 {
3139
3135
  return this.parseOrders(rows, market, since, limit);
3140
3136
  }
3141
3137
  }
3138
+ /**
3139
+ * @method
3140
+ * @name phemex#fetchClosedOrders
3141
+ * @description fetches information on multiple closed orders made by the user
3142
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#queryorder
3143
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Contract-API-en.md#queryorder
3144
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedgedd-Perpetual-API.md#query-closed-orders-by-symbol
3145
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Spot-API-en.md#spotDataOrdersByIds
3146
+ * @param {string} symbol unified market symbol of the market orders were made in
3147
+ * @param {int} [since] the earliest time in ms to fetch orders for
3148
+ * @param {int} [limit] the maximum number of order structures to retrieve
3149
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
3150
+ * @param {string} [params.settle] the settlement currency to fetch orders for
3151
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
3152
+ */
3142
3153
  async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
3143
- /**
3144
- * @method
3145
- * @name phemex#fetchClosedOrders
3146
- * @description fetches information on multiple closed orders made by the user
3147
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#queryorder
3148
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Contract-API-en.md#queryorder
3149
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedgedd-Perpetual-API.md#query-closed-orders-by-symbol
3150
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Spot-API-en.md#spotDataOrdersByIds
3151
- * @param {string} symbol unified market symbol of the market orders were made in
3152
- * @param {int} [since] the earliest time in ms to fetch orders for
3153
- * @param {int} [limit] the maximum number of order structures to retrieve
3154
- * @param {object} [params] extra parameters specific to the exchange API endpoint
3155
- * @param {string} [params.settle] the settlement currency to fetch orders for
3156
- * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
3157
- */
3158
3154
  await this.loadMarkets();
3159
3155
  let market = undefined;
3160
3156
  if (symbol !== undefined) {
@@ -3226,20 +3222,20 @@ class phemex extends phemex$1 {
3226
3222
  return this.parseOrders(rows, market, since, limit);
3227
3223
  }
3228
3224
  }
3225
+ /**
3226
+ * @method
3227
+ * @name phemex#fetchMyTrades
3228
+ * @description fetch all trades made by the user
3229
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Contract-API-en.md#query-user-trade
3230
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#query-user-trade
3231
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Spot-API-en.md#spotDataTradesHist
3232
+ * @param {string} symbol unified market symbol
3233
+ * @param {int} [since] the earliest time in ms to fetch trades for
3234
+ * @param {int} [limit] the maximum number of trades structures to retrieve
3235
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
3236
+ * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
3237
+ */
3229
3238
  async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
3230
- /**
3231
- * @method
3232
- * @name phemex#fetchMyTrades
3233
- * @description fetch all trades made by the user
3234
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Contract-API-en.md#query-user-trade
3235
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#query-user-trade
3236
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Spot-API-en.md#spotDataTradesHist
3237
- * @param {string} symbol unified market symbol
3238
- * @param {int} [since] the earliest time in ms to fetch trades for
3239
- * @param {int} [limit] the maximum number of trades structures to retrieve
3240
- * @param {object} [params] extra parameters specific to the exchange API endpoint
3241
- * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
3242
- */
3243
3239
  await this.loadMarkets();
3244
3240
  let market = undefined;
3245
3241
  if (symbol !== undefined) {
@@ -3388,15 +3384,15 @@ class phemex extends phemex$1 {
3388
3384
  }
3389
3385
  return this.parseTrades(data, market, since, limit);
3390
3386
  }
3387
+ /**
3388
+ * @method
3389
+ * @name phemex#fetchDepositAddress
3390
+ * @description fetch the deposit address for a currency associated with this account
3391
+ * @param {string} code unified currency code
3392
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
3393
+ * @returns {object} an [address structure]{@link https://docs.ccxt.com/#/?id=address-structure}
3394
+ */
3391
3395
  async fetchDepositAddress(code, params = {}) {
3392
- /**
3393
- * @method
3394
- * @name phemex#fetchDepositAddress
3395
- * @description fetch the deposit address for a currency associated with this account
3396
- * @param {string} code unified currency code
3397
- * @param {object} [params] extra parameters specific to the exchange API endpoint
3398
- * @returns {object} an [address structure]{@link https://docs.ccxt.com/#/?id=address-structure}
3399
- */
3400
3396
  await this.loadMarkets();
3401
3397
  const currency = this.currency(code);
3402
3398
  const request = {
@@ -3436,17 +3432,17 @@ class phemex extends phemex$1 {
3436
3432
  'tag': tag,
3437
3433
  };
3438
3434
  }
3435
+ /**
3436
+ * @method
3437
+ * @name phemex#fetchDeposits
3438
+ * @description fetch all deposits made to an account
3439
+ * @param {string} code unified currency code
3440
+ * @param {int} [since] the earliest time in ms to fetch deposits for
3441
+ * @param {int} [limit] the maximum number of deposits structures to retrieve
3442
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
3443
+ * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
3444
+ */
3439
3445
  async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
3440
- /**
3441
- * @method
3442
- * @name phemex#fetchDeposits
3443
- * @description fetch all deposits made to an account
3444
- * @param {string} code unified currency code
3445
- * @param {int} [since] the earliest time in ms to fetch deposits for
3446
- * @param {int} [limit] the maximum number of deposits structures to retrieve
3447
- * @param {object} [params] extra parameters specific to the exchange API endpoint
3448
- * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
3449
- */
3450
3446
  await this.loadMarkets();
3451
3447
  let currency = undefined;
3452
3448
  if (code !== undefined) {
@@ -3476,17 +3472,17 @@ class phemex extends phemex$1 {
3476
3472
  const data = this.safeList(response, 'data', []);
3477
3473
  return this.parseTransactions(data, currency, since, limit);
3478
3474
  }
3475
+ /**
3476
+ * @method
3477
+ * @name phemex#fetchWithdrawals
3478
+ * @description fetch all withdrawals made from an account
3479
+ * @param {string} code unified currency code
3480
+ * @param {int} [since] the earliest time in ms to fetch withdrawals for
3481
+ * @param {int} [limit] the maximum number of withdrawals structures to retrieve
3482
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
3483
+ * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
3484
+ */
3479
3485
  async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
3480
- /**
3481
- * @method
3482
- * @name phemex#fetchWithdrawals
3483
- * @description fetch all withdrawals made from an account
3484
- * @param {string} code unified currency code
3485
- * @param {int} [since] the earliest time in ms to fetch withdrawals for
3486
- * @param {int} [limit] the maximum number of withdrawals structures to retrieve
3487
- * @param {object} [params] extra parameters specific to the exchange API endpoint
3488
- * @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
3489
- */
3490
3486
  await this.loadMarkets();
3491
3487
  let currency = undefined;
3492
3488
  if (code !== undefined) {
@@ -3654,19 +3650,19 @@ class phemex extends phemex$1 {
3654
3650
  'fee': fee,
3655
3651
  };
3656
3652
  }
3653
+ /**
3654
+ * @method
3655
+ * @name phemex#fetchPositions
3656
+ * @description fetch all open positions
3657
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Contract-API-en.md#query-trading-account-and-positions
3658
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#query-account-positions
3659
+ * @see https://phemex-docs.github.io/#query-account-positions-with-unrealized-pnl
3660
+ * @param {string[]} [symbols] list of unified market symbols
3661
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
3662
+ * @param {string} [params.method] *USDT contracts only* 'privateGetGAccountsAccountPositions' or 'privateGetAccountsPositions' default is 'privateGetGAccountsAccountPositions'
3663
+ * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/#/?id=position-structure}
3664
+ */
3657
3665
  async fetchPositions(symbols = undefined, params = {}) {
3658
- /**
3659
- * @method
3660
- * @name phemex#fetchPositions
3661
- * @description fetch all open positions
3662
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Contract-API-en.md#query-trading-account-and-positions
3663
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#query-account-positions
3664
- * @see https://phemex-docs.github.io/#query-account-positions-with-unrealized-pnl
3665
- * @param {string[]} [symbols] list of unified market symbols
3666
- * @param {object} [params] extra parameters specific to the exchange API endpoint
3667
- * @param {string} [param.method] *USDT contracts only* 'privateGetGAccountsAccountPositions' or 'privateGetAccountsPositions' default is 'privateGetGAccountsAccountPositions'
3668
- * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/#/?id=position-structure}
3669
- */
3670
3666
  await this.loadMarkets();
3671
3667
  symbols = this.marketSymbols(symbols);
3672
3668
  let subType = undefined;
@@ -3941,18 +3937,18 @@ class phemex extends phemex$1 {
3941
3937
  'takeProfitPrice': undefined,
3942
3938
  });
3943
3939
  }
3940
+ /**
3941
+ * @method
3942
+ * @name phemex#fetchFundingHistory
3943
+ * @description fetch the history of funding payments paid and received on this account
3944
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#futureDataFundingFeesHist
3945
+ * @param {string} symbol unified market symbol
3946
+ * @param {int} [since] the earliest time in ms to fetch funding history for
3947
+ * @param {int} [limit] the maximum number of funding history structures to retrieve
3948
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
3949
+ * @returns {object} a [funding history structure]{@link https://docs.ccxt.com/#/?id=funding-history-structure}
3950
+ */
3944
3951
  async fetchFundingHistory(symbol = undefined, since = undefined, limit = undefined, params = {}) {
3945
- /**
3946
- * @method
3947
- * @name phemex#fetchFundingHistory
3948
- * @description fetch the history of funding payments paid and received on this account
3949
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#futureDataFundingFeesHist
3950
- * @param {string} symbol unified market symbol
3951
- * @param {int} [since] the earliest time in ms to fetch funding history for
3952
- * @param {int} [limit] the maximum number of funding history structures to retrieve
3953
- * @param {object} [params] extra parameters specific to the exchange API endpoint
3954
- * @returns {object} a [funding history structure]{@link https://docs.ccxt.com/#/?id=funding-history-structure}
3955
- */
3956
3952
  if (symbol === undefined) {
3957
3953
  throw new errors.ArgumentsRequired(this.id + ' fetchFundingHistory() requires a symbol argument');
3958
3954
  }
@@ -4033,15 +4029,15 @@ class phemex extends phemex$1 {
4033
4029
  }
4034
4030
  return value;
4035
4031
  }
4032
+ /**
4033
+ * @method
4034
+ * @name phemex#fetchFundingRate
4035
+ * @description fetch the current funding rate
4036
+ * @param {string} symbol unified market symbol
4037
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
4038
+ * @returns {object} a [funding rate structure]{@link https://docs.ccxt.com/#/?id=funding-rate-structure}
4039
+ */
4036
4040
  async fetchFundingRate(symbol, params = {}) {
4037
- /**
4038
- * @method
4039
- * @name phemex#fetchFundingRate
4040
- * @description fetch the current funding rate
4041
- * @param {string} symbol unified market symbol
4042
- * @param {object} [params] extra parameters specific to the exchange API endpoint
4043
- * @returns {object} a [funding rate structure]{@link https://docs.ccxt.com/#/?id=funding-rate-structure}
4044
- */
4045
4041
  await this.loadMarkets();
4046
4042
  const market = this.market(symbol);
4047
4043
  if (!market['swap']) {
@@ -4145,17 +4141,17 @@ class phemex extends phemex$1 {
4145
4141
  'interval': undefined,
4146
4142
  };
4147
4143
  }
4144
+ /**
4145
+ * @method
4146
+ * @name phemex#setMargin
4147
+ * @description Either adds or reduces margin in an isolated position in order to set the margin to a specific value
4148
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Contract-API-en.md#assign-position-balance-in-isolated-marign-mode
4149
+ * @param {string} symbol unified market symbol of the market to set margin in
4150
+ * @param {float} amount the amount to set the margin to
4151
+ * @param {object} [params] parameters specific to the exchange API endpoint
4152
+ * @returns {object} A [margin structure]{@link https://docs.ccxt.com/#/?id=add-margin-structure}
4153
+ */
4148
4154
  async setMargin(symbol, amount, params = {}) {
4149
- /**
4150
- * @method
4151
- * @name phemex#setMargin
4152
- * @description Either adds or reduces margin in an isolated position in order to set the margin to a specific value
4153
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Contract-API-en.md#assign-position-balance-in-isolated-marign-mode
4154
- * @param {string} symbol unified market symbol of the market to set margin in
4155
- * @param {float} amount the amount to set the margin to
4156
- * @param {object} [params] parameters specific to the exchange API endpoint
4157
- * @returns {object} A [margin structure]{@link https://docs.ccxt.com/#/?id=add-margin-structure}
4158
- */
4159
4155
  await this.loadMarkets();
4160
4156
  const market = this.market(symbol);
4161
4157
  const request = {
@@ -4204,16 +4200,16 @@ class phemex extends phemex$1 {
4204
4200
  'datetime': undefined,
4205
4201
  };
4206
4202
  }
4203
+ /**
4204
+ * @method
4205
+ * @name phemex#setMarginMode
4206
+ * @description set margin mode to 'cross' or 'isolated'
4207
+ * @param {string} marginMode 'cross' or 'isolated'
4208
+ * @param {string} symbol unified market symbol
4209
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
4210
+ * @returns {object} response from the exchange
4211
+ */
4207
4212
  async setMarginMode(marginMode, symbol = undefined, params = {}) {
4208
- /**
4209
- * @method
4210
- * @name phemex#setMarginMode
4211
- * @description set margin mode to 'cross' or 'isolated'
4212
- * @param {string} marginMode 'cross' or 'isolated'
4213
- * @param {string} symbol unified market symbol
4214
- * @param {object} [params] extra parameters specific to the exchange API endpoint
4215
- * @returns {object} response from the exchange
4216
- */
4217
4213
  if (symbol === undefined) {
4218
4214
  throw new errors.ArgumentsRequired(this.id + ' setMarginMode() requires a symbol argument');
4219
4215
  }
@@ -4239,17 +4235,17 @@ class phemex extends phemex$1 {
4239
4235
  };
4240
4236
  return await this.privatePutPositionsLeverage(this.extend(request, params));
4241
4237
  }
4238
+ /**
4239
+ * @method
4240
+ * @name phemex#setPositionMode
4241
+ * @description set hedged to true or false for a market
4242
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#switch-position-mode-synchronously
4243
+ * @param {bool} hedged set to true to use dualSidePosition
4244
+ * @param {string} symbol not used by binance setPositionMode ()
4245
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
4246
+ * @returns {object} response from the exchange
4247
+ */
4242
4248
  async setPositionMode(hedged, symbol = undefined, params = {}) {
4243
- /**
4244
- * @method
4245
- * @name phemex#setPositionMode
4246
- * @description set hedged to true or false for a market
4247
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#switch-position-mode-synchronously
4248
- * @param {bool} hedged set to true to use dualSidePosition
4249
- * @param {string} symbol not used by binance setPositionMode ()
4250
- * @param {object} [params] extra parameters specific to the exchange API endpoint
4251
- * @returns {object} response from the exchange
4252
- */
4253
4249
  this.checkRequiredArgument('setPositionMode', symbol, 'symbol');
4254
4250
  await this.loadMarkets();
4255
4251
  const market = this.market(symbol);
@@ -4267,15 +4263,15 @@ class phemex extends phemex$1 {
4267
4263
  }
4268
4264
  return await this.privatePutGPositionsSwitchPosModeSync(this.extend(request, params));
4269
4265
  }
4266
+ /**
4267
+ * @method
4268
+ * @name phemex#fetchLeverageTiers
4269
+ * @description retrieve information on the maximum leverage, and maintenance margin for trades of varying trade sizes
4270
+ * @param {string[]|undefined} symbols list of unified market symbols
4271
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
4272
+ * @returns {object} a dictionary of [leverage tiers structures]{@link https://docs.ccxt.com/#/?id=leverage-tiers-structure}, indexed by market symbols
4273
+ */
4270
4274
  async fetchLeverageTiers(symbols = undefined, params = {}) {
4271
- /**
4272
- * @method
4273
- * @name phemex#fetchLeverageTiers
4274
- * @description retrieve information on the maximum leverage, and maintenance margin for trades of varying trade sizes
4275
- * @param {string[]|undefined} symbols list of unified market symbols
4276
- * @param {object} [params] extra parameters specific to the exchange API endpoint
4277
- * @returns {object} a dictionary of [leverage tiers structures]{@link https://docs.ccxt.com/#/?id=leverage-tiers-structure}, indexed by market symbols
4278
- */
4279
4275
  await this.loadMarkets();
4280
4276
  if (symbols !== undefined) {
4281
4277
  const first = this.safeValue(symbols, 0);
@@ -4383,7 +4379,8 @@ class phemex extends phemex$1 {
4383
4379
  // ]
4384
4380
  // },
4385
4381
  //
4386
- market = this.safeMarket(undefined, market);
4382
+ const marketId = this.safeString(info, 'symbol');
4383
+ market = this.safeMarket(marketId, market);
4387
4384
  const riskLimits = (market['info']['riskLimits']);
4388
4385
  const tiers = [];
4389
4386
  let minNotional = 0;
@@ -4392,6 +4389,7 @@ class phemex extends phemex$1 {
4392
4389
  const maxNotional = this.safeInteger(tier, 'limit');
4393
4390
  tiers.push({
4394
4391
  'tier': this.sum(i, 1),
4392
+ 'symbol': this.safeSymbol(marketId, market),
4395
4393
  'currency': market['settle'],
4396
4394
  'minNotional': minNotional,
4397
4395
  'maxNotional': maxNotional,
@@ -4443,20 +4441,20 @@ class phemex extends phemex$1 {
4443
4441
  url = this.implodeHostname(this.urls['api'][api]) + url;
4444
4442
  return { 'url': url, 'method': method, 'body': body, 'headers': headers };
4445
4443
  }
4444
+ /**
4445
+ * @method
4446
+ * @name phemex#setLeverage
4447
+ * @description set the level of leverage for a market
4448
+ * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#set-leverage
4449
+ * @param {float} leverage the rate of leverage, 100 > leverage > -100 excluding numbers between -1 to 1
4450
+ * @param {string} symbol unified market symbol
4451
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
4452
+ * @param {bool} [params.hedged] set to true if hedged position mode is enabled (by default long and short leverage are set to the same value)
4453
+ * @param {float} [params.longLeverageRr] *hedged mode only* set the leverage for long positions
4454
+ * @param {float} [params.shortLeverageRr] *hedged mode only* set the leverage for short positions
4455
+ * @returns {object} response from the exchange
4456
+ */
4446
4457
  async setLeverage(leverage, symbol = undefined, params = {}) {
4447
- /**
4448
- * @method
4449
- * @name phemex#setLeverage
4450
- * @description set the level of leverage for a market
4451
- * @see https://github.com/phemex/phemex-api-docs/blob/master/Public-Hedged-Perpetual-API.md#set-leverage
4452
- * @param {float} leverage the rate of leverage, 100 > leverage > -100 excluding numbers between -1 to 1
4453
- * @param {string} symbol unified market symbol
4454
- * @param {object} [params] extra parameters specific to the exchange API endpoint
4455
- * @param {bool} [params.hedged] set to true if hedged position mode is enabled (by default long and short leverage are set to the same value)
4456
- * @param {float} [params.longLeverageRr] *hedged mode only* set the leverage for long positions
4457
- * @param {float} [params.shortLeverageRr] *hedged mode only* set the leverage for short positions
4458
- * @returns {object} response from the exchange
4459
- */
4460
4458
  // WARNING: THIS WILL INCREASE LIQUIDATION PRICE FOR OPEN ISOLATED LONG POSITIONS
4461
4459
  // AND DECREASE LIQUIDATION PRICE FOR OPEN ISOLATED SHORT POSITIONS
4462
4460
  if (symbol === undefined) {
@@ -4492,19 +4490,19 @@ class phemex extends phemex$1 {
4492
4490
  }
4493
4491
  return response;
4494
4492
  }
4493
+ /**
4494
+ * @method
4495
+ * @name phemex#transfer
4496
+ * @description transfer currency internally between wallets on the same account
4497
+ * @param {string} code unified currency code
4498
+ * @param {float} amount amount to transfer
4499
+ * @param {string} fromAccount account to transfer from
4500
+ * @param {string} toAccount account to transfer to
4501
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
4502
+ * @param {string} [params.bizType] for transferring between main and sub-acounts either 'SPOT' or 'PERPETUAL' default is 'SPOT'
4503
+ * @returns {object} a [transfer structure]{@link https://docs.ccxt.com/#/?id=transfer-structure}
4504
+ */
4495
4505
  async transfer(code, amount, fromAccount, toAccount, params = {}) {
4496
- /**
4497
- * @method
4498
- * @name phemex#transfer
4499
- * @description transfer currency internally between wallets on the same account
4500
- * @param {string} code unified currency code
4501
- * @param {float} amount amount to transfer
4502
- * @param {string} fromAccount account to transfer from
4503
- * @param {string} toAccount account to transfer to
4504
- * @param {object} [params] extra parameters specific to the exchange API endpoint
4505
- * @param {string} [params.bizType] for transferring between main and sub-acounts either 'SPOT' or 'PERPETUAL' default is 'SPOT'
4506
- * @returns {object} a [transfer structure]{@link https://docs.ccxt.com/#/?id=transfer-structure}
4507
- */
4508
4506
  await this.loadMarkets();
4509
4507
  const currency = this.currency(code);
4510
4508
  const accountsByType = this.safeValue(this.options, 'accountsByType', {});
@@ -4579,17 +4577,17 @@ class phemex extends phemex$1 {
4579
4577
  }
4580
4578
  return transfer;
4581
4579
  }
4580
+ /**
4581
+ * @method
4582
+ * @name phemex#fetchTransfers
4583
+ * @description fetch a history of internal transfers made on an account
4584
+ * @param {string} code unified currency code of the currency transferred
4585
+ * @param {int} [since] the earliest time in ms to fetch transfers for
4586
+ * @param {int} [limit] the maximum number of transfers structures to retrieve
4587
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
4588
+ * @returns {object[]} a list of [transfer structures]{@link https://docs.ccxt.com/#/?id=transfer-structure}
4589
+ */
4582
4590
  async fetchTransfers(code = undefined, since = undefined, limit = undefined, params = {}) {
4583
- /**
4584
- * @method
4585
- * @name phemex#fetchTransfers
4586
- * @description fetch a history of internal transfers made on an account
4587
- * @param {string} code unified currency code of the currency transferred
4588
- * @param {int} [since] the earliest time in ms to fetch transfers for
4589
- * @param {int} [limit] the maximum number of transfers structures to retrieve
4590
- * @param {object} [params] extra parameters specific to the exchange API endpoint
4591
- * @returns {object[]} a list of [transfer structures]{@link https://docs.ccxt.com/#/?id=transfer-structure}
4592
- */
4593
4591
  await this.loadMarkets();
4594
4592
  if (code === undefined) {
4595
4593
  throw new errors.ArgumentsRequired(this.id + ' fetchTransfers() requires a code argument');
@@ -4694,20 +4692,20 @@ class phemex extends phemex$1 {
4694
4692
  };
4695
4693
  return this.safeString(statuses, status, status);
4696
4694
  }
4695
+ /**
4696
+ * @method
4697
+ * @name phemex#fetchFundingRateHistory
4698
+ * @description fetches historical funding rate prices
4699
+ * @see https://phemex-docs.github.io/#query-funding-rate-history-2
4700
+ * @param {string} symbol unified symbol of the market to fetch the funding rate history for
4701
+ * @param {int} [since] timestamp in ms of the earliest funding rate to fetch
4702
+ * @param {int} [limit] the maximum amount of [funding rate structures]{@link https://docs.ccxt.com/#/?id=funding-rate-history-structure} to fetch
4703
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
4704
+ * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
4705
+ * @param {int} [params.until] timestamp in ms of the latest funding rate
4706
+ * @returns {object[]} a list of [funding rate structures]{@link https://docs.ccxt.com/#/?id=funding-rate-history-structure}
4707
+ */
4697
4708
  async fetchFundingRateHistory(symbol = undefined, since = undefined, limit = undefined, params = {}) {
4698
- /**
4699
- * @method
4700
- * @name phemex#fetchFundingRateHistory
4701
- * @description fetches historical funding rate prices
4702
- * @see https://phemex-docs.github.io/#query-funding-rate-history-2
4703
- * @param {string} symbol unified symbol of the market to fetch the funding rate history for
4704
- * @param {int} [since] timestamp in ms of the earliest funding rate to fetch
4705
- * @param {int} [limit] the maximum amount of [funding rate structures]{@link https://docs.ccxt.com/#/?id=funding-rate-history-structure} to fetch
4706
- * @param {object} [params] extra parameters specific to the exchange API endpoint
4707
- * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
4708
- * @param {int} [params.until] timestamp in ms of the latest funding rate
4709
- * @returns {object[]} a list of [funding rate structures]{@link https://docs.ccxt.com/#/?id=funding-rate-history-structure}
4710
- */
4711
4709
  if (symbol === undefined) {
4712
4710
  throw new errors.ArgumentsRequired(this.id + ' fetchFundingRateHistory() requires a symbol argument');
4713
4711
  }
@@ -4779,20 +4777,20 @@ class phemex extends phemex$1 {
4779
4777
  const sorted = this.sortBy(result, 'timestamp');
4780
4778
  return this.filterBySymbolSinceLimit(sorted, symbol, since, limit);
4781
4779
  }
4780
+ /**
4781
+ * @method
4782
+ * @name phemex#withdraw
4783
+ * @description make a withdrawal
4784
+ * @see https://phemex-docs.github.io/#create-withdraw-request
4785
+ * @param {string} code unified currency code
4786
+ * @param {float} amount the amount to withdraw
4787
+ * @param {string} address the address to withdraw to
4788
+ * @param {string} tag
4789
+ * @param {object} [params] extra parameters specific to the phemex api endpoint
4790
+ * @param {string} [params.network] unified network code
4791
+ * @returns {object} a [transaction structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#transaction-structure}
4792
+ */
4782
4793
  async withdraw(code, amount, address, tag = undefined, params = {}) {
4783
- /**
4784
- * @method
4785
- * @name phemex#withdraw
4786
- * @description make a withdrawal
4787
- * @see https://phemex-docs.github.io/#create-withdraw-request
4788
- * @param {string} code unified currency code
4789
- * @param {float} amount the amount to withdraw
4790
- * @param {string} address the address to withdraw to
4791
- * @param {string} tag
4792
- * @param {object} [params] extra parameters specific to the phemex api endpoint
4793
- * @param {string} [params.network] unified network code
4794
- * @returns {object} a [transaction structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#transaction-structure}
4795
- */
4796
4794
  [tag, params] = this.handleWithdrawTagAndParams(tag, params);
4797
4795
  await this.loadMarkets();
4798
4796
  this.checkAddress(address);
@@ -4852,16 +4850,16 @@ class phemex extends phemex$1 {
4852
4850
  const data = this.safeDict(response, 'data', {});
4853
4851
  return this.parseTransaction(data, currency);
4854
4852
  }
4853
+ /**
4854
+ * @method
4855
+ * @name phemex#fetchOpenInterest
4856
+ * @description retrieves the open interest of a trading pair
4857
+ * @see https://phemex-docs.github.io/#query-24-hours-ticker
4858
+ * @param {string} symbol unified CCXT market symbol
4859
+ * @param {object} [params] exchange specific parameters
4860
+ * @returns {object} an open interest structure{@link https://docs.ccxt.com/#/?id=open-interest-structure}
4861
+ */
4855
4862
  async fetchOpenInterest(symbol, params = {}) {
4856
- /**
4857
- * @method
4858
- * @name phemex#fetchOpenInterest
4859
- * @description retrieves the open interest of a trading pair
4860
- * @see https://phemex-docs.github.io/#query-24-hours-ticker
4861
- * @param {string} symbol unified CCXT market symbol
4862
- * @param {object} [params] exchange specific parameters
4863
- * @returns {object} an open interest structure{@link https://docs.ccxt.com/#/?id=open-interest-structure}
4864
- */
4865
4863
  await this.loadMarkets();
4866
4864
  const market = this.market(symbol);
4867
4865
  if (!market['contract']) {