ccxt 4.5.55 → 4.5.57

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 (321) hide show
  1. package/README.md +215 -10
  2. package/dist/ccxt.browser.min.js +10 -10
  3. package/dist/cjs/ccxt.js +6 -11
  4. package/dist/cjs/src/aftermath.js +10 -5
  5. package/dist/cjs/src/alpaca.js +2 -2
  6. package/dist/cjs/src/apex.js +26 -17
  7. package/dist/cjs/src/arkham.js +10 -7
  8. package/dist/cjs/src/ascendex.js +8 -5
  9. package/dist/cjs/src/aster.js +7 -4
  10. package/dist/cjs/src/backpack.js +4 -4
  11. package/dist/cjs/src/base/Exchange.js +72 -35
  12. package/dist/cjs/src/base/functions/io.js +25 -0
  13. package/dist/cjs/src/base/functions.js +1 -0
  14. package/dist/cjs/src/bigone.js +10 -7
  15. package/dist/cjs/src/binance.js +196 -198
  16. package/dist/cjs/src/bingx.js +7 -7
  17. package/dist/cjs/src/bitfinex.js +71 -58
  18. package/dist/cjs/src/bitflyer.js +2 -1
  19. package/dist/cjs/src/bitget.js +16 -5
  20. package/dist/cjs/src/bitmart.js +18 -10
  21. package/dist/cjs/src/bitmex.js +8 -5
  22. package/dist/cjs/src/bitopro.js +2 -2
  23. package/dist/cjs/src/bitrue.js +4 -3
  24. package/dist/cjs/src/bitso.js +7 -4
  25. package/dist/cjs/src/bitstamp.js +7 -4
  26. package/dist/cjs/src/bitteam.js +1 -1
  27. package/dist/cjs/src/bittrade.js +2 -2
  28. package/dist/cjs/src/bitvavo.js +457 -34
  29. package/dist/cjs/src/blofin.js +28 -4
  30. package/dist/cjs/src/bullish.js +6 -5
  31. package/dist/cjs/src/bybit.js +19 -17
  32. package/dist/cjs/src/bybiteu.js +1 -0
  33. package/dist/cjs/src/bydfi.js +1 -1
  34. package/dist/cjs/src/cex.js +3 -3
  35. package/dist/cjs/src/coinbase.js +75 -65
  36. package/dist/cjs/src/coinbaseexchange.js +4 -3
  37. package/dist/cjs/src/coinbaseinternational.js +17 -10
  38. package/dist/cjs/src/coinex.js +79 -77
  39. package/dist/cjs/src/coinmetro.js +1 -1
  40. package/dist/cjs/src/coinsph.js +5 -5
  41. package/dist/cjs/src/cryptocom.js +52 -54
  42. package/dist/cjs/src/cryptomus.js +43 -39
  43. package/dist/cjs/src/deepcoin.js +9 -5
  44. package/dist/cjs/src/delta.js +53 -53
  45. package/dist/cjs/src/deribit.js +35 -35
  46. package/dist/cjs/src/derive.js +31 -31
  47. package/dist/cjs/src/digifinex.js +45 -45
  48. package/dist/cjs/src/exmo.js +104 -122
  49. package/dist/cjs/src/extended.js +3497 -0
  50. package/dist/cjs/src/foxbit.js +72 -76
  51. package/dist/cjs/src/gate.js +53 -53
  52. package/dist/cjs/src/gemini.js +45 -45
  53. package/dist/cjs/src/grvt.js +17 -11
  54. package/dist/cjs/src/hashkey.js +56 -58
  55. package/dist/cjs/src/hibachi.js +1 -1
  56. package/dist/cjs/src/hitbtc.js +5 -14
  57. package/dist/cjs/src/hollaex.js +51 -54
  58. package/dist/cjs/src/htx.js +84 -72
  59. package/dist/cjs/src/hyperliquid.js +60 -55
  60. package/dist/cjs/src/indodax.js +4 -3
  61. package/dist/cjs/src/kraken.js +71 -71
  62. package/dist/cjs/src/krakenfutures.js +2 -1
  63. package/dist/cjs/src/kucoin.js +3 -2
  64. package/dist/cjs/src/latoken.js +30 -32
  65. package/dist/cjs/src/lbank.js +64 -60
  66. package/dist/cjs/src/lighter.js +36 -38
  67. package/dist/cjs/src/luno.js +36 -44
  68. package/dist/cjs/src/mercado.js +2 -1
  69. package/dist/cjs/src/mexc.js +72 -63
  70. package/dist/cjs/src/modetrade.js +51 -53
  71. package/dist/cjs/src/ndax.js +35 -37
  72. package/dist/cjs/src/okx.js +23 -5
  73. package/dist/cjs/src/onetrading.js +21 -23
  74. package/dist/cjs/src/p2b.js +8 -4
  75. package/dist/cjs/src/paradex.js +3 -2
  76. package/dist/cjs/src/phemex.js +47 -47
  77. package/dist/cjs/src/poloniex.js +19 -13
  78. package/dist/cjs/src/pro/alpaca.js +1 -1
  79. package/dist/cjs/src/pro/apex.js +11 -2
  80. package/dist/cjs/src/pro/arkham.js +1 -1
  81. package/dist/cjs/src/pro/aster.js +10 -9
  82. package/dist/cjs/src/pro/backpack.js +1 -1
  83. package/dist/cjs/src/pro/binance.js +6 -6
  84. package/dist/cjs/src/pro/bingx.js +7 -2
  85. package/dist/cjs/src/pro/bitget.js +1 -1
  86. package/dist/cjs/src/pro/bithumb.js +1 -1
  87. package/dist/cjs/src/pro/bitmart.js +10 -0
  88. package/dist/cjs/src/pro/bitmex.js +1 -1
  89. package/dist/cjs/src/pro/bitstamp.js +1 -1
  90. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  91. package/dist/cjs/src/pro/bybit.js +1 -1
  92. package/dist/cjs/src/pro/cex.js +1 -1
  93. package/dist/cjs/src/pro/coinex.js +1 -1
  94. package/dist/cjs/src/pro/coinone.js +1 -1
  95. package/dist/cjs/src/pro/cryptocom.js +3 -1
  96. package/dist/cjs/src/pro/dydx.js +1 -1
  97. package/dist/cjs/src/pro/exmo.js +1 -1
  98. package/dist/cjs/src/pro/extended.js +865 -0
  99. package/dist/cjs/src/pro/gate.js +1 -1
  100. package/dist/cjs/src/pro/grvt.js +8 -0
  101. package/dist/cjs/src/pro/htx.js +4 -4
  102. package/dist/cjs/src/pro/independentreserve.js +1 -1
  103. package/dist/cjs/src/pro/krakenfutures.js +16 -4
  104. package/dist/cjs/src/pro/kucoin.js +1 -1
  105. package/dist/cjs/src/pro/luno.js +3 -3
  106. package/dist/cjs/src/pro/modetrade.js +3 -3
  107. package/dist/cjs/src/pro/okx.js +4 -4
  108. package/dist/cjs/src/pro/onetrading.js +1 -1
  109. package/dist/cjs/src/pro/toobit.js +1 -1
  110. package/dist/cjs/src/pro/weex.js +1 -1
  111. package/dist/cjs/src/pro/woo.js +4 -4
  112. package/dist/cjs/src/pro/woofipro.js +3 -3
  113. package/dist/cjs/src/pro/xt.js +1 -1
  114. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +7 -7
  115. package/dist/cjs/src/tokocrypto.js +1 -1
  116. package/dist/cjs/src/toobit.js +3 -3
  117. package/dist/cjs/src/upbit.js +3 -3
  118. package/dist/cjs/src/weex.js +57 -62
  119. package/dist/cjs/src/whitebit.js +61 -63
  120. package/dist/cjs/src/woo.js +66 -55
  121. package/dist/cjs/src/woofipro.js +54 -48
  122. package/dist/cjs/src/xt.js +3 -2
  123. package/dist/cjs/src/yobit.js +4 -2
  124. package/dist/cjs/src/zebpay.js +73 -75
  125. package/js/ccxt.d.ts +8 -14
  126. package/js/ccxt.js +6 -10
  127. package/js/src/abstract/bitvavo.d.ts +15 -7
  128. package/js/src/abstract/extended.d.ts +58 -0
  129. package/js/src/abstract/mexc.d.ts +1 -0
  130. package/js/src/aftermath.js +10 -5
  131. package/js/src/alpaca.js +2 -2
  132. package/js/src/apex.d.ts +1 -1
  133. package/js/src/apex.js +26 -17
  134. package/js/src/arkham.js +10 -7
  135. package/js/src/ascendex.js +8 -5
  136. package/js/src/aster.js +7 -4
  137. package/js/src/backpack.js +4 -4
  138. package/js/src/base/Exchange.d.ts +10 -6
  139. package/js/src/base/Exchange.js +72 -35
  140. package/js/src/base/functions/io.d.ts +7 -0
  141. package/js/src/base/functions/io.js +24 -0
  142. package/js/src/bigone.js +10 -7
  143. package/js/src/binance.d.ts +2 -0
  144. package/js/src/binance.js +200 -202
  145. package/js/src/bingx.js +7 -7
  146. package/js/src/bitfinex.d.ts +2 -0
  147. package/js/src/bitfinex.js +71 -58
  148. package/js/src/bitflyer.js +2 -1
  149. package/js/src/bitget.js +16 -5
  150. package/js/src/bitmart.js +18 -10
  151. package/js/src/bitmex.js +8 -5
  152. package/js/src/bitopro.js +2 -2
  153. package/js/src/bitrue.js +4 -3
  154. package/js/src/bitso.js +7 -4
  155. package/js/src/bitstamp.js +7 -4
  156. package/js/src/bitteam.js +1 -1
  157. package/js/src/bittrade.js +2 -2
  158. package/js/src/bitvavo.d.ts +114 -21
  159. package/js/src/bitvavo.js +457 -34
  160. package/js/src/blofin.d.ts +1 -0
  161. package/js/src/blofin.js +28 -4
  162. package/js/src/bullish.js +6 -5
  163. package/js/src/bybit.d.ts +1 -1
  164. package/js/src/bybit.js +19 -17
  165. package/js/src/bybiteu.js +1 -0
  166. package/js/src/bydfi.js +1 -1
  167. package/js/src/cex.js +3 -3
  168. package/js/src/coinbase.d.ts +63 -56
  169. package/js/src/coinbase.js +75 -65
  170. package/js/src/coinbaseexchange.js +4 -3
  171. package/js/src/coinbaseinternational.d.ts +1 -1
  172. package/js/src/coinbaseinternational.js +17 -10
  173. package/js/src/coinex.d.ts +2 -1
  174. package/js/src/coinex.js +79 -77
  175. package/js/src/coinmetro.d.ts +1 -1
  176. package/js/src/coinmetro.js +1 -1
  177. package/js/src/coinsph.js +5 -5
  178. package/js/src/cryptocom.d.ts +1 -0
  179. package/js/src/cryptocom.js +52 -54
  180. package/js/src/cryptomus.d.ts +2 -1
  181. package/js/src/cryptomus.js +43 -39
  182. package/js/src/deepcoin.js +9 -5
  183. package/js/src/delta.d.ts +1 -0
  184. package/js/src/delta.js +53 -53
  185. package/js/src/deribit.d.ts +1 -0
  186. package/js/src/deribit.js +35 -35
  187. package/js/src/derive.d.ts +1 -0
  188. package/js/src/derive.js +31 -31
  189. package/js/src/digifinex.d.ts +1 -0
  190. package/js/src/digifinex.js +45 -45
  191. package/js/src/exmo.d.ts +1 -0
  192. package/js/src/exmo.js +104 -122
  193. package/js/src/extended.d.ts +554 -0
  194. package/js/src/extended.js +3490 -0
  195. package/js/src/foxbit.d.ts +1 -0
  196. package/js/src/foxbit.js +72 -76
  197. package/js/src/gate.d.ts +1 -0
  198. package/js/src/gate.js +53 -53
  199. package/js/src/gemini.d.ts +2 -1
  200. package/js/src/gemini.js +45 -45
  201. package/js/src/grvt.d.ts +1 -1
  202. package/js/src/grvt.js +17 -11
  203. package/js/src/hashkey.d.ts +1 -0
  204. package/js/src/hashkey.js +56 -58
  205. package/js/src/hibachi.d.ts +1 -1
  206. package/js/src/hibachi.js +1 -1
  207. package/js/src/hitbtc.d.ts +0 -1
  208. package/js/src/hitbtc.js +5 -14
  209. package/js/src/hollaex.d.ts +1 -0
  210. package/js/src/hollaex.js +51 -54
  211. package/js/src/htx.d.ts +1 -0
  212. package/js/src/htx.js +84 -72
  213. package/js/src/hyperliquid.d.ts +5 -4
  214. package/js/src/hyperliquid.js +60 -55
  215. package/js/src/indodax.js +4 -3
  216. package/js/src/kraken.d.ts +2 -1
  217. package/js/src/kraken.js +71 -71
  218. package/js/src/krakenfutures.js +2 -1
  219. package/js/src/kucoin.js +3 -2
  220. package/js/src/latoken.d.ts +1 -0
  221. package/js/src/latoken.js +30 -32
  222. package/js/src/lbank.d.ts +1 -0
  223. package/js/src/lbank.js +64 -60
  224. package/js/src/lighter.d.ts +2 -1
  225. package/js/src/lighter.js +36 -38
  226. package/js/src/luno.d.ts +1 -0
  227. package/js/src/luno.js +36 -44
  228. package/js/src/mercado.js +2 -1
  229. package/js/src/mexc.d.ts +4 -3
  230. package/js/src/mexc.js +72 -63
  231. package/js/src/modetrade.d.ts +1 -0
  232. package/js/src/modetrade.js +51 -53
  233. package/js/src/ndax.d.ts +1 -0
  234. package/js/src/ndax.js +35 -37
  235. package/js/src/okx.js +23 -5
  236. package/js/src/onetrading.d.ts +2 -1
  237. package/js/src/onetrading.js +21 -23
  238. package/js/src/p2b.js +8 -4
  239. package/js/src/paradex.js +3 -2
  240. package/js/src/phemex.d.ts +1 -0
  241. package/js/src/phemex.js +47 -47
  242. package/js/src/poloniex.js +19 -13
  243. package/js/src/pro/alpaca.js +1 -1
  244. package/js/src/pro/apex.js +11 -2
  245. package/js/src/pro/arkham.js +1 -1
  246. package/js/src/pro/aster.js +10 -9
  247. package/js/src/pro/backpack.js +1 -1
  248. package/js/src/pro/binance.d.ts +1 -1
  249. package/js/src/pro/binance.js +6 -6
  250. package/js/src/pro/bingx.js +7 -2
  251. package/js/src/pro/bitget.js +1 -1
  252. package/js/src/pro/bithumb.js +1 -1
  253. package/js/src/pro/bitmart.js +10 -0
  254. package/js/src/pro/bitmex.js +1 -1
  255. package/js/src/pro/bitstamp.js +1 -1
  256. package/js/src/pro/blockchaincom.js +1 -1
  257. package/js/src/pro/bybit.js +1 -1
  258. package/js/src/pro/cex.js +1 -1
  259. package/js/src/pro/coinex.js +1 -1
  260. package/js/src/pro/coinone.js +1 -1
  261. package/js/src/pro/cryptocom.js +3 -1
  262. package/js/src/pro/dydx.js +1 -1
  263. package/js/src/pro/exmo.js +1 -1
  264. package/js/src/pro/extended.d.ts +126 -0
  265. package/js/src/pro/extended.js +858 -0
  266. package/js/src/pro/gate.js +1 -1
  267. package/js/src/pro/grvt.js +8 -0
  268. package/js/src/pro/htx.d.ts +4 -4
  269. package/js/src/pro/htx.js +4 -4
  270. package/js/src/pro/independentreserve.js +1 -1
  271. package/js/src/pro/krakenfutures.d.ts +4 -4
  272. package/js/src/pro/krakenfutures.js +16 -4
  273. package/js/src/pro/kucoin.js +1 -1
  274. package/js/src/pro/luno.d.ts +1 -1
  275. package/js/src/pro/luno.js +3 -3
  276. package/js/src/pro/modetrade.d.ts +3 -3
  277. package/js/src/pro/modetrade.js +3 -3
  278. package/js/src/pro/okx.d.ts +4 -4
  279. package/js/src/pro/okx.js +4 -4
  280. package/js/src/pro/onetrading.js +1 -1
  281. package/js/src/pro/toobit.js +1 -1
  282. package/js/src/pro/weex.js +1 -1
  283. package/js/src/pro/woo.d.ts +4 -4
  284. package/js/src/pro/woo.js +4 -4
  285. package/js/src/pro/woofipro.d.ts +3 -3
  286. package/js/src/pro/woofipro.js +3 -3
  287. package/js/src/pro/xt.js +1 -1
  288. package/js/src/tokocrypto.js +1 -1
  289. package/js/src/toobit.d.ts +1 -1
  290. package/js/src/toobit.js +3 -3
  291. package/js/src/upbit.js +3 -3
  292. package/js/src/weex.d.ts +1 -0
  293. package/js/src/weex.js +57 -62
  294. package/js/src/whitebit.d.ts +1 -0
  295. package/js/src/whitebit.js +61 -63
  296. package/js/src/woo.d.ts +1 -0
  297. package/js/src/woo.js +66 -55
  298. package/js/src/woofipro.d.ts +1 -0
  299. package/js/src/woofipro.js +54 -48
  300. package/js/src/xt.js +3 -2
  301. package/js/src/yobit.js +4 -2
  302. package/js/src/zebpay.d.ts +2 -1
  303. package/js/src/zebpay.js +73 -75
  304. package/package.json +25 -11
  305. package/dist/cjs/src/gateio.js +0 -18
  306. package/dist/cjs/src/oxfun.js +0 -2931
  307. package/dist/cjs/src/pro/gateio.js +0 -18
  308. package/dist/cjs/src/pro/oxfun.js +0 -1113
  309. package/js/src/abstract/gateio.d.ts +0 -346
  310. package/js/src/abstract/gateio.js +0 -5
  311. package/js/src/abstract/oxfun.d.ts +0 -37
  312. package/js/src/gateio.d.ts +0 -4
  313. package/js/src/gateio.js +0 -11
  314. package/js/src/oxfun.d.ts +0 -442
  315. package/js/src/oxfun.js +0 -2924
  316. package/js/src/pro/gateio.d.ts +0 -4
  317. package/js/src/pro/gateio.js +0 -11
  318. package/js/src/pro/oxfun.d.ts +0 -234
  319. package/js/src/pro/oxfun.js +0 -1106
  320. /package/dist/cjs/src/abstract/{oxfun.js → extended.js} +0 -0
  321. /package/js/src/abstract/{oxfun.js → extended.js} +0 -0
package/dist/cjs/ccxt.js CHANGED
@@ -68,10 +68,10 @@ var derive = require('./src/derive.js');
68
68
  var digifinex = require('./src/digifinex.js');
69
69
  var dydx = require('./src/dydx.js');
70
70
  var exmo = require('./src/exmo.js');
71
+ var extended = require('./src/extended.js');
71
72
  var fmfwio = require('./src/fmfwio.js');
72
73
  var foxbit = require('./src/foxbit.js');
73
74
  var gate = require('./src/gate.js');
74
- var gateio = require('./src/gateio.js');
75
75
  var gemini = require('./src/gemini.js');
76
76
  var grvt = require('./src/grvt.js');
77
77
  var hashkey = require('./src/hashkey.js');
@@ -100,7 +100,6 @@ var novadax = require('./src/novadax.js');
100
100
  var okx = require('./src/okx.js');
101
101
  var okxus = require('./src/okxus.js');
102
102
  var onetrading = require('./src/onetrading.js');
103
- var oxfun = require('./src/oxfun.js');
104
103
  var p2b = require('./src/p2b.js');
105
104
  var pacifica = require('./src/pacifica.js');
106
105
  var paradex = require('./src/paradex.js');
@@ -162,8 +161,8 @@ var deribit$1 = require('./src/pro/deribit.js');
162
161
  var derive$1 = require('./src/pro/derive.js');
163
162
  var dydx$1 = require('./src/pro/dydx.js');
164
163
  var exmo$1 = require('./src/pro/exmo.js');
164
+ var extended$1 = require('./src/pro/extended.js');
165
165
  var gate$1 = require('./src/pro/gate.js');
166
- var gateio$1 = require('./src/pro/gateio.js');
167
166
  var gemini$1 = require('./src/pro/gemini.js');
168
167
  var grvt$1 = require('./src/pro/grvt.js');
169
168
  var hashkey$1 = require('./src/pro/hashkey.js');
@@ -187,7 +186,6 @@ var ndax$1 = require('./src/pro/ndax.js');
187
186
  var okx$1 = require('./src/pro/okx.js');
188
187
  var okxus$1 = require('./src/pro/okxus.js');
189
188
  var onetrading$1 = require('./src/pro/onetrading.js');
190
- var oxfun$1 = require('./src/pro/oxfun.js');
191
189
  var p2b$1 = require('./src/pro/p2b.js');
192
190
  var pacifica$1 = require('./src/pro/pacifica.js');
193
191
  var paradex$1 = require('./src/pro/paradex.js');
@@ -203,7 +201,7 @@ var xt$1 = require('./src/pro/xt.js');
203
201
 
204
202
  //-----------------------------------------------------------------------------
205
203
  // this is updated by vss.js when building
206
- const version = '4.5.55';
204
+ const version = '4.5.57';
207
205
  Exchange["default"].ccxtVersion = version;
208
206
  const exchanges = {
209
207
  'aftermath': aftermath["default"],
@@ -266,10 +264,10 @@ const exchanges = {
266
264
  'digifinex': digifinex["default"],
267
265
  'dydx': dydx["default"],
268
266
  'exmo': exmo["default"],
267
+ 'extended': extended["default"],
269
268
  'fmfwio': fmfwio["default"],
270
269
  'foxbit': foxbit["default"],
271
270
  'gate': gate["default"],
272
- 'gateio': gateio["default"],
273
271
  'gemini': gemini["default"],
274
272
  'grvt': grvt["default"],
275
273
  'hashkey': hashkey["default"],
@@ -298,7 +296,6 @@ const exchanges = {
298
296
  'okx': okx["default"],
299
297
  'okxus': okxus["default"],
300
298
  'onetrading': onetrading["default"],
301
- 'oxfun': oxfun["default"],
302
299
  'p2b': p2b["default"],
303
300
  'pacifica': pacifica["default"],
304
301
  'paradex': paradex["default"],
@@ -362,8 +359,8 @@ const pro = {
362
359
  'derive': derive$1["default"],
363
360
  'dydx': dydx$1["default"],
364
361
  'exmo': exmo$1["default"],
362
+ 'extended': extended$1["default"],
365
363
  'gate': gate$1["default"],
366
- 'gateio': gateio$1["default"],
367
364
  'gemini': gemini$1["default"],
368
365
  'grvt': grvt$1["default"],
369
366
  'hashkey': hashkey$1["default"],
@@ -387,7 +384,6 @@ const pro = {
387
384
  'okx': okx$1["default"],
388
385
  'okxus': okxus$1["default"],
389
386
  'onetrading': onetrading$1["default"],
390
- 'oxfun': oxfun$1["default"],
391
387
  'p2b': p2b$1["default"],
392
388
  'pacifica': pacifica$1["default"],
393
389
  'paradex': paradex$1["default"],
@@ -512,10 +508,10 @@ exports.derive = derive["default"];
512
508
  exports.digifinex = digifinex["default"];
513
509
  exports.dydx = dydx["default"];
514
510
  exports.exmo = exmo["default"];
511
+ exports.extended = extended["default"];
515
512
  exports.fmfwio = fmfwio["default"];
516
513
  exports.foxbit = foxbit["default"];
517
514
  exports.gate = gate["default"];
518
- exports.gateio = gateio["default"];
519
515
  exports.gemini = gemini["default"];
520
516
  exports.grvt = grvt["default"];
521
517
  exports.hashkey = hashkey["default"];
@@ -544,7 +540,6 @@ exports.novadax = novadax["default"];
544
540
  exports.okx = okx["default"];
545
541
  exports.okxus = okxus["default"];
546
542
  exports.onetrading = onetrading["default"];
547
- exports.oxfun = oxfun["default"];
548
543
  exports.p2b = p2b["default"];
549
544
  exports.pacifica = pacifica["default"];
550
545
  exports.paradex = paradex["default"];
@@ -821,7 +821,8 @@ class aftermath extends aftermath$1["default"] {
821
821
  let account = undefined;
822
822
  [account, params] = this.handleOptionAndParams(params, 'createOrder', 'account');
823
823
  const order = this.parseCreateEditOrderArgs(undefined, symbol, type, side, amount, price, params);
824
- const orders = await this.createOrders([order], { 'account': account });
824
+ const accountObj = { 'account': account };
825
+ const orders = await this.createOrders([order], accountObj);
825
826
  return orders[0];
826
827
  }
827
828
  /**
@@ -1180,10 +1181,14 @@ class aftermath extends aftermath$1["default"] {
1180
1181
  // "collateral": 39.0
1181
1182
  // }
1182
1183
  //
1183
- return this.extend(this.parseTransaction(response, currency), {
1184
- 'addressFrom': account,
1185
- 'amount': amount,
1186
- });
1184
+ const parsedTx = this.parseTransaction(response, currency);
1185
+ parsedTx['addressFrom '] = account;
1186
+ parsedTx['amount'] = amount;
1187
+ return parsedTx;
1188
+ // return this.extend (, {
1189
+ // 'addressFrom': account,
1190
+ // 'amount': amount,
1191
+ // });
1187
1192
  }
1188
1193
  parseTransaction(transaction, currency = undefined) {
1189
1194
  return {
@@ -1147,7 +1147,7 @@ class alpaca extends alpaca$1["default"] {
1147
1147
  await this.loadMarkets();
1148
1148
  const response = await this.traderPrivateDeleteV2Orders(params);
1149
1149
  if (Array.isArray(response)) {
1150
- return this.parseOrders(response, undefined);
1150
+ return this.parseOrders(response);
1151
1151
  }
1152
1152
  else {
1153
1153
  return [
@@ -1896,7 +1896,7 @@ class alpaca extends alpaca$1["default"] {
1896
1896
  if (code !== undefined) {
1897
1897
  this.throwExactlyMatchedException(this.exceptions['exact'], errorCode, feedback);
1898
1898
  }
1899
- const message = this.safeValue(response, 'message', undefined);
1899
+ const message = this.safeValue(response, 'message');
1900
1900
  if (message !== undefined) {
1901
1901
  this.throwExactlyMatchedException(this.exceptions['exact'], message, feedback);
1902
1902
  this.throwBroadlyMatchedException(this.exceptions['broad'], message, feedback);
@@ -513,7 +513,7 @@ class apex extends apex$1["default"] {
513
513
  const tokenName = this.safeString(token, 'token');
514
514
  if (tokenName === currencyId) {
515
515
  const networkId = this.safeString(chain, 'chainId');
516
- const networkCode = this.networkIdToCode(networkId);
516
+ const networkCode = this.networkIdToCode(networkId, code);
517
517
  networks[networkCode] = {
518
518
  'info': chain,
519
519
  'id': networkId,
@@ -1213,7 +1213,7 @@ class apex extends apex$1["default"] {
1213
1213
  'IMMEDIATE_OR_CANCEL': 'IMMEDIATE_OR_CANCEL',
1214
1214
  'POST_ONLY': 'POST_ONLY',
1215
1215
  };
1216
- return this.safeString(timeInForces, timeInForce, undefined);
1216
+ return this.safeString(timeInForces, timeInForce);
1217
1217
  }
1218
1218
  parseOrderStatus(status) {
1219
1219
  if (status !== undefined) {
@@ -1361,14 +1361,16 @@ class apex extends apex$1["default"] {
1361
1361
  if (clientOrderId === undefined) {
1362
1362
  clientOrderId = this.generateRandomClientIdOmni(accountId);
1363
1363
  }
1364
+ const finalClientOrderId = clientOrderId; // java req
1364
1365
  params = this.omit(params, ['clientId', 'clientOrderId', 'client_order_id', 'stopLossPrice', 'takeProfitPrice', 'triggerPrice']);
1366
+ const finalOrderPrice = orderPrice; // java req
1365
1367
  const orderToSign = {
1366
1368
  'accountId': accountId,
1367
- 'slotId': clientOrderId,
1368
- 'nonce': clientOrderId,
1369
+ 'slotId': finalClientOrderId,
1370
+ 'nonce': finalClientOrderId,
1369
1371
  'pairId': market['quoteId'],
1370
1372
  'size': orderSize,
1371
- 'price': orderPrice,
1373
+ 'price': finalOrderPrice,
1372
1374
  'direction': orderSide,
1373
1375
  'makerFeeRate': maker,
1374
1376
  'takerFeeRate': taker,
@@ -1382,11 +1384,11 @@ class apex extends apex$1["default"] {
1382
1384
  'side': orderSide,
1383
1385
  'type': orderType,
1384
1386
  'size': orderSize,
1385
- 'price': orderPrice,
1387
+ 'price': finalOrderPrice,
1386
1388
  'limitFee': limitFee,
1387
1389
  'expiration': Math.floor(timeNow / 1000 + 30 * 24 * 60 * 60),
1388
1390
  'timeInForce': timeInForce,
1389
- 'clientId': clientOrderId,
1391
+ 'clientId': finalClientOrderId,
1390
1392
  'brokerId': this.safeString(this.options, 'brokerId', '6956'),
1391
1393
  };
1392
1394
  if (triggerPrice !== undefined) {
@@ -1432,6 +1434,7 @@ class apex extends apex$1["default"] {
1432
1434
  if (subAccounts.length > 0) {
1433
1435
  nonce = this.safeString(subAccounts[0], 'nonce', '0');
1434
1436
  }
1437
+ const finalNonce = nonce; // java req
1435
1438
  const ethAddress = this.safeString(accountData, 'ethereumAddress', '');
1436
1439
  const accountId = this.safeString(accountData, 'id', '');
1437
1440
  let currency = {};
@@ -1448,12 +1451,15 @@ class apex extends apex$1["default"] {
1448
1451
  }
1449
1452
  }
1450
1453
  const tokenId = this.safeString(currency, 'tokenId', '');
1451
- const amountNumber = this.parseToInt(amount * (Math.pow(10, this.safeNumber(currency, 'decimals', 0))));
1454
+ const decimalsNum = this.safeNumber(currency, 'decimals', 0);
1455
+ const mathPowResult = (Math.pow(10, decimalsNum));
1456
+ const amountNumber = this.parseToInt(amount * mathPowResult);
1452
1457
  const timestampSeconds = this.parseToInt(this.milliseconds() / 1000);
1453
1458
  let clientOrderId = this.safeStringN(params, ['clientId', 'clientOrderId', 'client_order_id']);
1454
1459
  if (clientOrderId === undefined) {
1455
1460
  clientOrderId = this.generateRandomClientIdOmni(this.safeString(this.options, 'accountId'));
1456
1461
  }
1462
+ const finalClientOrderId = clientOrderId; // java req
1457
1463
  params = this.omit(params, ['clientId', 'clientOrderId', 'client_order_id']);
1458
1464
  if (fromAccount !== undefined && fromAccount.toLowerCase() === 'contract') {
1459
1465
  const formattedUint32 = '4294967295';
@@ -1467,7 +1473,7 @@ class apex extends apex$1["default"] {
1467
1473
  'tokenId': tokenId,
1468
1474
  'amount': amountNumber.toString(),
1469
1475
  'fee': '0',
1470
- 'nonce': clientOrderId,
1476
+ 'nonce': finalClientOrderId,
1471
1477
  'timestampSeconds': expireTime,
1472
1478
  'isContract': true,
1473
1479
  };
@@ -1475,7 +1481,7 @@ class apex extends apex$1["default"] {
1475
1481
  const request = {
1476
1482
  'amount': amount,
1477
1483
  'expireTime': expireTime,
1478
- 'clientWithdrawId': clientOrderId,
1484
+ 'clientWithdrawId': finalClientOrderId,
1479
1485
  'signature': signature,
1480
1486
  'token': code,
1481
1487
  'ethAddress': ethAddress,
@@ -1483,10 +1489,11 @@ class apex extends apex$1["default"] {
1483
1489
  const response = await this.privatePostV3ContractTransferOut(this.extend(request, params));
1484
1490
  const data = this.safeDict(response, 'data', {});
1485
1491
  const currentTime = this.milliseconds();
1492
+ const parsedAmount = this.parseNumber(amount);
1486
1493
  return this.extend(this.parseTransfer(data, this.currency(code)), {
1487
1494
  'timestamp': currentTime,
1488
1495
  'datetime': this.iso8601(currentTime),
1489
- 'amount': this.parseNumber(amount),
1496
+ 'amount': parsedAmount,
1490
1497
  'fromAccount': 'contract',
1491
1498
  'toAccount': 'spot',
1492
1499
  });
@@ -1500,14 +1507,16 @@ class apex extends apex$1["default"] {
1500
1507
  'tokenId': tokenId,
1501
1508
  'amount': amountNumber.toString(),
1502
1509
  'fee': '0',
1503
- 'nonce': nonce,
1510
+ 'nonce': finalNonce,
1504
1511
  'timestampSeconds': timestampSeconds,
1505
1512
  };
1506
1513
  const signature = await this.getZKTransferSignatureObj(this.remove0xPrefix(this.getSeeds()), orderToSign);
1514
+ const amountStr = amount.toString();
1515
+ const ts = timestampSeconds; // java req
1507
1516
  const request = {
1508
- 'amount': amount.toString(),
1509
- 'timestamp': timestampSeconds,
1510
- 'clientTransferId': clientOrderId,
1517
+ 'amount': amountStr,
1518
+ 'timestamp': ts,
1519
+ 'clientTransferId': finalClientOrderId,
1511
1520
  'signature': signature,
1512
1521
  'zkAccountId': zkAccountId,
1513
1522
  'subAccountId': subAccountId,
@@ -1518,7 +1527,7 @@ class apex extends apex$1["default"] {
1518
1527
  'receiverZkAccountId': receiverZkAccountId,
1519
1528
  'receiverSubAccountId': receiverSubAccountId,
1520
1529
  'receiverAddress': receiverAddress,
1521
- 'nonce': nonce,
1530
+ 'nonce': finalNonce,
1522
1531
  };
1523
1532
  const response = await this.privatePostV3TransferOut(this.extend(request, params));
1524
1533
  const data = this.safeDict(response, 'data', {});
@@ -1576,7 +1585,7 @@ class apex extends apex$1["default"] {
1576
1585
  * @description cancels an open order
1577
1586
  * @see https://api-docs.pro.apex.exchange/#privateapi-v3-for-omni-post-cancel-order
1578
1587
  * @param {string} id order id
1579
- * @param symbol
1588
+ * @param {string} [symbol] unified symbol of the market the order was made in
1580
1589
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1581
1590
  * @returns {object} An [order structure]{@link https://docs.ccxt.com/?id=order-structure}
1582
1591
  */
@@ -493,7 +493,7 @@ class arkham extends arkham$1["default"] {
493
493
  for (let j = 0; j < chains.length; j++) {
494
494
  const chain = chains[j];
495
495
  const networkId = this.safeString(chain, 'symbol');
496
- const network = this.networkIdToCode(networkId);
496
+ const network = this.networkIdToCode(networkId, code);
497
497
  networks[network] = {
498
498
  'info': chain,
499
499
  'id': networkId,
@@ -1294,7 +1294,7 @@ class arkham extends arkham$1["default"] {
1294
1294
  //
1295
1295
  // [] returns an empty array, even when successfully cancels orders
1296
1296
  //
1297
- return this.parseOrders(response, undefined);
1297
+ return this.parseOrders(response);
1298
1298
  }
1299
1299
  /**
1300
1300
  * @method
@@ -1822,7 +1822,7 @@ class arkham extends arkham$1["default"] {
1822
1822
  throw new errors.ArgumentsRequired(this.id + ' fetchDepositAddressesByNetwork() requires a "network" param');
1823
1823
  }
1824
1824
  const request = {
1825
- 'chain': this.networkCodeToId(networkCode),
1825
+ 'chain': this.networkCodeToId(networkCode, code),
1826
1826
  };
1827
1827
  const response = await this.v1PrivateGetAccountDepositAddresses(this.extend(request, params));
1828
1828
  //
@@ -1833,7 +1833,8 @@ class arkham extends arkham$1["default"] {
1833
1833
  // }
1834
1834
  //
1835
1835
  const data = this.safeList(response, 'addresses');
1836
- const parsed = this.parseDepositAddresses(data, undefined, false, { 'network': networkCode });
1836
+ const networkCodeUnified = networkCode; // java req
1837
+ const parsed = this.parseDepositAddresses(data, undefined, false, { 'network': networkCodeUnified });
1837
1838
  return this.indexBy(parsed, 'network');
1838
1839
  }
1839
1840
  parseDepositAddress(entry, currency = undefined) {
@@ -1938,7 +1939,7 @@ class arkham extends arkham$1["default"] {
1938
1939
  'txid': this.safeString(transaction, 'transactionHash'),
1939
1940
  'type': undefined,
1940
1941
  'currency': code,
1941
- 'network': this.networkIdToCode(this.safeString(transaction, 'chain')),
1942
+ 'network': this.networkIdToCode(this.safeString(transaction, 'chain'), code),
1942
1943
  'amount': this.safeNumber(transaction, 'amount'),
1943
1944
  'status': status,
1944
1945
  'timestamp': timestamp,
@@ -2391,11 +2392,13 @@ class arkham extends arkham$1["default"] {
2391
2392
  const marketId = this.safeString(info, 'market');
2392
2393
  market = this.safeMarket(marketId, market, undefined, 'swap');
2393
2394
  const maxNotional = this.safeNumber(tier, 'positionLimit');
2395
+ const curr = market['linear'] ? market['base'] : market['quote'];
2396
+ const notional = minNotional;
2394
2397
  tiers.push({
2395
2398
  'tier': this.sum(i, 1),
2396
2399
  'symbol': this.safeSymbol(marketId, market, undefined, 'swap'),
2397
- 'currency': market['linear'] ? market['base'] : market['quote'],
2398
- 'minNotional': minNotional,
2400
+ 'currency': curr,
2401
+ 'minNotional': notional,
2399
2402
  'maxNotional': maxNotional,
2400
2403
  'maintenanceMarginRate': this.safeNumber(tier, 'marginRate'),
2401
2404
  'maxLeverage': this.safeInteger(tier, 'leverageRate'),
@@ -538,7 +538,7 @@ class ascendex extends ascendex$1["default"] {
538
538
  for (let j = 0; j < chains.length; j++) {
539
539
  const networkEtnry = chains[j];
540
540
  const networkId = this.safeString(networkEtnry, 'chainName');
541
- const networkCode = this.networkCodeToId(networkId);
541
+ const networkCode = this.networkCodeToId(networkId, code);
542
542
  networks[networkCode] = {
543
543
  'fee': this.safeNumber(networkEtnry, 'withdrawFee'),
544
544
  'active': undefined,
@@ -907,12 +907,14 @@ class ascendex extends ascendex$1["default"] {
907
907
  accountGroup = this.safeString(data, 'accountGroup');
908
908
  this.options['account-group'] = accountGroup;
909
909
  }
910
+ const finalResponse = response; // java req
911
+ const finalAccountGroup = accountGroup;
910
912
  return [
911
913
  {
912
- 'id': accountGroup,
914
+ 'id': finalAccountGroup,
913
915
  'type': undefined,
914
916
  'code': undefined,
915
- 'info': response,
917
+ 'info': finalResponse,
916
918
  },
917
919
  ];
918
920
  }
@@ -2596,7 +2598,7 @@ class ascendex extends ascendex$1["default"] {
2596
2598
  await this.loadMarkets();
2597
2599
  const currency = this.currency(code);
2598
2600
  const networkCode = this.safeString2(params, 'network', 'chainName');
2599
- const networkId = this.networkCodeToId(networkCode);
2601
+ const networkId = this.networkCodeToId(networkCode, currency['code']);
2600
2602
  params = this.omit(params, ['chainName']);
2601
2603
  const request = {
2602
2604
  'asset': currency['id'],
@@ -3046,8 +3048,9 @@ class ascendex extends ascendex$1["default"] {
3046
3048
  if (type === 'reduce') {
3047
3049
  amount = Precise["default"].stringAbs(amount);
3048
3050
  }
3051
+ const parsedAmount = this.parseNumber(amount);
3049
3052
  return this.extend(this.parseMarginModification(response, market), {
3050
- 'amount': this.parseNumber(amount),
3053
+ 'amount': parsedAmount,
3051
3054
  'type': type,
3052
3055
  });
3053
3056
  }
@@ -2117,8 +2117,10 @@ class aster extends aster$1["default"] {
2117
2117
  // }
2118
2118
  //
2119
2119
  const info = order;
2120
+ const positionSide = this.safeString(order, 'positionSide');
2121
+ const defaultType = (positionSide !== undefined) ? 'swap' : 'spot';
2120
2122
  const marketId = this.safeString(order, 'symbol');
2121
- market = this.safeMarket(marketId, market);
2123
+ market = this.safeMarket(marketId, market, undefined, defaultType);
2122
2124
  const side = this.safeStringLower(order, 'side');
2123
2125
  const timestamp = this.safeInteger(order, 'time');
2124
2126
  const statusId = this.safeStringUpper(order, 'status');
@@ -3062,7 +3064,7 @@ class aster extends aster$1["default"] {
3062
3064
  // }
3063
3065
  //
3064
3066
  const marketId = this.safeString(marginMode, 'symbol');
3065
- market = this.safeMarket(marketId, market);
3067
+ market = this.safeMarket(marketId, market, undefined, 'swap');
3066
3068
  return {
3067
3069
  'info': marginMode,
3068
3070
  'symbol': market['symbol'],
@@ -4117,7 +4119,8 @@ class aster extends aster$1["default"] {
4117
4119
  // Sign using EIP-712 typed data per the AsterSignTransaction spec
4118
4120
  const zeroAddress = this.safeString(this.options, 'zeroAddress', '0x0000000000000000000000000000000000000000');
4119
4121
  const v3ChainId = this.safeInteger(this.options, 'v3ChainId', 1666);
4120
- const signerAddress = this.safeString(this.options, 'signerAddress');
4122
+ const walletAddress = this.ethGetAddressFromPrivateKey(this.privateKey);
4123
+ const signerAddress = this.safeString(this.options, 'signerAddress', walletAddress); // default to user's wallet
4121
4124
  if (signerAddress === undefined) {
4122
4125
  throw new errors.ArgumentsRequired(this.id + ' requires signerAddress in options when use v3 api');
4123
4126
  }
@@ -4136,7 +4139,7 @@ class aster extends aster$1["default"] {
4136
4139
  // Note: timestamp and recvWindow are not used for v3; nonce replaces timestamp
4137
4140
  const finalParams = this.extend({
4138
4141
  'nonce': nonce.toString(),
4139
- 'user': this.walletAddress,
4142
+ 'user': walletAddress,
4140
4143
  'signer': signerAddress,
4141
4144
  }, params);
4142
4145
  let paramString = undefined;
@@ -542,7 +542,7 @@ class backpack extends backpack$1["default"] {
542
542
  const network = networks[j];
543
543
  const networkId = this.safeString(network, 'blockchain');
544
544
  const networkIdLowerCase = this.safeStringLower(network, 'blockchain');
545
- const networkCode = this.networkIdToCode(networkIdLowerCase);
545
+ const networkCode = this.networkIdToCode(networkIdLowerCase, code);
546
546
  parsedNetworks[networkCode] = {
547
547
  'id': networkId,
548
548
  'network': networkCode,
@@ -1454,7 +1454,7 @@ class backpack extends backpack$1["default"] {
1454
1454
  request['clientId'] = tag; // memo or tag
1455
1455
  }
1456
1456
  const [networkCode, query] = this.handleNetworkCodeAndParams(params);
1457
- const networkId = this.networkCodeToId(networkCode);
1457
+ const networkId = this.networkCodeToId(networkCode, currency['code']);
1458
1458
  if (networkId === undefined) {
1459
1459
  throw new errors.BadRequest(this.id + ' withdraw() requires a network parameter');
1460
1460
  }
@@ -1543,7 +1543,7 @@ class backpack extends backpack$1["default"] {
1543
1543
  const timestamp = this.parse8601(this.safeString(transaction, 'createdAt'));
1544
1544
  const amount = this.safeNumber(transaction, 'quantity');
1545
1545
  const networkId = this.safeStringLower2(transaction, 'source', 'blockchain');
1546
- const network = this.networkIdToCode(networkId);
1546
+ const network = this.networkIdToCode(networkId, code);
1547
1547
  const addressTo = this.safeString(transaction, 'toAddress');
1548
1548
  const addressFrom = this.safeString(transaction, 'fromAddress');
1549
1549
  const tag = this.safeString(transaction, 'platformMemo');
@@ -1611,7 +1611,7 @@ class backpack extends backpack$1["default"] {
1611
1611
  }
1612
1612
  const currency = this.currency(code);
1613
1613
  const request = {
1614
- 'blockchain': this.networkCodeToId(networkCode),
1614
+ 'blockchain': this.networkCodeToId(networkCode, currency['code']),
1615
1615
  };
1616
1616
  const response = await this.privateGetWapiV1CapitalDepositAddress(this.extend(request, params));
1617
1617
  return this.parseDepositAddress(response, currency);