ccxt 4.5.42 → 4.5.44

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 (1018) hide show
  1. package/README.md +20 -5
  2. package/dist/ccxt.browser.min.js +8 -8
  3. package/dist/cjs/ccxt.js +11 -1
  4. package/dist/cjs/src/abstract/aftermath.js +11 -0
  5. package/dist/cjs/src/abstract/alp.js +1 -1
  6. package/dist/cjs/src/abstract/alpaca.js +1 -1
  7. package/dist/cjs/src/abstract/apex.js +1 -1
  8. package/dist/cjs/src/abstract/arkham.js +1 -1
  9. package/dist/cjs/src/abstract/ascendex.js +1 -1
  10. package/dist/cjs/src/abstract/aster.js +1 -1
  11. package/dist/cjs/src/abstract/backpack.js +1 -1
  12. package/dist/cjs/src/abstract/bigone.js +1 -1
  13. package/dist/cjs/src/abstract/binance.js +1 -1
  14. package/dist/cjs/src/abstract/bingx.js +1 -1
  15. package/dist/cjs/src/abstract/bit2c.js +1 -1
  16. package/dist/cjs/src/abstract/bitbank.js +1 -1
  17. package/dist/cjs/src/abstract/bitbns.js +1 -1
  18. package/dist/cjs/src/abstract/bitfinex.js +1 -1
  19. package/dist/cjs/src/abstract/bitflyer.js +1 -1
  20. package/dist/cjs/src/abstract/bitget.js +1 -1
  21. package/dist/cjs/src/abstract/bithumb.js +1 -1
  22. package/dist/cjs/src/abstract/bitmart.js +1 -1
  23. package/dist/cjs/src/abstract/bitmex.js +1 -1
  24. package/dist/cjs/src/abstract/bitopro.js +1 -1
  25. package/dist/cjs/src/abstract/bitrue.js +1 -1
  26. package/dist/cjs/src/abstract/bitso.js +1 -1
  27. package/dist/cjs/src/abstract/bitstamp.js +1 -1
  28. package/dist/cjs/src/abstract/bitteam.js +1 -1
  29. package/dist/cjs/src/abstract/bittrade.js +1 -1
  30. package/dist/cjs/src/abstract/bitvavo.js +1 -1
  31. package/dist/cjs/src/abstract/blockchaincom.js +1 -1
  32. package/dist/cjs/src/abstract/blofin.js +1 -1
  33. package/dist/cjs/src/abstract/btcbox.js +1 -1
  34. package/dist/cjs/src/abstract/btcmarkets.js +1 -1
  35. package/dist/cjs/src/abstract/btcturk.js +1 -1
  36. package/dist/cjs/src/abstract/bullish.js +1 -1
  37. package/dist/cjs/src/abstract/bybit.js +1 -1
  38. package/dist/cjs/src/abstract/bydfi.js +1 -1
  39. package/dist/cjs/src/abstract/cex.js +1 -1
  40. package/dist/cjs/src/abstract/coinbase.js +1 -1
  41. package/dist/cjs/src/abstract/coinbaseexchange.js +1 -1
  42. package/dist/cjs/src/abstract/coinbaseinternational.js +1 -1
  43. package/dist/cjs/src/abstract/coincatch.js +1 -1
  44. package/dist/cjs/src/abstract/coincheck.js +1 -1
  45. package/dist/cjs/src/abstract/coinex.js +1 -1
  46. package/dist/cjs/src/abstract/coinmate.js +1 -1
  47. package/dist/cjs/src/abstract/coinmetro.js +1 -1
  48. package/dist/cjs/src/abstract/coinone.js +1 -1
  49. package/dist/cjs/src/abstract/coinsph.js +1 -1
  50. package/dist/cjs/src/abstract/coinspot.js +1 -1
  51. package/dist/cjs/src/abstract/cryptocom.js +1 -1
  52. package/dist/cjs/src/abstract/cryptomus.js +1 -1
  53. package/dist/cjs/src/abstract/deepcoin.js +1 -1
  54. package/dist/cjs/src/abstract/defx.js +1 -1
  55. package/dist/cjs/src/abstract/delta.js +1 -1
  56. package/dist/cjs/src/abstract/deribit.js +1 -1
  57. package/dist/cjs/src/abstract/derive.js +1 -1
  58. package/dist/cjs/src/abstract/digifinex.js +1 -1
  59. package/dist/cjs/src/abstract/dydx.js +1 -1
  60. package/dist/cjs/src/abstract/exmo.js +1 -1
  61. package/dist/cjs/src/abstract/foxbit.js +1 -1
  62. package/dist/cjs/src/abstract/gate.js +1 -1
  63. package/dist/cjs/src/abstract/gemini.js +1 -1
  64. package/dist/cjs/src/abstract/grvt.js +11 -0
  65. package/dist/cjs/src/abstract/hashkey.js +1 -1
  66. package/dist/cjs/src/abstract/hibachi.js +1 -1
  67. package/dist/cjs/src/abstract/hitbtc.js +1 -1
  68. package/dist/cjs/src/abstract/hollaex.js +1 -1
  69. package/dist/cjs/src/abstract/htx.js +1 -1
  70. package/dist/cjs/src/abstract/hyperliquid.js +1 -1
  71. package/dist/cjs/src/abstract/independentreserve.js +1 -1
  72. package/dist/cjs/src/abstract/indodax.js +1 -1
  73. package/dist/cjs/src/abstract/kraken.js +1 -1
  74. package/dist/cjs/src/abstract/krakenfutures.js +1 -1
  75. package/dist/cjs/src/abstract/kucoin.js +1 -1
  76. package/dist/cjs/src/abstract/kucoinfutures.js +1 -1
  77. package/dist/cjs/src/abstract/latoken.js +1 -1
  78. package/dist/cjs/src/abstract/lbank.js +1 -1
  79. package/dist/cjs/src/abstract/lighter.js +1 -1
  80. package/dist/cjs/src/abstract/luno.js +1 -1
  81. package/dist/cjs/src/abstract/mercado.js +1 -1
  82. package/dist/cjs/src/abstract/mexc.js +1 -1
  83. package/dist/cjs/src/abstract/modetrade.js +1 -1
  84. package/dist/cjs/src/abstract/ndax.js +1 -1
  85. package/dist/cjs/src/abstract/novadax.js +1 -1
  86. package/dist/cjs/src/abstract/okx.js +1 -1
  87. package/dist/cjs/src/abstract/onetrading.js +1 -1
  88. package/dist/cjs/src/abstract/oxfun.js +1 -1
  89. package/dist/cjs/src/abstract/p2b.js +1 -1
  90. package/dist/cjs/src/abstract/paradex.js +1 -1
  91. package/dist/cjs/src/abstract/paymium.js +1 -1
  92. package/dist/cjs/src/abstract/phemex.js +1 -1
  93. package/dist/cjs/src/abstract/poloniex.js +1 -1
  94. package/dist/cjs/src/abstract/timex.js +1 -1
  95. package/dist/cjs/src/abstract/tokocrypto.js +1 -1
  96. package/dist/cjs/src/abstract/toobit.js +1 -1
  97. package/dist/cjs/src/abstract/upbit.js +1 -1
  98. package/dist/cjs/src/abstract/wavesexchange.js +1 -1
  99. package/dist/cjs/src/abstract/whitebit.js +1 -1
  100. package/dist/cjs/src/abstract/woo.js +1 -1
  101. package/dist/cjs/src/abstract/woofipro.js +1 -1
  102. package/dist/cjs/src/abstract/xt.js +1 -1
  103. package/dist/cjs/src/abstract/yobit.js +1 -1
  104. package/dist/cjs/src/abstract/zaif.js +1 -1
  105. package/dist/cjs/src/abstract/zebpay.js +1 -1
  106. package/dist/cjs/src/abstract/zonda.js +1 -1
  107. package/dist/cjs/src/aftermath.js +1323 -0
  108. package/dist/cjs/src/alp.js +1 -1
  109. package/dist/cjs/src/alpaca.js +1 -1
  110. package/dist/cjs/src/apex.js +1 -1
  111. package/dist/cjs/src/arkham.js +1 -1
  112. package/dist/cjs/src/ascendex.js +1 -1
  113. package/dist/cjs/src/aster.js +1 -1
  114. package/dist/cjs/src/backpack.js +1 -1
  115. package/dist/cjs/src/base/Exchange.js +5 -1
  116. package/dist/cjs/src/base/Precise.js +0 -6
  117. package/dist/cjs/src/base/errors.js +0 -6
  118. package/dist/cjs/src/base/functions/crypto.js +1 -1
  119. package/dist/cjs/src/base/functions/encode.js +1 -1
  120. package/dist/cjs/src/base/functions/io.js +1 -1
  121. package/dist/cjs/src/base/functions/misc.js +0 -1
  122. package/dist/cjs/src/base/functions/number.js +0 -6
  123. package/dist/cjs/src/base/functions/platform.js +0 -6
  124. package/dist/cjs/src/base/functions/rsa.js +0 -1
  125. package/dist/cjs/src/base/functions/string.js +0 -6
  126. package/dist/cjs/src/base/functions/throttle.js +1 -1
  127. package/dist/cjs/src/base/functions/time.js +0 -6
  128. package/dist/cjs/src/base/functions/totp.js +0 -1
  129. package/dist/cjs/src/base/functions/type.js +0 -6
  130. package/dist/cjs/src/base/functions.js +1 -1
  131. package/dist/cjs/src/base/ws/Cache.js +0 -6
  132. package/dist/cjs/src/base/ws/Client.js +0 -1
  133. package/dist/cjs/src/base/ws/Future.js +1 -1
  134. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  135. package/dist/cjs/src/base/ws/OrderBookSide.js +0 -6
  136. package/dist/cjs/src/base/ws/WsClient.js +1 -1
  137. package/dist/cjs/src/bequant.js +1 -1
  138. package/dist/cjs/src/bigone.js +4 -1
  139. package/dist/cjs/src/binance.js +53 -3
  140. package/dist/cjs/src/binancecoinm.js +1 -1
  141. package/dist/cjs/src/binanceus.js +1 -1
  142. package/dist/cjs/src/binanceusdm.js +1 -1
  143. package/dist/cjs/src/bingx.js +2 -1
  144. package/dist/cjs/src/bit2c.js +1 -1
  145. package/dist/cjs/src/bitbank.js +1 -1
  146. package/dist/cjs/src/bitbns.js +1 -1
  147. package/dist/cjs/src/bitfinex.js +1 -1
  148. package/dist/cjs/src/bitflyer.js +1 -1
  149. package/dist/cjs/src/bitget.js +89 -38
  150. package/dist/cjs/src/bithumb.js +1 -9
  151. package/dist/cjs/src/bitmart.js +1 -1
  152. package/dist/cjs/src/bitmex.js +1 -1
  153. package/dist/cjs/src/bitopro.js +1 -1
  154. package/dist/cjs/src/bitrue.js +1 -1
  155. package/dist/cjs/src/bitso.js +1 -1
  156. package/dist/cjs/src/bitstamp.js +1 -1
  157. package/dist/cjs/src/bitteam.js +1 -1
  158. package/dist/cjs/src/bittrade.js +1 -1
  159. package/dist/cjs/src/bitvavo.js +1 -0
  160. package/dist/cjs/src/blockchaincom.js +1 -1
  161. package/dist/cjs/src/blofin.js +1 -1
  162. package/dist/cjs/src/btcbox.js +1 -1
  163. package/dist/cjs/src/btcmarkets.js +1 -1
  164. package/dist/cjs/src/btcturk.js +1 -1
  165. package/dist/cjs/src/bullish.js +110 -1
  166. package/dist/cjs/src/bybit.js +2 -1
  167. package/dist/cjs/src/bydfi.js +1 -1
  168. package/dist/cjs/src/cex.js +1 -1
  169. package/dist/cjs/src/coinbaseadvanced.js +1 -1
  170. package/dist/cjs/src/coinbaseinternational.js +1 -0
  171. package/dist/cjs/src/coincatch.js +4 -16
  172. package/dist/cjs/src/coincheck.js +1 -1
  173. package/dist/cjs/src/coinex.js +2 -1
  174. package/dist/cjs/src/coinmate.js +1 -1
  175. package/dist/cjs/src/coinmetro.js +2 -2
  176. package/dist/cjs/src/coinone.js +1 -1
  177. package/dist/cjs/src/coinsph.js +0 -1
  178. package/dist/cjs/src/coinspot.js +1 -1
  179. package/dist/cjs/src/cryptocom.js +1 -1
  180. package/dist/cjs/src/cryptomus.js +1 -1
  181. package/dist/cjs/src/deepcoin.js +2 -2
  182. package/dist/cjs/src/defx.js +1 -1
  183. package/dist/cjs/src/delta.js +1 -1
  184. package/dist/cjs/src/deribit.js +2 -2
  185. package/dist/cjs/src/derive.js +1 -1
  186. package/dist/cjs/src/digifinex.js +1 -1
  187. package/dist/cjs/src/dydx.js +1 -1
  188. package/dist/cjs/src/exmo.js +1 -1
  189. package/dist/cjs/src/fmfwio.js +1 -1
  190. package/dist/cjs/src/foxbit.js +1 -1
  191. package/dist/cjs/src/gate.js +18 -5
  192. package/dist/cjs/src/gateio.js +1 -1
  193. package/dist/cjs/src/gemini.js +2 -1
  194. package/dist/cjs/src/grvt.js +3279 -0
  195. package/dist/cjs/src/hashkey.js +1 -1
  196. package/dist/cjs/src/hibachi.js +1 -1
  197. package/dist/cjs/src/hitbtc.js +1 -1
  198. package/dist/cjs/src/hollaex.js +1 -1
  199. package/dist/cjs/src/htx.js +3 -2
  200. package/dist/cjs/src/huobi.js +1 -1
  201. package/dist/cjs/src/hyperliquid.js +56 -10
  202. package/dist/cjs/src/independentreserve.js +16 -5
  203. package/dist/cjs/src/indodax.js +1 -1
  204. package/dist/cjs/src/kraken.js +2 -1
  205. package/dist/cjs/src/krakenfutures.js +8 -11
  206. package/dist/cjs/src/kucoin.js +22 -4
  207. package/dist/cjs/src/kucoinfutures.js +1 -1
  208. package/dist/cjs/src/latoken.js +1 -1
  209. package/dist/cjs/src/lbank.js +2 -2
  210. package/dist/cjs/src/lighter.js +84 -7
  211. package/dist/cjs/src/luno.js +2 -1
  212. package/dist/cjs/src/mercado.js +1 -1
  213. package/dist/cjs/src/mexc.js +1 -1
  214. package/dist/cjs/src/modetrade.js +1 -1
  215. package/dist/cjs/src/myokx.js +1 -1
  216. package/dist/cjs/src/ndax.js +1 -1
  217. package/dist/cjs/src/novadax.js +1 -1
  218. package/dist/cjs/src/okx.js +18 -3
  219. package/dist/cjs/src/okxus.js +1 -1
  220. package/dist/cjs/src/onetrading.js +1 -1
  221. package/dist/cjs/src/oxfun.js +1 -1
  222. package/dist/cjs/src/p2b.js +1 -1
  223. package/dist/cjs/src/paradex.js +1 -1
  224. package/dist/cjs/src/paymium.js +1 -1
  225. package/dist/cjs/src/poloniex.js +1 -1
  226. package/dist/cjs/src/pro/aftermath.js +375 -0
  227. package/dist/cjs/src/pro/alpaca.js +1 -1
  228. package/dist/cjs/src/pro/apex.js +1 -1
  229. package/dist/cjs/src/pro/arkham.js +1 -1
  230. package/dist/cjs/src/pro/ascendex.js +1 -1
  231. package/dist/cjs/src/pro/aster.js +1 -1
  232. package/dist/cjs/src/pro/backpack.js +1 -1
  233. package/dist/cjs/src/pro/bequant.js +1 -1
  234. package/dist/cjs/src/pro/binance.js +35 -14
  235. package/dist/cjs/src/pro/binancecoinm.js +1 -1
  236. package/dist/cjs/src/pro/binanceus.js +1 -1
  237. package/dist/cjs/src/pro/binanceusdm.js +1 -1
  238. package/dist/cjs/src/pro/bingx.js +6 -2
  239. package/dist/cjs/src/pro/bitfinex.js +1 -1
  240. package/dist/cjs/src/pro/bitget.js +1 -1
  241. package/dist/cjs/src/pro/bithumb.js +1 -1
  242. package/dist/cjs/src/pro/bitmart.js +1 -1
  243. package/dist/cjs/src/pro/bitmex.js +1 -1
  244. package/dist/cjs/src/pro/bitrue.js +1 -1
  245. package/dist/cjs/src/pro/bitstamp.js +1 -1
  246. package/dist/cjs/src/pro/bitvavo.js +1 -1
  247. package/dist/cjs/src/pro/blockchaincom.js +1 -1
  248. package/dist/cjs/src/pro/blofin.js +1 -1
  249. package/dist/cjs/src/pro/bullish.js +1 -1
  250. package/dist/cjs/src/pro/bybit.js +1 -1
  251. package/dist/cjs/src/pro/bydfi.js +1 -1
  252. package/dist/cjs/src/pro/cex.js +25 -29
  253. package/dist/cjs/src/pro/coinbase.js +1 -1
  254. package/dist/cjs/src/pro/coinbaseadvanced.js +1 -1
  255. package/dist/cjs/src/pro/coinbaseexchange.js +30 -25
  256. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  257. package/dist/cjs/src/pro/coincatch.js +1 -1
  258. package/dist/cjs/src/pro/coincheck.js +1 -1
  259. package/dist/cjs/src/pro/coinex.js +1 -1
  260. package/dist/cjs/src/pro/coinone.js +1 -1
  261. package/dist/cjs/src/pro/cryptocom.js +1 -1
  262. package/dist/cjs/src/pro/deepcoin.js +1 -1
  263. package/dist/cjs/src/pro/defx.js +1 -1
  264. package/dist/cjs/src/pro/deribit.js +1 -1
  265. package/dist/cjs/src/pro/dydx.js +1 -1
  266. package/dist/cjs/src/pro/exmo.js +1 -1
  267. package/dist/cjs/src/pro/gate.js +1 -1
  268. package/dist/cjs/src/pro/gateio.js +1 -1
  269. package/dist/cjs/src/pro/gemini.js +1 -1
  270. package/dist/cjs/src/pro/grvt.js +923 -0
  271. package/dist/cjs/src/pro/hashkey.js +1 -1
  272. package/dist/cjs/src/pro/hitbtc.js +1 -1
  273. package/dist/cjs/src/pro/hollaex.js +1 -1
  274. package/dist/cjs/src/pro/htx.js +1 -1
  275. package/dist/cjs/src/pro/huobi.js +1 -1
  276. package/dist/cjs/src/pro/hyperliquid.js +1 -1
  277. package/dist/cjs/src/pro/independentreserve.js +1 -1
  278. package/dist/cjs/src/pro/kraken.js +1 -1
  279. package/dist/cjs/src/pro/krakenfutures.js +10 -4
  280. package/dist/cjs/src/pro/kucoin.js +1 -1
  281. package/dist/cjs/src/pro/kucoinfutures.js +1 -1
  282. package/dist/cjs/src/pro/lbank.js +0 -1
  283. package/dist/cjs/src/pro/lighter.js +128 -5
  284. package/dist/cjs/src/pro/luno.js +1 -1
  285. package/dist/cjs/src/pro/mexc.js +8 -2
  286. package/dist/cjs/src/pro/myokx.js +1 -1
  287. package/dist/cjs/src/pro/ndax.js +1 -1
  288. package/dist/cjs/src/pro/okx.js +1 -1
  289. package/dist/cjs/src/pro/okxus.js +1 -1
  290. package/dist/cjs/src/pro/onetrading.js +1 -1
  291. package/dist/cjs/src/pro/oxfun.js +1 -1
  292. package/dist/cjs/src/pro/p2b.js +1 -1
  293. package/dist/cjs/src/pro/paradex.js +4 -4
  294. package/dist/cjs/src/pro/phemex.js +1 -1
  295. package/dist/cjs/src/pro/poloniex.js +1 -1
  296. package/dist/cjs/src/pro/toobit.js +1 -1
  297. package/dist/cjs/src/pro/upbit.js +1 -1
  298. package/dist/cjs/src/pro/whitebit.js +1 -1
  299. package/dist/cjs/src/pro/woo.js +3 -8
  300. package/dist/cjs/src/pro/xt.js +1 -1
  301. package/dist/cjs/src/protobuf/mexc/compiled.cjs.js +1 -0
  302. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +0 -1
  303. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +0 -1
  304. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +0 -1
  305. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +0 -1
  306. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +0 -1
  307. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +0 -1
  308. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +0 -1
  309. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +0 -1
  310. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +0 -1
  311. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +0 -1
  312. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +0 -1
  313. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +0 -1
  314. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +0 -1
  315. package/dist/cjs/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +0 -1
  316. package/dist/cjs/src/static_dependencies/dydx-v4-client/helpers.js +0 -6
  317. package/dist/cjs/src/static_dependencies/dydx-v4-client/onboarding.js +0 -1
  318. package/dist/cjs/src/static_dependencies/dydx-v4-client/registry.js +0 -1
  319. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +0 -6
  320. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -1
  321. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +0 -6
  322. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +0 -1
  323. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +0 -1
  324. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +0 -1
  325. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +0 -1
  326. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +0 -1
  327. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -1
  328. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +0 -1
  329. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +0 -1
  330. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +0 -1
  331. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +0 -1
  332. package/dist/cjs/src/static_dependencies/ethers/fragments.js +0 -6
  333. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +0 -6
  334. package/dist/cjs/src/static_dependencies/ethers/index.js +10 -1
  335. package/dist/cjs/src/static_dependencies/ethers/interface.js +0 -6
  336. package/dist/cjs/src/static_dependencies/ethers/typed.js +0 -6
  337. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +13 -1
  338. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +6 -1
  339. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +9 -1
  340. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +0 -6
  341. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +0 -6
  342. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +7 -1
  343. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +5 -1
  344. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +0 -6
  345. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +8 -1
  346. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  347. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -1
  348. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -1
  349. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  350. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -6
  351. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -6
  352. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -6
  353. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -1
  354. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  355. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -6
  356. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  357. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  358. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -6
  359. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  360. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -6
  361. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +0 -6
  362. package/dist/cjs/src/static_dependencies/noble-curves/_shortw_utils.js +1 -1
  363. package/dist/cjs/src/static_dependencies/noble-curves/abstract/curve.js +1 -1
  364. package/dist/cjs/src/static_dependencies/noble-curves/abstract/edwards.js +1 -1
  365. package/dist/cjs/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -1
  366. package/dist/cjs/src/static_dependencies/noble-curves/abstract/modular.js +1 -1
  367. package/dist/cjs/src/static_dependencies/noble-curves/abstract/montgomery.js +1 -1
  368. package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +1 -1
  369. package/dist/cjs/src/static_dependencies/noble-curves/abstract/utils.js +0 -6
  370. package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
  371. package/dist/cjs/src/static_dependencies/noble-curves/ed25519.js +1 -1
  372. package/dist/cjs/src/static_dependencies/noble-curves/p256.js +1 -1
  373. package/dist/cjs/src/static_dependencies/noble-curves/secp256k1.js +1 -1
  374. package/dist/cjs/src/static_dependencies/noble-hashes/_assert.js +0 -6
  375. package/dist/cjs/src/static_dependencies/noble-hashes/_sha2.js +0 -1
  376. package/dist/cjs/src/static_dependencies/noble-hashes/_u64.js +0 -6
  377. package/dist/cjs/src/static_dependencies/noble-hashes/crypto.js +0 -6
  378. package/dist/cjs/src/static_dependencies/noble-hashes/hmac.js +0 -1
  379. package/dist/cjs/src/static_dependencies/noble-hashes/md5.js +0 -1
  380. package/dist/cjs/src/static_dependencies/noble-hashes/pbkdf2.js +0 -1
  381. package/dist/cjs/src/static_dependencies/noble-hashes/ripemd160.js +0 -1
  382. package/dist/cjs/src/static_dependencies/noble-hashes/sha1.js +0 -1
  383. package/dist/cjs/src/static_dependencies/noble-hashes/sha256.js +0 -1
  384. package/dist/cjs/src/static_dependencies/noble-hashes/sha3.js +0 -1
  385. package/dist/cjs/src/static_dependencies/noble-hashes/sha512.js +0 -1
  386. package/dist/cjs/src/static_dependencies/noble-hashes/utils.js +1 -1
  387. package/dist/cjs/src/static_dependencies/node-fetch/body.js +5 -1
  388. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +0 -1
  389. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +0 -6
  390. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -1
  391. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +5 -1
  392. package/dist/cjs/src/static_dependencies/node-fetch/index.js +7 -1
  393. package/dist/cjs/src/static_dependencies/node-fetch/request.js +7 -1
  394. package/dist/cjs/src/static_dependencies/node-fetch/response.js +5 -1
  395. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
  396. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
  397. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +0 -6
  398. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +0 -1
  399. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +0 -1
  400. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -1
  401. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -1
  402. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
  403. package/dist/cjs/src/static_dependencies/qs/formats.js +0 -6
  404. package/dist/cjs/src/static_dependencies/qs/index.js +0 -1
  405. package/dist/cjs/src/static_dependencies/qs/parse.js +0 -1
  406. package/dist/cjs/src/static_dependencies/qs/stringify.js +0 -1
  407. package/dist/cjs/src/static_dependencies/qs/utils.js +0 -6
  408. package/dist/cjs/src/static_dependencies/scure-base/index.js +0 -6
  409. package/dist/cjs/src/static_dependencies/scure-bip32/index.js +19 -1
  410. package/dist/cjs/src/static_dependencies/scure-bip39/index.js +1 -1
  411. package/dist/cjs/src/static_dependencies/scure-bip39/wordlists/english.js +0 -6
  412. package/dist/cjs/src/static_dependencies/scure-starknet/index.js +1 -1
  413. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  414. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +0 -6
  415. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
  416. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
  417. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +0 -6
  418. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +0 -6
  419. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +0 -6
  420. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  421. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +1 -1
  422. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +1 -1
  423. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +0 -1
  424. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -1
  425. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
  426. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
  427. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
  428. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -1
  429. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  430. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -1
  431. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -1
  432. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
  433. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -1
  434. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -1
  435. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -1
  436. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  437. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +4 -1
  438. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +0 -1
  439. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +3 -1
  440. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +0 -1
  441. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +0 -1
  442. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +0 -1
  443. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +0 -1
  444. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  445. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +0 -6
  446. package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +0 -6
  447. package/dist/cjs/src/timex.js +0 -1
  448. package/dist/cjs/src/tokocrypto.js +1 -1
  449. package/dist/cjs/src/toobit.js +2 -1
  450. package/dist/cjs/src/upbit.js +1 -1
  451. package/dist/cjs/src/wavesexchange.js +1 -1
  452. package/dist/cjs/src/whitebit.js +63 -2
  453. package/dist/cjs/src/woo.js +1 -1
  454. package/dist/cjs/src/woofipro.js +1 -1
  455. package/dist/cjs/src/xt.js +1 -1
  456. package/dist/cjs/src/yobit.js +1 -1
  457. package/dist/cjs/src/zaif.js +1 -1
  458. package/dist/cjs/src/zebpay.js +1 -1
  459. package/dist/cjs/src/zonda.js +1 -1
  460. package/js/ccxt.d.ts +14 -2
  461. package/js/ccxt.js +10 -8
  462. package/js/src/abstract/aftermath.d.ts +33 -0
  463. package/js/src/abstract/aftermath.js +5 -0
  464. package/js/src/abstract/alp.js +0 -6
  465. package/js/src/abstract/alpaca.js +0 -6
  466. package/js/src/abstract/apex.js +0 -6
  467. package/js/src/abstract/arkham.js +0 -6
  468. package/js/src/abstract/ascendex.js +0 -6
  469. package/js/src/abstract/aster.js +0 -6
  470. package/js/src/abstract/backpack.js +0 -6
  471. package/js/src/abstract/bequant.js +0 -6
  472. package/js/src/abstract/bigone.js +0 -6
  473. package/js/src/abstract/binance.js +0 -6
  474. package/js/src/abstract/binancecoinm.js +0 -6
  475. package/js/src/abstract/binanceus.js +0 -6
  476. package/js/src/abstract/binanceusdm.js +0 -6
  477. package/js/src/abstract/bingx.js +0 -6
  478. package/js/src/abstract/bit2c.js +0 -6
  479. package/js/src/abstract/bitbank.js +0 -6
  480. package/js/src/abstract/bitbns.js +0 -6
  481. package/js/src/abstract/bitfinex.js +0 -6
  482. package/js/src/abstract/bitflyer.js +0 -6
  483. package/js/src/abstract/bitget.js +0 -6
  484. package/js/src/abstract/bithumb.js +0 -6
  485. package/js/src/abstract/bitmart.js +0 -6
  486. package/js/src/abstract/bitmex.js +0 -6
  487. package/js/src/abstract/bitopro.js +0 -6
  488. package/js/src/abstract/bitrue.js +0 -6
  489. package/js/src/abstract/bitso.js +0 -6
  490. package/js/src/abstract/bitstamp.js +0 -6
  491. package/js/src/abstract/bitteam.js +0 -6
  492. package/js/src/abstract/bittrade.js +0 -6
  493. package/js/src/abstract/bitvavo.js +0 -6
  494. package/js/src/abstract/blockchaincom.js +0 -6
  495. package/js/src/abstract/blofin.js +0 -6
  496. package/js/src/abstract/btcbox.js +0 -6
  497. package/js/src/abstract/btcmarkets.js +0 -6
  498. package/js/src/abstract/btcturk.js +0 -6
  499. package/js/src/abstract/bullish.js +0 -6
  500. package/js/src/abstract/bybit.js +0 -6
  501. package/js/src/abstract/bydfi.js +0 -6
  502. package/js/src/abstract/cex.js +0 -6
  503. package/js/src/abstract/coinbase.js +0 -6
  504. package/js/src/abstract/coinbaseadvanced.js +0 -6
  505. package/js/src/abstract/coinbaseexchange.js +0 -6
  506. package/js/src/abstract/coinbaseinternational.js +0 -6
  507. package/js/src/abstract/coincatch.js +0 -6
  508. package/js/src/abstract/coincheck.js +0 -6
  509. package/js/src/abstract/coinex.js +0 -6
  510. package/js/src/abstract/coinmate.js +0 -6
  511. package/js/src/abstract/coinmetro.js +0 -6
  512. package/js/src/abstract/coinone.js +0 -6
  513. package/js/src/abstract/coinsph.js +0 -6
  514. package/js/src/abstract/coinspot.js +0 -6
  515. package/js/src/abstract/cryptocom.js +0 -6
  516. package/js/src/abstract/cryptomus.js +0 -6
  517. package/js/src/abstract/deepcoin.js +0 -6
  518. package/js/src/abstract/defx.js +0 -6
  519. package/js/src/abstract/delta.js +0 -6
  520. package/js/src/abstract/deribit.js +0 -6
  521. package/js/src/abstract/derive.js +0 -6
  522. package/js/src/abstract/digifinex.js +0 -6
  523. package/js/src/abstract/dydx.js +0 -6
  524. package/js/src/abstract/exmo.js +0 -6
  525. package/js/src/abstract/fmfwio.js +0 -6
  526. package/js/src/abstract/foxbit.js +0 -6
  527. package/js/src/abstract/gate.js +0 -6
  528. package/js/src/abstract/gateio.js +0 -6
  529. package/js/src/abstract/gemini.js +0 -6
  530. package/js/src/abstract/grvt.d.ts +57 -0
  531. package/js/src/abstract/grvt.js +5 -0
  532. package/js/src/abstract/hashkey.js +0 -6
  533. package/js/src/abstract/hibachi.js +0 -6
  534. package/js/src/abstract/hitbtc.js +0 -6
  535. package/js/src/abstract/hollaex.js +0 -6
  536. package/js/src/abstract/htx.js +0 -6
  537. package/js/src/abstract/huobi.js +0 -6
  538. package/js/src/abstract/hyperliquid.js +0 -6
  539. package/js/src/abstract/independentreserve.js +0 -6
  540. package/js/src/abstract/indodax.js +0 -6
  541. package/js/src/abstract/kraken.js +0 -6
  542. package/js/src/abstract/krakenfutures.js +0 -6
  543. package/js/src/abstract/kucoin.js +0 -6
  544. package/js/src/abstract/kucoinfutures.js +0 -6
  545. package/js/src/abstract/latoken.js +0 -6
  546. package/js/src/abstract/lbank.js +0 -6
  547. package/js/src/abstract/lighter.js +0 -6
  548. package/js/src/abstract/luno.js +0 -6
  549. package/js/src/abstract/mercado.js +0 -6
  550. package/js/src/abstract/mexc.js +0 -6
  551. package/js/src/abstract/modetrade.js +0 -6
  552. package/js/src/abstract/myokx.js +0 -6
  553. package/js/src/abstract/ndax.js +0 -6
  554. package/js/src/abstract/novadax.js +0 -6
  555. package/js/src/abstract/okx.js +0 -6
  556. package/js/src/abstract/okxus.js +0 -6
  557. package/js/src/abstract/onetrading.js +0 -6
  558. package/js/src/abstract/oxfun.js +0 -6
  559. package/js/src/abstract/p2b.js +0 -6
  560. package/js/src/abstract/paradex.js +0 -6
  561. package/js/src/abstract/paymium.js +0 -6
  562. package/js/src/abstract/phemex.js +0 -6
  563. package/js/src/abstract/poloniex.js +0 -6
  564. package/js/src/abstract/timex.js +0 -6
  565. package/js/src/abstract/tokocrypto.js +0 -6
  566. package/js/src/abstract/toobit.js +0 -6
  567. package/js/src/abstract/upbit.js +0 -6
  568. package/js/src/abstract/wavesexchange.js +0 -6
  569. package/js/src/abstract/whitebit.d.ts +1 -0
  570. package/js/src/abstract/whitebit.js +0 -6
  571. package/js/src/abstract/woo.js +0 -6
  572. package/js/src/abstract/woofipro.js +0 -6
  573. package/js/src/abstract/xt.js +0 -6
  574. package/js/src/abstract/yobit.js +0 -6
  575. package/js/src/abstract/zaif.js +0 -6
  576. package/js/src/abstract/zebpay.js +0 -6
  577. package/js/src/abstract/zonda.js +0 -6
  578. package/js/src/aftermath.d.ts +291 -0
  579. package/js/src/aftermath.js +1316 -0
  580. package/js/src/alp.js +0 -6
  581. package/js/src/alpaca.js +0 -6
  582. package/js/src/apex.js +0 -6
  583. package/js/src/arkham.js +0 -6
  584. package/js/src/ascendex.js +0 -6
  585. package/js/src/aster.js +0 -6
  586. package/js/src/backpack.js +0 -6
  587. package/js/src/base/Exchange.d.ts +1 -0
  588. package/js/src/base/Exchange.js +5 -7
  589. package/js/src/base/Precise.js +0 -6
  590. package/js/src/base/errorHierarchy.js +0 -6
  591. package/js/src/base/errors.js +0 -6
  592. package/js/src/base/functions/crypto.js +0 -6
  593. package/js/src/base/functions/encode.js +0 -6
  594. package/js/src/base/functions/generic.js +0 -6
  595. package/js/src/base/functions/io.js +0 -6
  596. package/js/src/base/functions/misc.js +0 -6
  597. package/js/src/base/functions/number.js +0 -6
  598. package/js/src/base/functions/platform.js +0 -6
  599. package/js/src/base/functions/rsa.js +0 -6
  600. package/js/src/base/functions/string.js +0 -6
  601. package/js/src/base/functions/throttle.js +0 -6
  602. package/js/src/base/functions/time.js +0 -6
  603. package/js/src/base/functions/totp.js +0 -6
  604. package/js/src/base/functions/type.js +0 -6
  605. package/js/src/base/functions.js +0 -6
  606. package/js/src/base/types.js +0 -6
  607. package/js/src/base/ws/Cache.js +0 -6
  608. package/js/src/base/ws/Client.js +0 -6
  609. package/js/src/base/ws/Future.js +0 -6
  610. package/js/src/base/ws/OrderBook.js +0 -6
  611. package/js/src/base/ws/OrderBookSide.js +0 -6
  612. package/js/src/base/ws/WsClient.js +0 -6
  613. package/js/src/base/ws/functions.js +0 -6
  614. package/js/src/bequant.js +0 -6
  615. package/js/src/bigone.js +3 -6
  616. package/js/src/binance.js +52 -8
  617. package/js/src/binancecoinm.js +0 -6
  618. package/js/src/binanceus.js +0 -6
  619. package/js/src/binanceusdm.js +0 -6
  620. package/js/src/bingx.js +1 -6
  621. package/js/src/bit2c.js +0 -6
  622. package/js/src/bitbank.js +0 -6
  623. package/js/src/bitbns.js +0 -6
  624. package/js/src/bitfinex.js +0 -6
  625. package/js/src/bitflyer.js +0 -6
  626. package/js/src/bitget.js +88 -43
  627. package/js/src/bithumb.js +0 -14
  628. package/js/src/bitmart.js +0 -6
  629. package/js/src/bitmex.js +0 -6
  630. package/js/src/bitopro.js +0 -6
  631. package/js/src/bitrue.js +0 -6
  632. package/js/src/bitso.js +0 -6
  633. package/js/src/bitstamp.js +0 -6
  634. package/js/src/bitteam.js +0 -6
  635. package/js/src/bittrade.js +0 -6
  636. package/js/src/bitvavo.js +1 -6
  637. package/js/src/blockchaincom.js +0 -6
  638. package/js/src/blofin.js +0 -6
  639. package/js/src/btcbox.js +0 -6
  640. package/js/src/btcmarkets.js +0 -6
  641. package/js/src/btcturk.js +0 -6
  642. package/js/src/bullish.d.ts +12 -1
  643. package/js/src/bullish.js +109 -6
  644. package/js/src/bybit.js +1 -6
  645. package/js/src/bydfi.js +0 -6
  646. package/js/src/cex.js +0 -6
  647. package/js/src/coinbase.js +0 -6
  648. package/js/src/coinbaseadvanced.js +0 -6
  649. package/js/src/coinbaseexchange.js +0 -6
  650. package/js/src/coinbaseinternational.js +2 -7
  651. package/js/src/coincatch.js +3 -21
  652. package/js/src/coincheck.js +0 -6
  653. package/js/src/coinex.js +1 -6
  654. package/js/src/coinmate.js +0 -6
  655. package/js/src/coinmetro.js +1 -7
  656. package/js/src/coinone.js +0 -6
  657. package/js/src/coinsph.js +0 -6
  658. package/js/src/coinspot.js +0 -6
  659. package/js/src/cryptocom.js +0 -6
  660. package/js/src/cryptomus.js +0 -6
  661. package/js/src/deepcoin.js +1 -7
  662. package/js/src/defx.js +0 -6
  663. package/js/src/delta.js +0 -6
  664. package/js/src/deribit.js +1 -7
  665. package/js/src/derive.js +0 -6
  666. package/js/src/digifinex.js +0 -6
  667. package/js/src/dydx.js +0 -6
  668. package/js/src/exmo.js +0 -6
  669. package/js/src/fmfwio.js +0 -6
  670. package/js/src/foxbit.js +0 -6
  671. package/js/src/gate.js +17 -10
  672. package/js/src/gateio.js +0 -6
  673. package/js/src/gemini.js +1 -6
  674. package/js/src/grvt.d.ts +446 -0
  675. package/js/src/grvt.js +3272 -0
  676. package/js/src/hashkey.js +0 -6
  677. package/js/src/hibachi.js +0 -6
  678. package/js/src/hitbtc.js +1 -6
  679. package/js/src/hollaex.js +0 -6
  680. package/js/src/htx.js +2 -7
  681. package/js/src/huobi.js +0 -6
  682. package/js/src/hyperliquid.d.ts +11 -0
  683. package/js/src/hyperliquid.js +55 -15
  684. package/js/src/independentreserve.d.ts +1 -0
  685. package/js/src/independentreserve.js +15 -10
  686. package/js/src/indodax.js +0 -6
  687. package/js/src/kraken.js +1 -6
  688. package/js/src/krakenfutures.js +7 -16
  689. package/js/src/kucoin.d.ts +1 -0
  690. package/js/src/kucoin.js +21 -9
  691. package/js/src/kucoinfutures.js +0 -6
  692. package/js/src/latoken.js +0 -6
  693. package/js/src/lbank.js +1 -7
  694. package/js/src/lighter.d.ts +14 -1
  695. package/js/src/lighter.js +83 -12
  696. package/js/src/luno.js +1 -6
  697. package/js/src/mercado.js +0 -6
  698. package/js/src/mexc.js +0 -6
  699. package/js/src/modetrade.js +0 -6
  700. package/js/src/myokx.js +0 -6
  701. package/js/src/ndax.js +0 -6
  702. package/js/src/novadax.js +0 -6
  703. package/js/src/okx.js +17 -8
  704. package/js/src/okxus.js +0 -6
  705. package/js/src/onetrading.js +0 -6
  706. package/js/src/oxfun.js +0 -6
  707. package/js/src/p2b.js +0 -6
  708. package/js/src/paradex.js +0 -6
  709. package/js/src/paymium.js +0 -6
  710. package/js/src/phemex.js +0 -6
  711. package/js/src/poloniex.js +0 -6
  712. package/js/src/pro/aftermath.d.ts +55 -0
  713. package/js/src/pro/aftermath.js +368 -0
  714. package/js/src/pro/alpaca.js +0 -6
  715. package/js/src/pro/apex.js +0 -6
  716. package/js/src/pro/arkham.js +0 -6
  717. package/js/src/pro/ascendex.js +0 -6
  718. package/js/src/pro/aster.js +0 -6
  719. package/js/src/pro/backpack.js +0 -6
  720. package/js/src/pro/bequant.js +0 -6
  721. package/js/src/pro/binance.d.ts +3 -0
  722. package/js/src/pro/binance.js +35 -20
  723. package/js/src/pro/binancecoinm.js +0 -6
  724. package/js/src/pro/binanceus.js +0 -6
  725. package/js/src/pro/binanceusdm.js +0 -6
  726. package/js/src/pro/bingx.js +5 -7
  727. package/js/src/pro/bitfinex.js +0 -6
  728. package/js/src/pro/bitget.js +0 -6
  729. package/js/src/pro/bithumb.js +0 -6
  730. package/js/src/pro/bitmart.js +0 -6
  731. package/js/src/pro/bitmex.js +0 -6
  732. package/js/src/pro/bitopro.js +0 -6
  733. package/js/src/pro/bitrue.js +0 -6
  734. package/js/src/pro/bitstamp.js +0 -6
  735. package/js/src/pro/bittrade.js +0 -6
  736. package/js/src/pro/bitvavo.js +0 -6
  737. package/js/src/pro/blockchaincom.js +0 -6
  738. package/js/src/pro/blofin.js +0 -6
  739. package/js/src/pro/bullish.js +0 -6
  740. package/js/src/pro/bybit.js +0 -6
  741. package/js/src/pro/bydfi.js +0 -6
  742. package/js/src/pro/cex.d.ts +1 -0
  743. package/js/src/pro/cex.js +24 -34
  744. package/js/src/pro/coinbase.js +0 -6
  745. package/js/src/pro/coinbaseadvanced.js +0 -6
  746. package/js/src/pro/coinbaseexchange.js +29 -30
  747. package/js/src/pro/coinbaseinternational.js +0 -6
  748. package/js/src/pro/coincatch.js +0 -6
  749. package/js/src/pro/coincheck.js +0 -6
  750. package/js/src/pro/coinex.js +0 -6
  751. package/js/src/pro/coinone.js +0 -6
  752. package/js/src/pro/cryptocom.js +0 -6
  753. package/js/src/pro/deepcoin.js +0 -6
  754. package/js/src/pro/defx.js +0 -6
  755. package/js/src/pro/deribit.js +0 -6
  756. package/js/src/pro/derive.js +0 -6
  757. package/js/src/pro/dydx.js +0 -6
  758. package/js/src/pro/exmo.js +0 -6
  759. package/js/src/pro/gate.js +0 -6
  760. package/js/src/pro/gateio.js +0 -6
  761. package/js/src/pro/gemini.js +0 -6
  762. package/js/src/pro/grvt.d.ts +155 -0
  763. package/js/src/pro/grvt.js +916 -0
  764. package/js/src/pro/hashkey.js +0 -6
  765. package/js/src/pro/hitbtc.js +0 -6
  766. package/js/src/pro/hollaex.js +0 -6
  767. package/js/src/pro/htx.js +0 -6
  768. package/js/src/pro/huobi.js +0 -6
  769. package/js/src/pro/hyperliquid.js +0 -6
  770. package/js/src/pro/independentreserve.js +0 -6
  771. package/js/src/pro/kraken.js +0 -6
  772. package/js/src/pro/krakenfutures.js +9 -9
  773. package/js/src/pro/kucoin.js +0 -6
  774. package/js/src/pro/kucoinfutures.js +0 -6
  775. package/js/src/pro/lbank.js +0 -6
  776. package/js/src/pro/lighter.d.ts +23 -0
  777. package/js/src/pro/lighter.js +127 -10
  778. package/js/src/pro/luno.js +0 -6
  779. package/js/src/pro/mexc.js +7 -7
  780. package/js/src/pro/modetrade.js +0 -6
  781. package/js/src/pro/myokx.js +0 -6
  782. package/js/src/pro/ndax.js +0 -6
  783. package/js/src/pro/okx.js +0 -6
  784. package/js/src/pro/okxus.js +0 -6
  785. package/js/src/pro/onetrading.js +0 -6
  786. package/js/src/pro/oxfun.js +0 -6
  787. package/js/src/pro/p2b.js +0 -6
  788. package/js/src/pro/paradex.js +3 -9
  789. package/js/src/pro/phemex.js +0 -6
  790. package/js/src/pro/poloniex.js +0 -6
  791. package/js/src/pro/toobit.js +0 -6
  792. package/js/src/pro/upbit.js +0 -6
  793. package/js/src/pro/whitebit.js +0 -6
  794. package/js/src/pro/woo.js +3 -14
  795. package/js/src/pro/woofipro.js +0 -6
  796. package/js/src/pro/xt.js +0 -6
  797. package/js/src/protobuf/mexc/compiled.cjs +0 -6
  798. package/js/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +0 -6
  799. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/keys.js +0 -6
  800. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +0 -6
  801. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +0 -6
  802. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +0 -6
  803. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +0 -6
  804. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +0 -6
  805. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/block_rate_limit_config.js +0 -6
  806. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +0 -6
  807. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/equity_tier_limit_config.js +0 -6
  808. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/finalize_block.js +0 -6
  809. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations.js +0 -6
  810. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations_config.js +0 -6
  811. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/matches.js +0 -6
  812. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +0 -6
  813. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +0 -6
  814. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +0 -6
  815. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +0 -6
  816. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +0 -6
  817. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/asset_position.js +0 -6
  818. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/perpetual_position.js +0 -6
  819. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +0 -6
  820. package/js/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +0 -6
  821. package/js/src/static_dependencies/dydx-v4-client/helpers.js +0 -6
  822. package/js/src/static_dependencies/dydx-v4-client/long/index.cjs +0 -6
  823. package/js/src/static_dependencies/dydx-v4-client/onboarding.js +0 -6
  824. package/js/src/static_dependencies/dydx-v4-client/registry.js +0 -6
  825. package/js/src/static_dependencies/ethers/abi-coder.js +0 -6
  826. package/js/src/static_dependencies/ethers/address/address.js +0 -6
  827. package/js/src/static_dependencies/ethers/address/checks.js +0 -6
  828. package/js/src/static_dependencies/ethers/address/contract-address.js +0 -6
  829. package/js/src/static_dependencies/ethers/address/index.js +0 -6
  830. package/js/src/static_dependencies/ethers/bytes32.js +0 -6
  831. package/js/src/static_dependencies/ethers/coders/abstract-coder.js +0 -6
  832. package/js/src/static_dependencies/ethers/coders/address.js +0 -6
  833. package/js/src/static_dependencies/ethers/coders/anonymous.js +0 -6
  834. package/js/src/static_dependencies/ethers/coders/array.js +0 -6
  835. package/js/src/static_dependencies/ethers/coders/boolean.js +0 -6
  836. package/js/src/static_dependencies/ethers/coders/bytes.js +0 -6
  837. package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +0 -6
  838. package/js/src/static_dependencies/ethers/coders/null.js +0 -6
  839. package/js/src/static_dependencies/ethers/coders/number.js +0 -6
  840. package/js/src/static_dependencies/ethers/coders/string.js +0 -6
  841. package/js/src/static_dependencies/ethers/coders/tuple.js +0 -6
  842. package/js/src/static_dependencies/ethers/fragments.js +0 -6
  843. package/js/src/static_dependencies/ethers/hash/index.js +0 -6
  844. package/js/src/static_dependencies/ethers/hash/solidity.js +0 -6
  845. package/js/src/static_dependencies/ethers/hash/typed-data.js +0 -6
  846. package/js/src/static_dependencies/ethers/index.js +0 -6
  847. package/js/src/static_dependencies/ethers/interface.js +0 -6
  848. package/js/src/static_dependencies/ethers/typed.js +0 -6
  849. package/js/src/static_dependencies/ethers/utils/base58.js +0 -6
  850. package/js/src/static_dependencies/ethers/utils/base64-browser.js +0 -6
  851. package/js/src/static_dependencies/ethers/utils/base64.js +0 -6
  852. package/js/src/static_dependencies/ethers/utils/data.js +0 -6
  853. package/js/src/static_dependencies/ethers/utils/errors.js +0 -6
  854. package/js/src/static_dependencies/ethers/utils/events.js +0 -6
  855. package/js/src/static_dependencies/ethers/utils/fixednumber.js +0 -6
  856. package/js/src/static_dependencies/ethers/utils/index.js +0 -6
  857. package/js/src/static_dependencies/ethers/utils/maths.js +0 -6
  858. package/js/src/static_dependencies/ethers/utils/properties.js +0 -6
  859. package/js/src/static_dependencies/ethers/utils/rlp-decode.js +0 -6
  860. package/js/src/static_dependencies/ethers/utils/rlp-encode.js +0 -6
  861. package/js/src/static_dependencies/ethers/utils/rlp.js +0 -6
  862. package/js/src/static_dependencies/ethers/utils/units.js +0 -6
  863. package/js/src/static_dependencies/ethers/utils/utf8.js +0 -6
  864. package/js/src/static_dependencies/ethers/utils/uuid.js +0 -6
  865. package/js/src/static_dependencies/fflake/browser.js +0 -6
  866. package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -6
  867. package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -6
  868. package/js/src/static_dependencies/jsencrypt/index.js +0 -6
  869. package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +0 -6
  870. package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -6
  871. package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -6
  872. package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -6
  873. package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +0 -6
  874. package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -6
  875. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
  876. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +0 -6
  877. package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -6
  878. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +0 -6
  879. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +0 -6
  880. package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -6
  881. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +0 -6
  882. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -6
  883. package/js/src/static_dependencies/messagepack/msgpack.js +0 -6
  884. package/js/src/static_dependencies/noble-curves/_shortw_utils.js +0 -6
  885. package/js/src/static_dependencies/noble-curves/abstract/curve.js +0 -6
  886. package/js/src/static_dependencies/noble-curves/abstract/edwards.js +0 -6
  887. package/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -6
  888. package/js/src/static_dependencies/noble-curves/abstract/modular.js +0 -6
  889. package/js/src/static_dependencies/noble-curves/abstract/montgomery.js +0 -6
  890. package/js/src/static_dependencies/noble-curves/abstract/poseidon.js +0 -6
  891. package/js/src/static_dependencies/noble-curves/abstract/utils.js +0 -6
  892. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +0 -6
  893. package/js/src/static_dependencies/noble-curves/bn.js +0 -6
  894. package/js/src/static_dependencies/noble-curves/ed25519.js +0 -6
  895. package/js/src/static_dependencies/noble-curves/ed448.js +0 -6
  896. package/js/src/static_dependencies/noble-curves/index.js +0 -6
  897. package/js/src/static_dependencies/noble-curves/jubjub.js +0 -6
  898. package/js/src/static_dependencies/noble-curves/p256.js +0 -6
  899. package/js/src/static_dependencies/noble-curves/p384.js +0 -6
  900. package/js/src/static_dependencies/noble-curves/p521.js +0 -6
  901. package/js/src/static_dependencies/noble-curves/pasta.js +0 -6
  902. package/js/src/static_dependencies/noble-curves/secp256k1.js +0 -6
  903. package/js/src/static_dependencies/noble-hashes/_assert.js +0 -6
  904. package/js/src/static_dependencies/noble-hashes/_blake2.js +0 -6
  905. package/js/src/static_dependencies/noble-hashes/_sha2.js +0 -6
  906. package/js/src/static_dependencies/noble-hashes/_u64.js +0 -6
  907. package/js/src/static_dependencies/noble-hashes/argon2.js +0 -6
  908. package/js/src/static_dependencies/noble-hashes/blake2b.js +0 -6
  909. package/js/src/static_dependencies/noble-hashes/blake2s.js +0 -6
  910. package/js/src/static_dependencies/noble-hashes/blake3.js +0 -6
  911. package/js/src/static_dependencies/noble-hashes/crypto.js +0 -6
  912. package/js/src/static_dependencies/noble-hashes/cryptoNode.js +0 -6
  913. package/js/src/static_dependencies/noble-hashes/eskdf.js +0 -6
  914. package/js/src/static_dependencies/noble-hashes/hkdf.js +0 -6
  915. package/js/src/static_dependencies/noble-hashes/hmac.js +0 -6
  916. package/js/src/static_dependencies/noble-hashes/index.js +0 -6
  917. package/js/src/static_dependencies/noble-hashes/md5.js +0 -6
  918. package/js/src/static_dependencies/noble-hashes/pbkdf2.js +0 -6
  919. package/js/src/static_dependencies/noble-hashes/ripemd160.js +0 -6
  920. package/js/src/static_dependencies/noble-hashes/scrypt.js +0 -6
  921. package/js/src/static_dependencies/noble-hashes/sha1.js +0 -6
  922. package/js/src/static_dependencies/noble-hashes/sha256.js +0 -6
  923. package/js/src/static_dependencies/noble-hashes/sha3-addons.js +0 -6
  924. package/js/src/static_dependencies/noble-hashes/sha3.js +0 -6
  925. package/js/src/static_dependencies/noble-hashes/sha512.js +0 -6
  926. package/js/src/static_dependencies/noble-hashes/utils.js +0 -6
  927. package/js/src/static_dependencies/node-fetch/body.js +0 -6
  928. package/js/src/static_dependencies/node-fetch/errors/abort-error.js +0 -6
  929. package/js/src/static_dependencies/node-fetch/errors/base.js +0 -6
  930. package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -6
  931. package/js/src/static_dependencies/node-fetch/headers.js +0 -6
  932. package/js/src/static_dependencies/node-fetch/index.js +0 -6
  933. package/js/src/static_dependencies/node-fetch/request.js +0 -6
  934. package/js/src/static_dependencies/node-fetch/response.js +0 -6
  935. package/js/src/static_dependencies/node-fetch/utils/get-search.js +0 -6
  936. package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -6
  937. package/js/src/static_dependencies/node-fetch/utils/is.js +0 -6
  938. package/js/src/static_dependencies/node-fetch/utils/referrer.js +0 -6
  939. package/js/src/static_dependencies/proxies/agent-base/helpers.js +0 -6
  940. package/js/src/static_dependencies/proxies/agent-base/index.js +0 -6
  941. package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -6
  942. package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -6
  943. package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -6
  944. package/js/src/static_dependencies/qs/formats.js +0 -6
  945. package/js/src/static_dependencies/qs/index.js +0 -6
  946. package/js/src/static_dependencies/qs/parse.js +0 -6
  947. package/js/src/static_dependencies/qs/stringify.js +0 -6
  948. package/js/src/static_dependencies/qs/utils.js +0 -6
  949. package/js/src/static_dependencies/scure-base/index.js +0 -6
  950. package/js/src/static_dependencies/scure-bip32/index.js +0 -6
  951. package/js/src/static_dependencies/scure-bip39/index.js +0 -6
  952. package/js/src/static_dependencies/scure-bip39/wordlists/english.js +0 -6
  953. package/js/src/static_dependencies/scure-starknet/index.js +0 -6
  954. package/js/src/static_dependencies/starknet/constants.js +0 -6
  955. package/js/src/static_dependencies/starknet/index.js +0 -6
  956. package/js/src/static_dependencies/starknet/types/cairoEnum.js +0 -6
  957. package/js/src/static_dependencies/starknet/types/calldata.js +0 -6
  958. package/js/src/static_dependencies/starknet/types/index.js +0 -6
  959. package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +0 -6
  960. package/js/src/static_dependencies/starknet/types/lib/contract/index.js +0 -6
  961. package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +0 -6
  962. package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +0 -6
  963. package/js/src/static_dependencies/starknet/types/lib/index.js +0 -6
  964. package/js/src/static_dependencies/starknet/types/typedData.js +0 -6
  965. package/js/src/static_dependencies/starknet/utils/address.js +0 -6
  966. package/js/src/static_dependencies/starknet/utils/assert.js +0 -6
  967. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +0 -6
  968. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +0 -6
  969. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +0 -6
  970. package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +0 -6
  971. package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +0 -6
  972. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +0 -6
  973. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +0 -6
  974. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +0 -6
  975. package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +0 -6
  976. package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +0 -6
  977. package/js/src/static_dependencies/starknet/utils/calldata/index.js +0 -6
  978. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.d.ts +1 -1
  979. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +0 -6
  980. package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +0 -6
  981. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +0 -6
  982. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +0 -6
  983. package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +0 -6
  984. package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +0 -6
  985. package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +0 -6
  986. package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +0 -6
  987. package/js/src/static_dependencies/starknet/utils/calldata/validate.js +0 -6
  988. package/js/src/static_dependencies/starknet/utils/encode.js +0 -6
  989. package/js/src/static_dependencies/starknet/utils/hash/classHash.js +0 -6
  990. package/js/src/static_dependencies/starknet/utils/hash/index.js +0 -6
  991. package/js/src/static_dependencies/starknet/utils/merkle.js +0 -6
  992. package/js/src/static_dependencies/starknet/utils/num.js +0 -6
  993. package/js/src/static_dependencies/starknet/utils/selector.js +0 -6
  994. package/js/src/static_dependencies/starknet/utils/shortString.js +0 -6
  995. package/js/src/static_dependencies/starknet/utils/starknetId.js +0 -6
  996. package/js/src/static_dependencies/starknet/utils/typedData.js +0 -6
  997. package/js/src/static_dependencies/starknet/utils/uint256.js +0 -6
  998. package/js/src/static_dependencies/starknet/utils/url.js +0 -6
  999. package/js/src/static_dependencies/watchable/src/index.js +0 -6
  1000. package/js/src/static_dependencies/watchable/src/types.js +0 -6
  1001. package/js/src/static_dependencies/watchable/src/unpromise.js +0 -6
  1002. package/js/src/static_dependencies/zklink/zklink-sdk-web.js +0 -6
  1003. package/js/src/timex.js +0 -6
  1004. package/js/src/tokocrypto.js +0 -6
  1005. package/js/src/toobit.js +1 -6
  1006. package/js/src/upbit.js +0 -6
  1007. package/js/src/wavesexchange.js +0 -6
  1008. package/js/src/whitebit.d.ts +21 -1
  1009. package/js/src/whitebit.js +62 -7
  1010. package/js/src/woo.js +0 -6
  1011. package/js/src/woofipro.js +0 -6
  1012. package/js/src/xt.js +0 -6
  1013. package/js/src/yobit.js +0 -6
  1014. package/js/src/zaif.js +0 -6
  1015. package/js/src/zebpay.js +0 -6
  1016. package/js/src/zonda.js +0 -6
  1017. package/package.json +5 -3
  1018. package/postinstall.js +1 -0
@@ -0,0 +1,1323 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var aftermath$1 = require('./abstract/aftermath.js');
6
+ var number = require('./base/functions/number.js');
7
+ var crypto = require('./base/functions/crypto.js');
8
+ var ed25519 = require('./static_dependencies/noble-curves/ed25519.js');
9
+ var errors = require('./base/errors.js');
10
+
11
+ class aftermath extends aftermath$1["default"] {
12
+ describe() {
13
+ return this.deepExtend(super.describe(), {
14
+ 'id': 'aftermath',
15
+ 'name': 'AftermathFinance',
16
+ 'countries': [],
17
+ 'version': 'v1',
18
+ 'rateLimit': 50,
19
+ 'certified': false,
20
+ 'pro': true,
21
+ 'dex': true,
22
+ 'has': {
23
+ 'CORS': undefined,
24
+ 'spot': false,
25
+ 'margin': false,
26
+ 'swap': true,
27
+ 'future': false,
28
+ 'option': false,
29
+ 'addMargin': true,
30
+ 'cancelOrder': true,
31
+ 'cancelOrders': true,
32
+ 'createOrder': true,
33
+ 'createOrders': true,
34
+ 'editOrder': false,
35
+ 'fetchAccounts': true,
36
+ 'fetchBalance': true,
37
+ 'fetchCurrencies': true,
38
+ 'fetchDepositAddress': false,
39
+ 'fetchDeposits': false,
40
+ 'fetchLedger': false,
41
+ 'fetchMarkets': true,
42
+ 'fetchMyTrades': false,
43
+ 'fetchOHLCV': true,
44
+ 'fetchOpenOrders': true,
45
+ 'fetchOrder': false,
46
+ 'fetchOrderBook': true,
47
+ 'fetchOrders': false,
48
+ 'fetchPosition': true,
49
+ 'fetchPositions': true,
50
+ 'fetchTicker': true,
51
+ 'fetchTickers': true,
52
+ 'fetchTrades': true,
53
+ 'fetchTradingFee': true,
54
+ 'fetchTradingFees': false,
55
+ 'fetchTradingLimits': false,
56
+ 'fetchTransactions': false,
57
+ 'fetchWithdrawals': false,
58
+ 'reduceMargin': true,
59
+ 'setLeverage': true,
60
+ 'transfer': true,
61
+ 'withdraw': true,
62
+ },
63
+ 'timeframes': {
64
+ '1m': '1m',
65
+ '3m': '3m',
66
+ '5m': '5m',
67
+ '15m': '15m',
68
+ '30m': '30m',
69
+ '1h': '1h',
70
+ '2h': '2h',
71
+ '4h': '4h',
72
+ '8h': '8h',
73
+ '12h': '12h',
74
+ '1d': '1d',
75
+ '3d': '3d',
76
+ '1w': '1w',
77
+ '1M': '1M',
78
+ },
79
+ 'urls': {
80
+ 'logo': 'https://github.com/user-attachments/assets/70e5ae86-2f3a-4755-976b-aedb9d3c2807',
81
+ 'api': {
82
+ 'rest': 'https://aftermath.finance/api/ccxt',
83
+ },
84
+ 'test': {
85
+ 'rest': 'https://testnet.aftermath.finance/api/ccxt',
86
+ },
87
+ 'docs': 'https://docs.aftermath.finance',
88
+ },
89
+ 'api': {
90
+ 'public': {
91
+ 'get': {
92
+ 'markets': 1,
93
+ 'currencies': 1,
94
+ },
95
+ 'post': {
96
+ 'ticker': 1,
97
+ 'orderbook': 1,
98
+ 'trades': 1,
99
+ 'OHLCV': 1,
100
+ },
101
+ },
102
+ 'private': {
103
+ 'post': {
104
+ 'accounts': 1,
105
+ 'balance': 1,
106
+ 'myPendingOrders': 1,
107
+ 'positions': 1,
108
+ 'build/allocate': 1,
109
+ 'build/cancelOrders': 1,
110
+ 'build/createAccount': 1,
111
+ 'build/createOrders': 1,
112
+ 'build/deallocate': 1,
113
+ 'build/deposit': 1,
114
+ 'build/setLeverage': 1,
115
+ 'build/withdraw': 1,
116
+ 'submit/allocate': 1,
117
+ 'submit/cancelOrders': 1,
118
+ 'submit/createAccount': 1,
119
+ 'submit/createOrders': 1,
120
+ 'submit/deallocate': 1,
121
+ 'submit/deposit': 1,
122
+ 'submit/setLeverage': 1,
123
+ 'submit/withdraw': 1,
124
+ },
125
+ },
126
+ },
127
+ 'requiredCredentials': {
128
+ 'apiKey': false,
129
+ 'secret': false,
130
+ 'walletAddress': true,
131
+ 'privateKey': true,
132
+ },
133
+ 'precisionMode': number.TICK_SIZE,
134
+ 'options': {
135
+ 'defaultType': 'swap',
136
+ 'sandboxMode': false,
137
+ },
138
+ 'exceptions': {
139
+ 'exact': {},
140
+ 'broad': {},
141
+ },
142
+ 'features': {
143
+ 'default': {
144
+ 'sandbox': true,
145
+ 'createOrder': {
146
+ 'timeInForce': {
147
+ 'IOC': true,
148
+ 'FOK': true,
149
+ 'PO': true,
150
+ 'GTD': false,
151
+ },
152
+ 'leverage': false,
153
+ 'marketBuyRequiresPrice': false,
154
+ 'marketBuyByCost': false,
155
+ 'selfTradePrevention': false,
156
+ 'trailing': false,
157
+ 'iceberg': false,
158
+ },
159
+ },
160
+ },
161
+ });
162
+ }
163
+ /**
164
+ * @method
165
+ * @name aftermath#fetchCurrencies
166
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/currencies
167
+ * @description fetches all available currencies on an exchange
168
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
169
+ * @returns {object} an associative dictionary of currencies
170
+ */
171
+ async fetchCurrencies(params = {}) {
172
+ const response = await this.publicGetCurrencies(params);
173
+ const currencies = this.parseCurrencies(response);
174
+ //
175
+ // {
176
+ // "BTC": {
177
+ // "id": "BTC",
178
+ // "code": "BTC",
179
+ // "precision": 1e-9,
180
+ // "name": "BTC",
181
+ // "active": true,
182
+ // "deposit": false,
183
+ // "withdraw": false,
184
+ // "limits": {
185
+ // "amount": {},
186
+ // "withdraw": {}
187
+ // },
188
+ // "networks": {}
189
+ // }
190
+ // }
191
+ //
192
+ return currencies;
193
+ }
194
+ parseCurrency(rawCurrency) {
195
+ return this.safeCurrencyStructure({
196
+ 'id': this.safeString(rawCurrency, 'id'),
197
+ 'code': this.safeString(rawCurrency, 'code'),
198
+ 'name': this.safeString(rawCurrency, 'name'),
199
+ 'active': this.safeBool(rawCurrency, 'active'),
200
+ 'deposit': this.safeBool(rawCurrency, 'deposit'),
201
+ 'withdraw': this.safeBool(rawCurrency, 'withdraw'),
202
+ 'precision': this.safeNumber(rawCurrency, 'precision'),
203
+ 'type': 'crypto',
204
+ 'info': rawCurrency,
205
+ });
206
+ }
207
+ /**
208
+ * @method
209
+ * @name aftermath#fetchMarkets
210
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/markets
211
+ * @description retrieves data on all markets for woo
212
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
213
+ * @returns {object[]} an array of objects representing market data
214
+ */
215
+ async fetchMarkets(params = {}) {
216
+ const response = await this.publicGetMarkets(params);
217
+ //
218
+ // [
219
+ // {
220
+ // "id": "0x49bd40cc7880bd358465116157f0271c25d23361b94eace9a25dc2019b449bfc",
221
+ // "symbol": "BTC/USD:USDC",
222
+ // "base": "BTC",
223
+ // "quote": "USD",
224
+ // "baseId": "BTC",
225
+ // "quoteId": "USD",
226
+ // "active": true,
227
+ // "type": "swap",
228
+ // "spot": false,
229
+ // "margin": false,
230
+ // "swap": true,
231
+ // "future": false,
232
+ // "option": false,
233
+ // "contract": true,
234
+ // "settle": "USDC",
235
+ // "settleId": "0x457049371f5b5dc2bda857bb804ca6e93c5a3cae1636d0cd17bb6b6070d19458::usdc::USDC",
236
+ // "contractSize": 0.00001,
237
+ // "linear": true,
238
+ // "inverse": false,
239
+ // "taker": 0.001,
240
+ // "maker": 0.0,
241
+ // "percentage": true,
242
+ // "tierBased": false,
243
+ // "precision": {
244
+ // "amount": 0.00001,
245
+ // "price": 0.0001
246
+ // },
247
+ // "limits": {
248
+ // "cost": {
249
+ // "min": 1.0
250
+ // },
251
+ // "leverage": {
252
+ // "max": 50.0
253
+ // }
254
+ // },
255
+ // "marginModes": {
256
+ // "isolated": true,
257
+ // "cross": false
258
+ // },
259
+ // "subType": "linear"
260
+ // }
261
+ // ]
262
+ //
263
+ return this.parseMarkets(response);
264
+ }
265
+ parseMarket(market) {
266
+ //
267
+ // {
268
+ // "id": "0x49bd40cc7880bd358465116157f0271c25d23361b94eace9a25dc2019b449bfc",
269
+ // "symbol": "BTC/USD:USDC",
270
+ // "base": "BTC",
271
+ // "quote": "USD",
272
+ // "baseId": "BTC",
273
+ // "quoteId": "USD",
274
+ // "active": true,
275
+ // "type": "swap",
276
+ // "spot": false,
277
+ // "margin": false,
278
+ // "swap": true,
279
+ // "future": false,
280
+ // "option": false,
281
+ // "contract": true,
282
+ // "settle": "USDC",
283
+ // "settleId": "0x457049371f5b5dc2bda857bb804ca6e93c5a3cae1636d0cd17bb6b6070d19458::usdc::USDC",
284
+ // "contractSize": 0.00001,
285
+ // "linear": true,
286
+ // "inverse": false,
287
+ // "taker": 0.001,
288
+ // "maker": 0.0,
289
+ // "percentage": true,
290
+ // "tierBased": false,
291
+ // "precision": {
292
+ // "amount": 0.00001,
293
+ // "price": 0.0001
294
+ // },
295
+ // "limits": {
296
+ // "cost": {
297
+ // "min": 1.0
298
+ // },
299
+ // "leverage": {
300
+ // "max": 50.0
301
+ // }
302
+ // },
303
+ // "marginModes": {
304
+ // "isolated": true,
305
+ // "cross": false
306
+ // },
307
+ // "subType": "linear"
308
+ // }
309
+ //
310
+ const precision = this.safeDict(market, 'precision');
311
+ const limits = this.safeDict(market, 'limits');
312
+ return this.safeMarketStructure({
313
+ 'id': this.safeString(market, 'id'),
314
+ 'symbol': this.safeString(market, 'symbol'),
315
+ 'base': this.safeString(market, 'base'),
316
+ 'quote': this.safeString(market, 'quote'),
317
+ 'settle': this.safeString(market, 'settle'),
318
+ 'baseId': this.safeString(market, 'baseId'),
319
+ 'quoteId': this.safeString(market, 'quoteId'),
320
+ 'settleId': this.safeString(market, 'settleId'),
321
+ 'type': this.safeString(market, 'type'),
322
+ 'subType': this.safeString(market, 'subType'),
323
+ 'spot': this.safeBool(market, 'spot'),
324
+ 'margin': this.safeBool(market, 'margin'),
325
+ 'swap': this.safeBool(market, 'swap'),
326
+ 'future': this.safeBool(market, 'future'),
327
+ 'option': this.safeBool(market, 'option'),
328
+ 'active': this.safeBool(market, 'active'),
329
+ 'contract': this.safeBool(market, 'contract'),
330
+ 'linear': this.safeBool(market, 'linear'),
331
+ 'inverse': this.safeBool(market, 'inverse'),
332
+ 'tierBased': this.safeBool(market, 'tierBased'),
333
+ 'percentage': this.safeBool(market, 'percentage'),
334
+ 'contractSize': this.safeNumber(market, 'contractSize'),
335
+ 'expiry': undefined,
336
+ 'expiryDatetime': undefined,
337
+ 'strike': undefined,
338
+ 'optionType': undefined,
339
+ 'taker': this.safeNumber(market, 'taker'),
340
+ 'maker': this.safeNumber(market, 'maker'),
341
+ 'precision': {
342
+ 'amount': this.safeNumber(precision, 'amount'),
343
+ 'price': this.safeNumber(precision, 'price'),
344
+ },
345
+ 'limits': {
346
+ 'leverage': {
347
+ 'min': undefined,
348
+ 'max': this.safeNumber(limits['leverage'], 'max'),
349
+ },
350
+ 'amount': {
351
+ 'min': undefined,
352
+ 'max': undefined,
353
+ },
354
+ 'price': {
355
+ 'min': undefined,
356
+ 'max': undefined,
357
+ },
358
+ 'cost': {
359
+ 'min': this.safeNumber(limits['cost'], 'min'),
360
+ 'max': undefined,
361
+ },
362
+ },
363
+ 'marginModes': this.safeDict(market, 'marginModes'),
364
+ 'created': undefined,
365
+ 'info': market,
366
+ });
367
+ }
368
+ /**
369
+ * @method
370
+ * @name aftermath#fetchTradingFee
371
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/markets
372
+ * @description fetch the trading fees for a market
373
+ * @param {string} symbol unified market symbol
374
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
375
+ * @returns {object} a [fee structure]{@link https://docs.ccxt.com/#/?id=fee-structure}
376
+ */
377
+ async fetchTradingFee(symbol, params = {}) {
378
+ await this.loadMarkets();
379
+ const market = this.market(symbol);
380
+ return this.parseTradingFee(market);
381
+ }
382
+ parseTradingFee(market = undefined) {
383
+ const symbol = this.safeString(market, 'symbol');
384
+ return {
385
+ 'info': market,
386
+ 'symbol': symbol,
387
+ 'maker': this.safeNumber(market, 'maker'),
388
+ 'taker': this.safeNumber(market, 'taker'),
389
+ 'percentage': true,
390
+ 'tierBased': undefined,
391
+ };
392
+ }
393
+ /**
394
+ * @method
395
+ * @name aftermath#fetchTicker
396
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/ticker
397
+ * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
398
+ * @param {string} symbol unified symbol of the market to fetch the ticker for
399
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
400
+ * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
401
+ */
402
+ async fetchTicker(symbol, params = {}) {
403
+ await this.loadMarkets();
404
+ const market = this.market(symbol);
405
+ const request = {
406
+ 'chId': market['id'],
407
+ };
408
+ const response = await this.publicPostTicker(this.extend(request, params));
409
+ //
410
+ // {
411
+ // "ask": 0.1,
412
+ // "askVolume": 0.1,
413
+ // "average": 0.1,
414
+ // "baseVolume": 0.1,
415
+ // "bid": 0.1,
416
+ // "bidVolume": 0.1,
417
+ // "change": 0.1,
418
+ // "close": 0.1,
419
+ // "high": 0.1,
420
+ // "indexPrice": 0.1,
421
+ // "last": 0.1,
422
+ // "low": 0.1,
423
+ // "markPrice": 0.1,
424
+ // "open": 0.1,
425
+ // "percentage": 0.1,
426
+ // "previousClose": 0.1,
427
+ // "quoteVolume": 0.1,
428
+ // "symbol": "string",
429
+ // "timestamp": null,
430
+ // "vwap": 0.1
431
+ // }
432
+ //
433
+ return this.parseTicker(response, market);
434
+ }
435
+ parseTicker(ticker, market = undefined) {
436
+ const timestamp = this.safeInteger(ticker, 'timestamp');
437
+ return this.safeTicker({
438
+ 'symbol': this.safeString(ticker, 'symbol'),
439
+ 'timestamp': timestamp,
440
+ 'datetime': this.iso8601(timestamp),
441
+ 'high': this.safeString(ticker, 'high'),
442
+ 'low': this.safeString(ticker, 'low'),
443
+ 'bid': this.safeString(ticker, 'bid'),
444
+ 'bidVolume': this.safeString(ticker, 'bidVolume'),
445
+ 'ask': this.safeString(ticker, 'ask'),
446
+ 'askVolume': this.safeString(ticker, 'askVolume'),
447
+ 'vwap': this.safeString(ticker, 'vwap'),
448
+ 'open': this.safeString(ticker, 'open'),
449
+ 'close': undefined,
450
+ 'last': undefined,
451
+ 'previousClose': undefined,
452
+ 'change': this.safeString(ticker, 'change'),
453
+ 'percentage': undefined,
454
+ 'average': undefined,
455
+ 'baseVolume': this.safeString(ticker, 'baseVolume'),
456
+ 'quoteVolume': this.safeString(ticker, 'quoteVolume'),
457
+ 'markPrice': undefined,
458
+ 'indexPrice': this.safeString(ticker, 'indexPrice'),
459
+ 'info': ticker,
460
+ }, market);
461
+ }
462
+ /**
463
+ * @method
464
+ * @name aftermath#fetchOrderBook
465
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/orderbook
466
+ * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
467
+ * @param {string} symbol unified symbol of the market to fetch the order book for
468
+ * @param {int} [limit] the maximum amount of order book entries to return
469
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
470
+ * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
471
+ */
472
+ async fetchOrderBook(symbol, limit = undefined, params = {}) {
473
+ await this.loadMarkets();
474
+ const market = this.market(symbol);
475
+ const chId = this.safeString(market, 'id');
476
+ const request = {
477
+ 'chId': chId,
478
+ };
479
+ const response = await this.publicPostOrderbook(this.extend(request, params));
480
+ //
481
+ // {
482
+ // "asks":[
483
+ // [76228.1534,11.58777]
484
+ // ],
485
+ // "bids":[
486
+ // [76213.4842,11.96145],
487
+ // ],
488
+ // "datetime":"2025-04-07 09:29:28.213 UTC",
489
+ // "timestamp":1744018168213,
490
+ // "symbol":"BTC/USD:USDC"
491
+ // }
492
+ //
493
+ const timestamp = this.safeInteger(response, 'timestamp');
494
+ const orderbook = this.parseOrderBook(response, symbol, timestamp);
495
+ orderbook['nonce'] = this.safeInteger(response, 'nonce');
496
+ return orderbook;
497
+ }
498
+ /**
499
+ * @method
500
+ * @name aftermath#fetchTrades
501
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/trades
502
+ * @description get the list of most recent trades for a particular symbol
503
+ * @param {string} symbol unified symbol of the market to fetch trades for
504
+ * @param {int} [since] timestamp in ms of the earliest trade to fetch
505
+ * @param {int} [limit] the maximum amount of trades to fetch
506
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
507
+ * @param {int} [params.until] the latest time in ms to fetch trades for
508
+ * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
509
+ */
510
+ async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
511
+ await this.loadMarkets();
512
+ const market = this.market(symbol);
513
+ const chId = this.safeString(market, 'id');
514
+ const request = {
515
+ 'chId': chId,
516
+ };
517
+ if (limit !== undefined) {
518
+ request['limit'] = Math.min(limit, 50);
519
+ }
520
+ const response = await this.publicPostTrades(this.extend(request, params));
521
+ //
522
+ // {
523
+ // "trades": [
524
+ // {
525
+ // "amount": 0.03378,
526
+ // "datetime": "2025-12-29 22:43:54.639 UTC",
527
+ // "price": 87239.09499000001,
528
+ // "timestamp": 1767048234639,
529
+ // "side": "buy",
530
+ // "symbol": "BTC/USD:USDC"
531
+ // }
532
+ // ],
533
+ // "nextCursor": 573
534
+ // }
535
+ //
536
+ const data = this.safeList(response, 'trades', []);
537
+ return this.parseTrades(data, market, since, limit);
538
+ }
539
+ parseTrade(rawTrade, market = undefined) {
540
+ const trade = this.safeTrade(this.extend({ 'info': rawTrade }, rawTrade));
541
+ trade['id'] = '';
542
+ trade['order'] = undefined;
543
+ trade['takerOrMaker'] = undefined;
544
+ trade['timestamp'] = this.safeInteger(rawTrade, 'timestamp');
545
+ return trade;
546
+ }
547
+ /**
548
+ * @method
549
+ * @name aftermath#fetchOHLCV
550
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/ohlcv
551
+ * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
552
+ * @param {string} symbol unified symbol of the market to fetch OHLCV data for
553
+ * @param {string} timeframe the length of time each candle represents
554
+ * @param {int} [since] timestamp in ms of the earliest candle to fetch
555
+ * @param {int} [limit] max=1000, max=100 when since is defined and is less than (now - (999 * (timeframe in ms)))
556
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
557
+ * @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
558
+ */
559
+ async fetchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
560
+ await this.loadMarkets();
561
+ const market = this.market(symbol);
562
+ const chId = this.safeString(market, 'id');
563
+ const request = {
564
+ 'chId': chId,
565
+ 'timeframe': timeframe,
566
+ };
567
+ if (since !== undefined) {
568
+ request['since'] = since;
569
+ }
570
+ if (limit !== undefined) {
571
+ request['limit'] = limit;
572
+ }
573
+ const response = await this.publicPostOHLCV(this.extend(request, params));
574
+ //
575
+ // [
576
+ // [
577
+ // 1743932340000,
578
+ // 83093.5445,
579
+ // 83093.5445,
580
+ // 83093.5445,
581
+ // 83093.5445,
582
+ // 0.0
583
+ // ]
584
+ // ]
585
+ //
586
+ return this.parseOHLCVs(response, market, timeframe, since, limit);
587
+ }
588
+ /**
589
+ * @method
590
+ * @name aftermath#fetchBalance
591
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/balance
592
+ * @description query for balance and get the amount of funds available for trading or funds locked in positions
593
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
594
+ * @param {string} [params.account] account object ID, required
595
+ * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
596
+ */
597
+ async fetchBalance(params = {}) {
598
+ let account = undefined;
599
+ [account, params] = this.handleOptionAndParams(params, 'fetchBalance', 'account');
600
+ const request = {
601
+ 'account': account,
602
+ };
603
+ if (account === undefined) {
604
+ throw new errors.ArgumentsRequired(this.id + ' fetchBalance() requires account');
605
+ }
606
+ const response = await this.privatePostBalance(this.extend(request, params));
607
+ //
608
+ // {
609
+ // "timestamp": 1744045700352,
610
+ // "balances": {
611
+ // "USDC": {
612
+ // "free": 7.726913939320065,
613
+ // "used": 22.273086060679937,
614
+ // "total": 30.0
615
+ // }
616
+ // }
617
+ // }
618
+ //
619
+ return this.parseBalance(response);
620
+ }
621
+ parseBalance(response) {
622
+ const result = {
623
+ 'info': response,
624
+ };
625
+ const balances = this.safeDict(response, 'balances', []);
626
+ const currencies = Object.keys(balances);
627
+ for (let i = 0; i < currencies.length; i++) {
628
+ const code = currencies[i];
629
+ const balance = balances[code];
630
+ const account = this.account();
631
+ account['free'] = this.safeString(balance, 'free');
632
+ account['used'] = this.safeString(balance, 'used');
633
+ account['total'] = this.safeString(balance, 'total');
634
+ result[code] = account;
635
+ }
636
+ const timestamp = this.safeInteger(response, 'timestamp');
637
+ result['timestamp'] = timestamp;
638
+ result['datetime'] = this.iso8601(timestamp);
639
+ return this.safeBalance(result);
640
+ }
641
+ /**
642
+ * @method
643
+ * @name aftermath#fetchAccounts
644
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/accounts
645
+ * @description query for accounts owned by the walletAddress. An Account is needed for all trading methods.
646
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
647
+ * @returns {Array} a list of [account structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#accounts}
648
+ */
649
+ async fetchAccounts(params = {}) {
650
+ await this.loadMarkets();
651
+ const request = {
652
+ 'address': this.walletAddress,
653
+ };
654
+ const response = await this.privatePostAccounts(this.extend(request, params));
655
+ //
656
+ // [
657
+ // {
658
+ // "id": "0x21c5e3d2f5bcfd4351a62cd70874878b7923b56d79d04225ed96370a7ac844c4",
659
+ // "type": "primary",
660
+ // "code": "USDC",
661
+ // "accountNumber": 14822
662
+ // }
663
+ // ]
664
+ //
665
+ return this.parseAccounts(response);
666
+ }
667
+ parseAccount(account) {
668
+ return {
669
+ 'id': this.safeString(account, 'id'),
670
+ 'type': this.safeString(account, 'type'),
671
+ 'code': this.safeString(account, 'code'),
672
+ 'info': account,
673
+ };
674
+ }
675
+ /**
676
+ * @method
677
+ * @name aftermath#fetchOpenOrders
678
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/my_pending_orders
679
+ * @description fetch all unfilled currently open orders
680
+ * @param {string} symbol unified market symbol
681
+ * @param {int} [since] the earliest time in ms to fetch open orders for
682
+ * @param {int} [limit] the maximum number of open orders structures to retrieve
683
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
684
+ * @param {int} [params.accountNumber] account number to query orders for, required
685
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
686
+ */
687
+ async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
688
+ await this.loadMarkets();
689
+ const market = this.market(symbol);
690
+ let accountNumber = undefined;
691
+ [accountNumber, params] = this.handleOptionAndParams(params, 'fetchOpenOrders', 'accountNumber');
692
+ if (accountNumber === undefined) {
693
+ throw new errors.ArgumentsRequired(this.id + ' fetchOpenOrders() requires an accountNumber parameter in params');
694
+ }
695
+ const request = {
696
+ 'chId': this.safeString(market, 'id'),
697
+ 'accountNumber': accountNumber,
698
+ };
699
+ const response = await this.privatePostMyPendingOrders(this.extend(request, params));
700
+ //
701
+ // [
702
+ // {
703
+ // "id": "340282366919093789037556908196463492660",
704
+ // "datetime": "2025-04-07 14:10:49.472 UTC",
705
+ // "timestamp": 1744035049472,
706
+ // "status": "open",
707
+ // "symbol": "BTC/USD:USDC",
708
+ // "type": "limit",
709
+ // "side": "buy",
710
+ // "price": 10000.0,
711
+ // "amount": 0.0001,
712
+ // "filled": 0.0,
713
+ // "remaining": 0.0001,
714
+ // "cost": 0.0,
715
+ // "trades": [],
716
+ // "fee": {}
717
+ // }
718
+ // ]
719
+ //
720
+ return this.parseOrders(response);
721
+ }
722
+ /**
723
+ * @method
724
+ * @name aftermath#fetchPosition
725
+ * @description fetch data on an open position
726
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/positions
727
+ * @param {string} symbol unified market symbol of the market the position is held in
728
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
729
+ * @param {int} [params.accountNumber] account number to query positions for, required
730
+ * @returns {object} a [position structure]{@link https://docs.ccxt.com/#/?id=position-structure}
731
+ */
732
+ async fetchPosition(symbol, params = {}) {
733
+ const positions = await this.fetchPositions([symbol], params);
734
+ return this.safeDict(positions, 0, {});
735
+ }
736
+ /**
737
+ * @method
738
+ * @name aftermath#fetchPositions
739
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/positions
740
+ * @description fetch all open positions
741
+ * @param {string[]} symbols list of unified market symbols
742
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
743
+ * @param {int} [params.accountNumber] account number to query positions for, required
744
+ * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/#/?id=position-structure}
745
+ */
746
+ async fetchPositions(symbols = undefined, params = {}) {
747
+ await this.loadMarkets();
748
+ let accountNumber = undefined;
749
+ [accountNumber, params] = this.handleOptionAndParams(params, 'fetchPositions', 'accountNumber');
750
+ if (accountNumber === undefined) {
751
+ throw new errors.ArgumentsRequired(this.id + ' fetchPositions() requires an accountNumber parameter in params');
752
+ }
753
+ const request = {
754
+ 'accountNumber': accountNumber,
755
+ };
756
+ const response = await this.privatePostPositions(this.extend(request, params));
757
+ //
758
+ // [
759
+ // {
760
+ // "id": "0xb60c5078b060e4aede8e670089c9b1bc6eb231b4bcc0bfb3e97534770ace4d0c:101",
761
+ // "symbol": "BTC/USD",
762
+ // "timestamp": 1744360128358,
763
+ // "datetime": "2025-04-11 08:28:48.358 UTC",
764
+ // "side": "long",
765
+ // "contracts": 0.001,
766
+ // "contractSize": 81299.8225,
767
+ // "entryPrice": 0.000012292609480106,
768
+ // "notional": 81.30326975863777,
769
+ // "leverage": 2.091737393826,
770
+ // "collateral": 38.918646841955464,
771
+ // "initialMargin": 2.0325817439659444,
772
+ // "maintenanceMargin": 1.0162908719829722,
773
+ // "initialMarginPercentage": 0.025,
774
+ // "maintenanceMarginPercentage": 0.0125,
775
+ // "unrealizedPnl": -0.0498699,
776
+ // "liquidationPrice": 42969.81843916013,
777
+ // "marginMode": "isolated",
778
+ // "marginRatio": 0.4780714839977587
779
+ // }
780
+ // ]
781
+ //
782
+ return this.parsePositions(response, symbols);
783
+ }
784
+ parsePosition(position, market = undefined) {
785
+ return this.safePosition(position);
786
+ }
787
+ parseCreateEditOrderArgs(id, symbol, type, side, amount, price = undefined, params = {}) {
788
+ const market = this.market(symbol);
789
+ symbol = market['symbol'];
790
+ const order = {
791
+ 'symbol': symbol,
792
+ 'type': type,
793
+ 'side': side,
794
+ 'amount': amount,
795
+ 'price': price,
796
+ 'params': params,
797
+ };
798
+ if (id !== undefined) {
799
+ order['id'] = id;
800
+ }
801
+ return order;
802
+ }
803
+ /**
804
+ * @method
805
+ * @name aftermath#createOrder
806
+ * @description create a trade order
807
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/build_create_orders
808
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/submit_create_orders
809
+ * @param {string} symbol unified symbol of the market to create an order in
810
+ * @param {string} type 'market' or 'limit'
811
+ * @param {string} side 'buy' or 'sell'
812
+ * @param {float} amount how much of currency you want to trade in units of base currency
813
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
814
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
815
+ * @param {bool} [params.reduceOnly] true or false whether the order is reduce-only
816
+ * @param {Account} [params.account] account id to use, required
817
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
818
+ */
819
+ async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
820
+ await this.loadMarkets();
821
+ let account = undefined;
822
+ [account, params] = this.handleOptionAndParams(params, 'createOrder', 'account');
823
+ const order = this.parseCreateEditOrderArgs(undefined, symbol, type, side, amount, price, params);
824
+ const orders = await this.createOrders([order], { 'account': account });
825
+ return orders[0];
826
+ }
827
+ /**
828
+ * @method
829
+ * @name aftermath#createOrders
830
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/build_create_orders
831
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/submit_create_orders
832
+ * @description create a list of trade orders
833
+ * @param {Array} orders list of orders to create, each object should contain the parameters required by createOrder, namely symbol, type, side, amount, price and params
834
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
835
+ * @param {Account} [params.account] account id to use, required
836
+ * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
837
+ */
838
+ async createOrders(orders, params = {}) {
839
+ await this.loadMarkets();
840
+ const ordersRequest = [];
841
+ for (let i = 0; i < orders.length; i++) {
842
+ const order = this.clone(orders[i]);
843
+ const symbol = this.safeString(order, 'symbol');
844
+ const market = this.market(symbol);
845
+ const price = this.safeString(order, 'price');
846
+ const amount = this.safeString(order, 'amount');
847
+ const orderParams = this.safeDict(order, 'params', {});
848
+ const reduceOnly = this.safeBool(orderParams, 'reduceOnly');
849
+ if (reduceOnly !== undefined) {
850
+ order['reduceOnly'] = reduceOnly;
851
+ }
852
+ delete order['symbol'];
853
+ delete order['params'];
854
+ order['chId'] = market['id'];
855
+ if (price !== undefined) {
856
+ order['price'] = this.parseToNumeric(this.priceToPrecision(symbol, price));
857
+ }
858
+ order['amount'] = this.parseToNumeric(this.amountToPrecision(symbol, amount));
859
+ ordersRequest.push(order);
860
+ }
861
+ let account = undefined;
862
+ [account, params] = this.handleOptionAndParams(params, 'createOrders', 'account');
863
+ const txRequest = {
864
+ 'accountId': account,
865
+ 'metadata': {
866
+ 'sender': this.walletAddress,
867
+ },
868
+ 'orders': ordersRequest,
869
+ 'deallocateFreeCollateral': false,
870
+ };
871
+ const tx = await this.privatePostBuildCreateOrders(this.extend(txRequest, params));
872
+ const request = this.signTxEd25519(tx);
873
+ const response = await this.privatePostSubmitCreateOrders(request);
874
+ //
875
+ // [
876
+ // {
877
+ // "id": "340282366919093604570116171100942992979",
878
+ // "datetime": "2025-04-10 10:38:39.323 UTC",
879
+ // "timestamp": 1744281519323,
880
+ // "status": "open",
881
+ // "symbol": "BTC/USD:USDC",
882
+ // "type": "limit",
883
+ // "side": "buy",
884
+ // "price": 10001.0,
885
+ // "average": 0.0,
886
+ // "amount": 0.01,
887
+ // "filled": 0.0,
888
+ // "remaining": 0.01,
889
+ // "cost": 0.0,
890
+ // "trades": [],
891
+ // "fee": {}
892
+ // }
893
+ // ]
894
+ //
895
+ return this.parseOrders(response);
896
+ }
897
+ /**
898
+ * @method
899
+ * @name aftermath#cancelOrder
900
+ * @description cancels an open order
901
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/build_cancel_orders
902
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/submit_cancel_orders
903
+ * @param {string} id order id
904
+ * @param {string} symbol unified symbol of the market the order was made in
905
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
906
+ * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
907
+ */
908
+ async cancelOrder(id, symbol = undefined, params = {}) {
909
+ const orders = await this.cancelOrders([id], symbol, params);
910
+ return this.safeDict(orders, 0);
911
+ }
912
+ /**
913
+ * @method
914
+ * @name aftermath#cancelOrders
915
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/build_cancel_orders
916
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/submit_cancel_orders
917
+ * @description cancel multiple orders
918
+ * @param {string[]} ids order ids
919
+ * @param {string} [symbol] unified market symbol
920
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
921
+ * @param {Account} [params.account] account to cancel orders for, required
922
+ * @returns {Order[]} an list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
923
+ */
924
+ async cancelOrders(ids, symbol = undefined, params = {}) {
925
+ await this.loadMarkets();
926
+ const market = this.market(symbol);
927
+ let account = undefined;
928
+ [account, params] = this.handleOptionAndParams(params, 'cancelOrders', 'account');
929
+ const txRequest = {
930
+ 'accountId': account,
931
+ 'metadata': {
932
+ 'sender': this.walletAddress,
933
+ },
934
+ 'chId': market['id'],
935
+ 'orderIds': ids,
936
+ };
937
+ const tx = await this.privatePostBuildCancelOrders(txRequest);
938
+ const request = this.signTxEd25519(tx);
939
+ const response = await this.privatePostSubmitCancelOrders(request);
940
+ //
941
+ // [
942
+ // {
943
+ // "id": "340282366919093604570116171100942992979",
944
+ // "datetime": "2025-04-10 10:45:16.765 UTC",
945
+ // "timestamp": 1744281916765,
946
+ // "status": "closed",
947
+ // "symbol": "BTC/USD:USDC",
948
+ // "type": "limit",
949
+ // "side": "buy",
950
+ // "price": 10001.0,
951
+ // "amount": 0.01,
952
+ // "filled": 0.0,
953
+ // "remaining": 0.0,
954
+ // "cost": 0.0,
955
+ // "trades": [],
956
+ // "fee": {}
957
+ // }
958
+ // ]
959
+ //
960
+ return this.parseOrders(response);
961
+ }
962
+ async createAccount(symbol, params = {}) {
963
+ await this.loadMarkets();
964
+ const market = this.market(symbol);
965
+ const settleId = market['settleId'];
966
+ const txRequest = {
967
+ 'metadata': {
968
+ 'sender': this.walletAddress,
969
+ },
970
+ 'settleId': settleId,
971
+ };
972
+ const tx = await this.privatePostBuildCreateAccount(txRequest);
973
+ const request = this.signTxEd25519(tx);
974
+ const response = await this.privatePostSubmitCreateAccount(request);
975
+ //
976
+ // [
977
+ // {
978
+ // "id": "0x2238b380cdf548cf9922a76ad8cf41cd886a04c1a68e7d0f99100b84b0b1ee48",
979
+ // "type": "primary",
980
+ // "code": "USDC",
981
+ // "accountNumber": 357
982
+ // },
983
+ // {
984
+ // "id": "0x6048be1c533a25226e2b505f5c7b8c4d731c87e9fb775dc577052c66febf1c93",
985
+ // "type": "subaccount",
986
+ // "code": "USDC",
987
+ // "accountNumber": 357
988
+ // }
989
+ // ]
990
+ //
991
+ return response;
992
+ }
993
+ /**
994
+ * @method
995
+ * @name aftermath#addMargin
996
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/build_allocate
997
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/submit_allocate
998
+ * @description add margin
999
+ * @param {string} symbol unified market symbol
1000
+ * @param {float} amount amount of margin to add
1001
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1002
+ * @param {Account} [params.account] account id to use, required
1003
+ * @returns {object} a [margin structure]{@link https://docs.ccxt.com/#/?id=add-margin-structure}
1004
+ */
1005
+ async addMargin(symbol, amount, params = {}) {
1006
+ await this.loadMarkets();
1007
+ const market = this.market(symbol);
1008
+ let account = undefined;
1009
+ [account, params] = this.handleOptionAndParams2(params, 'addMargin', 'account', 'accountId');
1010
+ const txRequest = {
1011
+ 'accountId': account,
1012
+ 'chId': market['id'],
1013
+ 'amount': this.parseToNumeric(this.amountToPrecision(symbol, amount)),
1014
+ 'metadata': {
1015
+ 'sender': this.walletAddress,
1016
+ },
1017
+ };
1018
+ const tx = await this.privatePostBuildAllocate(txRequest);
1019
+ const request = this.signTxEd25519(tx);
1020
+ const response = await this.privatePostSubmitAllocate(request);
1021
+ //
1022
+ // {
1023
+ // "id": "0xb60c5078b060e4aede8e670089c9b1bc6eb231b4bcc0bfb3e97534770ace4d0c:101",
1024
+ // "symbol": "BTC/USD",
1025
+ // "contracts": 0.0,
1026
+ // "contractSize": 81656.98359916,
1027
+ // "notional": 0.0,
1028
+ // "leverage": 0.0,
1029
+ // "collateral": 40.0,
1030
+ // "initialMargin": 0.0,
1031
+ // "maintenanceMargin": 0.0,
1032
+ // "initialMarginPercentage": 0.025,
1033
+ // "maintenanceMarginPercentage": 0.0125,
1034
+ // "unrealizedPnl": 0.0,
1035
+ // "marginMode": "isolated"
1036
+ // }
1037
+ //
1038
+ return response;
1039
+ }
1040
+ /**
1041
+ * @method
1042
+ * @name aftermath#reduceMargin
1043
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/build_deallocate
1044
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/submit_deallocate
1045
+ * @description remove margin from a position
1046
+ * @param {string} symbol unified market symbol
1047
+ * @param {float} amount amount of margin to remove
1048
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1049
+ * @param {Account} [params.account] account id to use, required
1050
+ * @returns {object} a [margin structure]{@link https://docs.ccxt.com/#/?id=reduce-margin-structure}
1051
+ */
1052
+ async reduceMargin(symbol, amount, params = {}) {
1053
+ await this.loadMarkets();
1054
+ const market = this.market(symbol);
1055
+ let account = undefined;
1056
+ [account, params] = this.handleOptionAndParams2(params, 'reduceMargin', 'account', 'accountId');
1057
+ const txRequest = {
1058
+ 'accountId': account,
1059
+ 'chId': market['id'],
1060
+ 'amount': this.parseToNumeric(this.amountToPrecision(symbol, amount)),
1061
+ 'metadata': {
1062
+ 'sender': this.walletAddress,
1063
+ },
1064
+ };
1065
+ const tx = await this.privatePostBuildDeallocate(txRequest);
1066
+ const request = this.signTxEd25519(tx);
1067
+ const response = await this.privatePostSubmitDeallocate(request);
1068
+ //
1069
+ // {
1070
+ // "id": "0xb60c5078b060e4aede8e670089c9b1bc6eb231b4bcc0bfb3e97534770ace4d0c:101",
1071
+ // "symbol": "BTC/USD",
1072
+ // "contracts": 0.0,
1073
+ // "contractSize": 81678.2625,
1074
+ // "notional": 0.0,
1075
+ // "leverage": 0.0,
1076
+ // "collateral": 39.0,
1077
+ // "initialMargin": 0.0,
1078
+ // "maintenanceMargin": 0.0,
1079
+ // "initialMarginPercentage": 0.025,
1080
+ // "maintenanceMarginPercentage": 0.0125,
1081
+ // "unrealizedPnl": 0.0,
1082
+ // "marginMode": "isolated"
1083
+ // }
1084
+ //
1085
+ return response;
1086
+ }
1087
+ /**
1088
+ * @method
1089
+ * @name aftermath#transfer
1090
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/build_deposit
1091
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/submit_deposit
1092
+ * @description transfer currency internally between wallets on the same account
1093
+ * @param {string} code unified currency code
1094
+ * @param {float} amount amount to transfer
1095
+ * @param {string} fromAccount account to transfer from
1096
+ * @param {string} toAccount account to transfer to
1097
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1098
+ * @returns {object} a [transfer structure]{@link https://docs.ccxt.com/#/?id=transfer-structure}
1099
+ */
1100
+ async transfer(code, amount, fromAccount, toAccount, params = {}) {
1101
+ await this.loadMarkets();
1102
+ const currency = this.currency(code);
1103
+ const txRequest = {
1104
+ 'metadata': {
1105
+ 'sender': this.walletAddress,
1106
+ },
1107
+ 'accountId': toAccount,
1108
+ 'amount': amount,
1109
+ };
1110
+ const tx = await this.privatePostBuildDeposit(txRequest);
1111
+ const request = this.signTxEd25519(tx);
1112
+ const response = await this.privatePostSubmitDeposit(request);
1113
+ //
1114
+ // {
1115
+ // "id": "0xf93f9bb8bf97eb570410caada92cfa3e66c7ed3a203a164f51d22d41eabe09c0",
1116
+ // "type": "subaccount",
1117
+ // "code": "USDC",
1118
+ // "accountNumber": 101,
1119
+ // "collateral": 1.0
1120
+ // }
1121
+ //
1122
+ return this.extend(this.parseTransfer(response, currency), {
1123
+ 'fromAccount': this.walletAddress,
1124
+ 'toAccount': toAccount,
1125
+ 'amount': amount,
1126
+ });
1127
+ }
1128
+ parseTransfer(transfer, currency = undefined) {
1129
+ const currencyId = this.safeString(transfer, 'code');
1130
+ return {
1131
+ 'info': transfer,
1132
+ 'id': this.safeString(transfer, 'id'),
1133
+ 'timestamp': undefined,
1134
+ 'datetime': undefined,
1135
+ 'currency': this.safeCurrencyCode(currencyId, currency),
1136
+ 'amount': undefined,
1137
+ 'fromAccount': undefined,
1138
+ 'toAccount': undefined,
1139
+ 'status': undefined,
1140
+ };
1141
+ }
1142
+ /**
1143
+ * @method
1144
+ * @name aftermath#withdraw
1145
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/build_withdraw
1146
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/submit_withdraw
1147
+ * @description make a withdrawal
1148
+ * @param {string} code unified currency code
1149
+ * @param {float} amount the amount to withdraw
1150
+ * @param {string} address the address to withdraw to
1151
+ * @param {string} tag
1152
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1153
+ * @param {Account} [params.account] account id to use, required
1154
+ * @returns {object} a [transaction structure]{@link https://docs.ccxt.com/#/?id=transaction-structure}
1155
+ */
1156
+ async withdraw(code, amount, address, tag = undefined, params = {}) {
1157
+ await this.loadMarkets();
1158
+ const currency = this.currency(code);
1159
+ let account = undefined;
1160
+ [account, params] = this.handleOptionAndParams(params, 'withdraw', 'account');
1161
+ if (account === undefined) {
1162
+ throw new errors.ArgumentsRequired(this.id + ' withdraw() requires a account parameter in params');
1163
+ }
1164
+ const txRequest = {
1165
+ 'accountId': account,
1166
+ 'metadata': {
1167
+ 'sender': this.walletAddress,
1168
+ },
1169
+ 'amount': amount,
1170
+ };
1171
+ const tx = await this.privatePostBuildWithdraw(txRequest);
1172
+ const request = this.signTxEd25519(tx);
1173
+ const response = await this.privatePostSubmitWithdraw(request);
1174
+ //
1175
+ // {
1176
+ // "id": "0xf93f9bb8bf97eb570410caada92cfa3e66c7ed3a203a164f51d22d41eabe09c0",
1177
+ // "type": "subaccount",
1178
+ // "code": "USDC",
1179
+ // "accountNumber": 101,
1180
+ // "collateral": 39.0
1181
+ // }
1182
+ //
1183
+ return this.extend(this.parseTransaction(response, currency), {
1184
+ 'addressFrom': account,
1185
+ 'amount': amount,
1186
+ });
1187
+ }
1188
+ parseTransaction(transaction, currency = undefined) {
1189
+ return {
1190
+ 'info': transaction,
1191
+ 'id': this.safeString(transaction, 'id'),
1192
+ 'txid': this.safeString(transaction, 'tx_id'),
1193
+ 'timestamp': undefined,
1194
+ 'datetime': undefined,
1195
+ 'address': undefined,
1196
+ 'addressFrom': undefined,
1197
+ 'addressTo': undefined,
1198
+ 'tag': undefined,
1199
+ 'tagFrom': undefined,
1200
+ 'tagTo': undefined,
1201
+ 'type': undefined,
1202
+ 'amount': undefined,
1203
+ 'currency': this.safeString(transaction, 'code'),
1204
+ 'status': undefined,
1205
+ 'updated': undefined,
1206
+ 'comment': undefined,
1207
+ 'internal': undefined,
1208
+ 'fee': undefined,
1209
+ 'network': undefined,
1210
+ };
1211
+ }
1212
+ /**
1213
+ * @method
1214
+ * @name aftermath#setLeverage
1215
+ * @description set the level of leverage for a market
1216
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/build_set_leverage
1217
+ * @see https://testnet.aftermath.finance/docs/#/CCXT/submit_set_leverage
1218
+ * @param {float} leverage the rate of leverage
1219
+ * @param {string} symbol unified market symbol
1220
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
1221
+ * @param {Account} [params.account] account id to use, required
1222
+ * @returns {object} response from the exchange
1223
+ */
1224
+ async setLeverage(leverage, symbol = undefined, params = {}) {
1225
+ if (symbol === undefined) {
1226
+ throw new errors.ArgumentsRequired(this.id + ' setLeverage() requires a symbol argument');
1227
+ }
1228
+ await this.loadMarkets();
1229
+ const market = this.market(symbol);
1230
+ let account = undefined;
1231
+ [account, params] = this.handleOptionAndParams2(params, 'setLeverage', 'account', 'accountId');
1232
+ const txRequest = {
1233
+ 'accountId': account,
1234
+ 'chId': market['id'],
1235
+ 'leverage': leverage,
1236
+ 'metadata': {
1237
+ 'sender': this.walletAddress,
1238
+ },
1239
+ };
1240
+ const tx = await this.privatePostBuildSetLeverage(txRequest);
1241
+ const request = this.signTxEd25519(tx);
1242
+ const response = await this.privatePostSubmitSetLeverage(request);
1243
+ //
1244
+ // {
1245
+ // "id": "0xyydsxxxxxxxxyydsxxxxxxx:141",
1246
+ // "symbol": "BTC/USD:USDC",
1247
+ // "marginMode": "isolated",
1248
+ // "side": "long",
1249
+ // "contracts": 0.001,
1250
+ // "contractSize": 88506.195911625,
1251
+ // "entryPrice": 90999.0,
1252
+ // "notional": 88.50907726931732,
1253
+ // "marginRatio": 1.0000000000041465,
1254
+ // "leverage": 0.9999999999958537,
1255
+ // "collateral": 91.00196251238035,
1256
+ // "initialMargin": 2.212726931732933,
1257
+ // "maintenanceMargin": 1.1063634658664665,
1258
+ // "initialMarginPercentage": 0.025,
1259
+ // "maintenanceMarginPercentage": 0.0125,
1260
+ // "unrealizedPnl": -2.492804088375008,
1261
+ // "liquidationPrice": -3.71625538227e-7
1262
+ // }
1263
+ //
1264
+ return response;
1265
+ }
1266
+ /**
1267
+ * @method
1268
+ * @name aftermath#signTxEd25519
1269
+ * @description Helper to sign some transaction bytes and return a generic transaction execution request.
1270
+ * @param {object} [tx] transaction bytes and the signing digest for them
1271
+ * @returns {object} the input transaction bytes and the signed digest
1272
+ */
1273
+ signTxEd25519(tx) {
1274
+ if (this.privateKey.indexOf('suiprivkey') >= 0) {
1275
+ throw new errors.NotSupported(this.id + ' only support hex encoding private key, please transform bech32 encoding private key');
1276
+ }
1277
+ const signingDigest = this.safeString(tx, 'signingDigest');
1278
+ const digest = this.base64ToBinary(signingDigest);
1279
+ const privateKey = this.base16ToBinary(this.privateKey);
1280
+ const signature = crypto.eddsa(digest, privateKey, ed25519.ed25519);
1281
+ const hexPublicKey = this.safeString(this.options, 'publicKey');
1282
+ if (hexPublicKey === undefined) {
1283
+ throw new errors.ArgumentsRequired(this.id + ' requires hex encoding public key in options');
1284
+ }
1285
+ const publicKey = this.base16ToBinary(hexPublicKey);
1286
+ const suiSignature = this.binaryConcat(this.base16ToBinary('00'), this.binaryConcat(this.base64ToBinary(signature), publicKey));
1287
+ const base64Sig = this.binaryToBase64(suiSignature);
1288
+ const transactionBytes = this.safeString(tx, 'transactionBytes');
1289
+ const signatures = [base64Sig];
1290
+ return { 'transactionBytes': transactionBytes, 'signatures': signatures };
1291
+ }
1292
+ parseOrder(order, market = undefined) {
1293
+ return this.safeOrder(order, market);
1294
+ }
1295
+ handleErrors(httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody) {
1296
+ if (!response) {
1297
+ return undefined; // fallback to default error handler
1298
+ }
1299
+ //
1300
+ // Error with ID: #68498f1e536664f31a7b1aa7
1301
+ //
1302
+ if (body.indexOf('Error') >= 0) {
1303
+ this.throwBroadlyMatchedException(this.exceptions['broad'], body, '');
1304
+ throw new errors.ExchangeError(body);
1305
+ }
1306
+ return undefined;
1307
+ }
1308
+ sign(path, api = 'public', method = 'POST', params = {}, headers = undefined, body = undefined) {
1309
+ const url = this.urls['api']['rest'] + '/' + path;
1310
+ if (api === 'private') {
1311
+ this.checkRequiredCredentials();
1312
+ }
1313
+ if (method === 'POST') {
1314
+ headers = {
1315
+ 'Content-Type': 'application/json',
1316
+ };
1317
+ body = this.json(params);
1318
+ }
1319
+ return { 'url': url, 'method': method, 'body': body, 'headers': headers };
1320
+ }
1321
+ }
1322
+
1323
+ exports["default"] = aftermath;