ccxt 4.2.77__py2.py3-none-any.whl → 4.4.49__py2.py3-none-any.whl

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 (546) hide show
  1. ccxt/__init__.py +36 -14
  2. ccxt/abstract/alpaca.py +4 -0
  3. ccxt/abstract/bigone.py +1 -1
  4. ccxt/abstract/binance.py +112 -48
  5. ccxt/abstract/binancecoinm.py +112 -48
  6. ccxt/abstract/binanceus.py +147 -83
  7. ccxt/abstract/binanceusdm.py +112 -48
  8. ccxt/abstract/bingx.py +133 -78
  9. ccxt/abstract/bitbank.py +5 -0
  10. ccxt/abstract/bitfinex.py +136 -65
  11. ccxt/abstract/bitfinex1.py +69 -0
  12. ccxt/abstract/bitflyer.py +1 -0
  13. ccxt/abstract/bitget.py +8 -1
  14. ccxt/abstract/bitmart.py +13 -1
  15. ccxt/abstract/bitopro.py +1 -0
  16. ccxt/abstract/bitpanda.py +0 -12
  17. ccxt/abstract/bitrue.py +3 -3
  18. ccxt/abstract/bitstamp.py +26 -3
  19. ccxt/abstract/blofin.py +24 -0
  20. ccxt/abstract/btcbox.py +1 -0
  21. ccxt/abstract/bybit.py +29 -14
  22. ccxt/abstract/cex.py +28 -29
  23. ccxt/abstract/coinbase.py +6 -0
  24. ccxt/abstract/coinbaseadvanced.py +94 -0
  25. ccxt/abstract/{coinbasepro.py → coinbaseexchange.py} +1 -0
  26. ccxt/abstract/coinbaseinternational.py +1 -1
  27. ccxt/abstract/coincatch.py +94 -0
  28. ccxt/abstract/coinex.py +233 -123
  29. ccxt/abstract/coinmetro.py +1 -0
  30. ccxt/abstract/cryptocom.py +14 -0
  31. ccxt/abstract/defx.py +69 -0
  32. ccxt/abstract/deribit.py +1 -0
  33. ccxt/abstract/digifinex.py +1 -0
  34. ccxt/abstract/ellipx.py +25 -0
  35. ccxt/abstract/gate.py +20 -0
  36. ccxt/abstract/gateio.py +20 -0
  37. ccxt/abstract/gemini.py +1 -0
  38. ccxt/abstract/hashkey.py +67 -0
  39. ccxt/abstract/hyperliquid.py +1 -1
  40. ccxt/abstract/independentreserve.py +6 -0
  41. ccxt/abstract/kraken.py +4 -3
  42. ccxt/abstract/krakenfutures.py +4 -0
  43. ccxt/abstract/kucoin.py +24 -0
  44. ccxt/abstract/kucoinfutures.py +34 -0
  45. ccxt/abstract/luno.py +2 -0
  46. ccxt/abstract/mexc.py +4 -0
  47. ccxt/abstract/myokx.py +340 -0
  48. ccxt/abstract/oceanex.py +5 -0
  49. ccxt/abstract/okx.py +30 -0
  50. ccxt/abstract/onetrading.py +0 -12
  51. ccxt/abstract/oxfun.py +34 -0
  52. ccxt/abstract/paradex.py +40 -0
  53. ccxt/abstract/phemex.py +1 -0
  54. ccxt/abstract/upbit.py +4 -0
  55. ccxt/abstract/vertex.py +19 -0
  56. ccxt/abstract/whitebit.py +31 -1
  57. ccxt/abstract/woo.py +6 -2
  58. ccxt/abstract/woofipro.py +119 -0
  59. ccxt/abstract/xt.py +153 -0
  60. ccxt/abstract/zonda.py +6 -0
  61. ccxt/ace.py +164 -60
  62. ccxt/alpaca.py +727 -63
  63. ccxt/ascendex.py +395 -249
  64. ccxt/async_support/__init__.py +36 -14
  65. ccxt/async_support/ace.py +164 -60
  66. ccxt/async_support/alpaca.py +727 -63
  67. ccxt/async_support/ascendex.py +396 -249
  68. ccxt/async_support/base/exchange.py +531 -155
  69. ccxt/async_support/base/ws/aiohttp_client.py +28 -5
  70. ccxt/async_support/base/ws/cache.py +3 -2
  71. ccxt/async_support/base/ws/client.py +26 -5
  72. ccxt/async_support/base/ws/fast_client.py +4 -3
  73. ccxt/async_support/base/ws/functions.py +1 -1
  74. ccxt/async_support/base/ws/future.py +40 -31
  75. ccxt/async_support/base/ws/order_book_side.py +3 -0
  76. ccxt/async_support/bequant.py +1 -1
  77. ccxt/async_support/bigone.py +329 -202
  78. ccxt/async_support/binance.py +3030 -1087
  79. ccxt/async_support/binancecoinm.py +2 -1
  80. ccxt/async_support/binanceus.py +12 -1
  81. ccxt/async_support/binanceusdm.py +3 -1
  82. ccxt/async_support/bingx.py +3205 -937
  83. ccxt/async_support/bit2c.py +119 -38
  84. ccxt/async_support/bitbank.py +215 -76
  85. ccxt/async_support/bitbns.py +124 -53
  86. ccxt/async_support/bitfinex.py +3236 -1078
  87. ccxt/async_support/bitfinex1.py +1711 -0
  88. ccxt/async_support/bitflyer.py +238 -49
  89. ccxt/async_support/bitget.py +1525 -573
  90. ccxt/async_support/bithumb.py +199 -65
  91. ccxt/async_support/bitmart.py +1320 -435
  92. ccxt/async_support/bitmex.py +308 -111
  93. ccxt/async_support/bitopro.py +256 -96
  94. ccxt/async_support/bitrue.py +365 -233
  95. ccxt/async_support/bitso.py +201 -89
  96. ccxt/async_support/bitstamp.py +438 -269
  97. ccxt/async_support/bitteam.py +179 -73
  98. ccxt/async_support/bitvavo.py +180 -70
  99. ccxt/async_support/bl3p.py +92 -25
  100. ccxt/async_support/blockchaincom.py +193 -79
  101. ccxt/async_support/blofin.py +392 -148
  102. ccxt/async_support/btcalpha.py +161 -55
  103. ccxt/async_support/btcbox.py +250 -34
  104. ccxt/async_support/btcmarkets.py +232 -85
  105. ccxt/async_support/btcturk.py +159 -60
  106. ccxt/async_support/bybit.py +2231 -1193
  107. ccxt/async_support/cex.py +1409 -1329
  108. ccxt/async_support/coinbase.py +1454 -287
  109. ccxt/async_support/coinbaseadvanced.py +17 -0
  110. ccxt/async_support/{coinbasepro.py → coinbaseexchange.py} +233 -99
  111. ccxt/async_support/coinbaseinternational.py +428 -88
  112. ccxt/async_support/coincatch.py +5152 -0
  113. ccxt/async_support/coincheck.py +121 -38
  114. ccxt/async_support/coinex.py +4020 -3339
  115. ccxt/async_support/coinlist.py +273 -116
  116. ccxt/async_support/coinmate.py +204 -97
  117. ccxt/async_support/coinmetro.py +203 -110
  118. ccxt/async_support/coinone.py +142 -68
  119. ccxt/async_support/coinsph.py +223 -97
  120. ccxt/async_support/coinspot.py +137 -62
  121. ccxt/async_support/cryptocom.py +515 -185
  122. ccxt/async_support/currencycom.py +203 -85
  123. ccxt/async_support/defx.py +2066 -0
  124. ccxt/async_support/delta.py +404 -109
  125. ccxt/async_support/deribit.py +639 -323
  126. ccxt/async_support/digifinex.py +465 -233
  127. ccxt/async_support/ellipx.py +1887 -0
  128. ccxt/async_support/exmo.py +317 -128
  129. ccxt/async_support/gate.py +1472 -463
  130. ccxt/async_support/gemini.py +206 -84
  131. ccxt/async_support/hashkey.py +4164 -0
  132. ccxt/async_support/hitbtc.py +433 -178
  133. ccxt/async_support/hollaex.py +207 -83
  134. ccxt/async_support/htx.py +1095 -563
  135. ccxt/async_support/huobijp.py +178 -56
  136. ccxt/async_support/hyperliquid.py +1678 -292
  137. ccxt/async_support/idex.py +219 -95
  138. ccxt/async_support/independentreserve.py +300 -31
  139. ccxt/async_support/indodax.py +226 -62
  140. ccxt/async_support/kraken.py +871 -354
  141. ccxt/async_support/krakenfutures.py +324 -100
  142. ccxt/async_support/kucoin.py +917 -357
  143. ccxt/async_support/kucoinfutures.py +1004 -149
  144. ccxt/async_support/kuna.py +198 -107
  145. ccxt/async_support/latoken.py +199 -79
  146. ccxt/async_support/lbank.py +360 -113
  147. ccxt/async_support/luno.py +185 -62
  148. ccxt/async_support/lykke.py +168 -55
  149. ccxt/async_support/mercado.py +101 -29
  150. ccxt/async_support/mexc.py +995 -429
  151. ccxt/async_support/myokx.py +53 -0
  152. ccxt/async_support/ndax.py +234 -82
  153. ccxt/async_support/novadax.py +195 -75
  154. ccxt/async_support/oceanex.py +244 -59
  155. ccxt/async_support/okcoin.py +301 -165
  156. ccxt/async_support/okx.py +1776 -454
  157. ccxt/async_support/onetrading.py +198 -414
  158. ccxt/async_support/oxfun.py +2898 -0
  159. ccxt/async_support/p2b.py +142 -52
  160. ccxt/async_support/paradex.py +2085 -0
  161. ccxt/async_support/paymium.py +56 -32
  162. ccxt/async_support/phemex.py +572 -196
  163. ccxt/async_support/poloniex.py +218 -95
  164. ccxt/async_support/poloniexfutures.py +260 -92
  165. ccxt/async_support/probit.py +143 -110
  166. ccxt/async_support/timex.py +123 -70
  167. ccxt/async_support/tokocrypto.py +129 -93
  168. ccxt/async_support/tradeogre.py +39 -25
  169. ccxt/async_support/upbit.py +322 -113
  170. ccxt/async_support/vertex.py +2983 -0
  171. ccxt/async_support/wavesexchange.py +227 -173
  172. ccxt/async_support/wazirx.py +145 -65
  173. ccxt/async_support/whitebit.py +533 -138
  174. ccxt/async_support/woo.py +1137 -296
  175. ccxt/async_support/woofipro.py +2716 -0
  176. ccxt/async_support/xt.py +4628 -0
  177. ccxt/async_support/yobit.py +160 -92
  178. ccxt/async_support/zaif.py +80 -33
  179. ccxt/async_support/zonda.py +140 -69
  180. ccxt/base/errors.py +51 -20
  181. ccxt/base/exchange.py +1722 -480
  182. ccxt/base/precise.py +10 -0
  183. ccxt/base/types.py +223 -4
  184. ccxt/bequant.py +1 -1
  185. ccxt/bigone.py +329 -202
  186. ccxt/binance.py +3030 -1087
  187. ccxt/binancecoinm.py +2 -1
  188. ccxt/binanceus.py +12 -1
  189. ccxt/binanceusdm.py +3 -1
  190. ccxt/bingx.py +3205 -937
  191. ccxt/bit2c.py +119 -38
  192. ccxt/bitbank.py +215 -76
  193. ccxt/bitbns.py +124 -53
  194. ccxt/bitfinex.py +3235 -1078
  195. ccxt/bitfinex1.py +1710 -0
  196. ccxt/bitflyer.py +238 -49
  197. ccxt/bitget.py +1525 -573
  198. ccxt/bithumb.py +198 -65
  199. ccxt/bitmart.py +1320 -435
  200. ccxt/bitmex.py +308 -111
  201. ccxt/bitopro.py +256 -96
  202. ccxt/bitrue.py +365 -233
  203. ccxt/bitso.py +201 -89
  204. ccxt/bitstamp.py +438 -269
  205. ccxt/bitteam.py +179 -73
  206. ccxt/bitvavo.py +180 -70
  207. ccxt/bl3p.py +92 -25
  208. ccxt/blockchaincom.py +193 -79
  209. ccxt/blofin.py +392 -148
  210. ccxt/btcalpha.py +161 -55
  211. ccxt/btcbox.py +250 -34
  212. ccxt/btcmarkets.py +232 -85
  213. ccxt/btcturk.py +159 -60
  214. ccxt/bybit.py +2231 -1193
  215. ccxt/cex.py +1408 -1329
  216. ccxt/coinbase.py +1454 -287
  217. ccxt/coinbaseadvanced.py +17 -0
  218. ccxt/{coinbasepro.py → coinbaseexchange.py} +233 -99
  219. ccxt/coinbaseinternational.py +428 -88
  220. ccxt/coincatch.py +5152 -0
  221. ccxt/coincheck.py +121 -38
  222. ccxt/coinex.py +4020 -3339
  223. ccxt/coinlist.py +273 -116
  224. ccxt/coinmate.py +204 -97
  225. ccxt/coinmetro.py +203 -110
  226. ccxt/coinone.py +142 -68
  227. ccxt/coinsph.py +223 -97
  228. ccxt/coinspot.py +137 -62
  229. ccxt/cryptocom.py +515 -185
  230. ccxt/currencycom.py +203 -85
  231. ccxt/defx.py +2065 -0
  232. ccxt/delta.py +404 -109
  233. ccxt/deribit.py +639 -323
  234. ccxt/digifinex.py +465 -233
  235. ccxt/ellipx.py +1887 -0
  236. ccxt/exmo.py +317 -128
  237. ccxt/gate.py +1472 -463
  238. ccxt/gemini.py +206 -84
  239. ccxt/hashkey.py +4164 -0
  240. ccxt/hitbtc.py +433 -178
  241. ccxt/hollaex.py +207 -83
  242. ccxt/htx.py +1095 -563
  243. ccxt/huobijp.py +178 -56
  244. ccxt/hyperliquid.py +1677 -292
  245. ccxt/idex.py +219 -95
  246. ccxt/independentreserve.py +299 -31
  247. ccxt/indodax.py +226 -62
  248. ccxt/kraken.py +871 -354
  249. ccxt/krakenfutures.py +324 -100
  250. ccxt/kucoin.py +917 -357
  251. ccxt/kucoinfutures.py +1004 -149
  252. ccxt/kuna.py +198 -107
  253. ccxt/latoken.py +199 -79
  254. ccxt/lbank.py +360 -113
  255. ccxt/luno.py +185 -62
  256. ccxt/lykke.py +168 -55
  257. ccxt/mercado.py +101 -29
  258. ccxt/mexc.py +994 -429
  259. ccxt/myokx.py +53 -0
  260. ccxt/ndax.py +234 -82
  261. ccxt/novadax.py +195 -75
  262. ccxt/oceanex.py +244 -59
  263. ccxt/okcoin.py +301 -165
  264. ccxt/okx.py +1776 -454
  265. ccxt/onetrading.py +198 -414
  266. ccxt/oxfun.py +2897 -0
  267. ccxt/p2b.py +142 -52
  268. ccxt/paradex.py +2085 -0
  269. ccxt/paymium.py +56 -32
  270. ccxt/phemex.py +572 -196
  271. ccxt/poloniex.py +218 -95
  272. ccxt/poloniexfutures.py +260 -92
  273. ccxt/pro/__init__.py +29 -5
  274. ccxt/pro/alpaca.py +32 -17
  275. ccxt/pro/ascendex.py +62 -14
  276. ccxt/pro/bequant.py +4 -0
  277. ccxt/pro/binance.py +1596 -329
  278. ccxt/pro/binancecoinm.py +1 -0
  279. ccxt/pro/binanceus.py +2 -9
  280. ccxt/pro/binanceusdm.py +2 -0
  281. ccxt/pro/bingx.py +527 -134
  282. ccxt/pro/bitcoincom.py +4 -1
  283. ccxt/pro/bitfinex.py +731 -266
  284. ccxt/pro/bitfinex1.py +635 -0
  285. ccxt/pro/bitget.py +726 -357
  286. ccxt/pro/bithumb.py +380 -0
  287. ccxt/pro/bitmart.py +143 -39
  288. ccxt/pro/bitmex.py +199 -40
  289. ccxt/pro/bitopro.py +25 -13
  290. ccxt/pro/bitrue.py +31 -32
  291. ccxt/pro/bitstamp.py +7 -6
  292. ccxt/pro/bitvavo.py +203 -81
  293. ccxt/pro/blockchaincom.py +30 -17
  294. ccxt/pro/blofin.py +692 -0
  295. ccxt/pro/bybit.py +791 -82
  296. ccxt/pro/cex.py +99 -51
  297. ccxt/pro/coinbase.py +220 -30
  298. ccxt/{async_support/hitbtc3.py → pro/coinbaseadvanced.py} +5 -5
  299. ccxt/pro/{coinbasepro.py → coinbaseexchange.py} +19 -19
  300. ccxt/pro/coinbaseinternational.py +193 -30
  301. ccxt/pro/coincatch.py +1464 -0
  302. ccxt/pro/coincheck.py +11 -6
  303. ccxt/pro/coinex.py +965 -665
  304. ccxt/pro/coinone.py +17 -10
  305. ccxt/pro/cryptocom.py +446 -66
  306. ccxt/pro/currencycom.py +11 -10
  307. ccxt/pro/defx.py +832 -0
  308. ccxt/pro/deribit.py +167 -31
  309. ccxt/pro/exmo.py +252 -20
  310. ccxt/pro/gate.py +729 -64
  311. ccxt/pro/gemini.py +44 -26
  312. ccxt/pro/hashkey.py +802 -0
  313. ccxt/pro/hitbtc.py +208 -103
  314. ccxt/pro/hollaex.py +25 -9
  315. ccxt/pro/htx.py +83 -39
  316. ccxt/pro/huobijp.py +17 -16
  317. ccxt/pro/hyperliquid.py +502 -31
  318. ccxt/pro/idex.py +28 -13
  319. ccxt/pro/independentreserve.py +21 -16
  320. ccxt/pro/kraken.py +298 -51
  321. ccxt/pro/krakenfutures.py +166 -75
  322. ccxt/pro/kucoin.py +395 -77
  323. ccxt/pro/kucoinfutures.py +400 -99
  324. ccxt/pro/lbank.py +52 -31
  325. ccxt/pro/luno.py +12 -10
  326. ccxt/pro/mexc.py +400 -50
  327. ccxt/pro/myokx.py +28 -0
  328. ccxt/pro/ndax.py +25 -12
  329. ccxt/pro/okcoin.py +28 -9
  330. ccxt/pro/okx.py +935 -124
  331. ccxt/pro/onetrading.py +41 -24
  332. ccxt/pro/oxfun.py +1054 -0
  333. ccxt/pro/p2b.py +100 -24
  334. ccxt/pro/paradex.py +352 -0
  335. ccxt/pro/phemex.py +92 -33
  336. ccxt/pro/poloniex.py +128 -49
  337. ccxt/pro/poloniexfutures.py +53 -32
  338. ccxt/pro/probit.py +92 -85
  339. ccxt/pro/upbit.py +401 -8
  340. ccxt/pro/vertex.py +943 -0
  341. ccxt/pro/wazirx.py +46 -28
  342. ccxt/pro/whitebit.py +65 -12
  343. ccxt/pro/woo.py +437 -65
  344. ccxt/pro/woofipro.py +1271 -0
  345. ccxt/pro/xt.py +1067 -0
  346. ccxt/probit.py +143 -110
  347. ccxt/static_dependencies/__init__.py +1 -1
  348. ccxt/static_dependencies/lark/__init__.py +38 -0
  349. ccxt/static_dependencies/lark/__pyinstaller/__init__.py +6 -0
  350. ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +14 -0
  351. ccxt/static_dependencies/lark/ast_utils.py +59 -0
  352. ccxt/static_dependencies/lark/common.py +86 -0
  353. ccxt/static_dependencies/lark/exceptions.py +292 -0
  354. ccxt/static_dependencies/lark/grammar.py +130 -0
  355. ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
  356. ccxt/static_dependencies/lark/indenter.py +143 -0
  357. ccxt/static_dependencies/lark/lark.py +658 -0
  358. ccxt/static_dependencies/lark/lexer.py +678 -0
  359. ccxt/static_dependencies/lark/load_grammar.py +1428 -0
  360. ccxt/static_dependencies/lark/parse_tree_builder.py +391 -0
  361. ccxt/static_dependencies/lark/parser_frontends.py +257 -0
  362. ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
  363. ccxt/static_dependencies/lark/parsers/cyk.py +340 -0
  364. ccxt/static_dependencies/lark/parsers/earley.py +314 -0
  365. ccxt/static_dependencies/lark/parsers/earley_common.py +42 -0
  366. ccxt/static_dependencies/lark/parsers/earley_forest.py +801 -0
  367. ccxt/static_dependencies/lark/parsers/grammar_analysis.py +203 -0
  368. ccxt/static_dependencies/lark/parsers/lalr_analysis.py +332 -0
  369. ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +158 -0
  370. ccxt/static_dependencies/lark/parsers/lalr_parser.py +122 -0
  371. ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +110 -0
  372. ccxt/static_dependencies/lark/parsers/xearley.py +165 -0
  373. ccxt/static_dependencies/lark/py.typed +0 -0
  374. ccxt/static_dependencies/lark/reconstruct.py +107 -0
  375. ccxt/static_dependencies/lark/tools/__init__.py +70 -0
  376. ccxt/static_dependencies/lark/tools/nearley.py +202 -0
  377. ccxt/static_dependencies/lark/tools/serialize.py +32 -0
  378. ccxt/static_dependencies/lark/tools/standalone.py +196 -0
  379. ccxt/static_dependencies/lark/tree.py +267 -0
  380. ccxt/static_dependencies/lark/tree_matcher.py +186 -0
  381. ccxt/static_dependencies/lark/tree_templates.py +180 -0
  382. ccxt/static_dependencies/lark/utils.py +343 -0
  383. ccxt/static_dependencies/lark/visitors.py +596 -0
  384. ccxt/static_dependencies/marshmallow/__init__.py +81 -0
  385. ccxt/static_dependencies/marshmallow/base.py +65 -0
  386. ccxt/static_dependencies/marshmallow/class_registry.py +94 -0
  387. ccxt/static_dependencies/marshmallow/decorators.py +231 -0
  388. ccxt/static_dependencies/marshmallow/error_store.py +60 -0
  389. ccxt/static_dependencies/marshmallow/exceptions.py +71 -0
  390. ccxt/static_dependencies/marshmallow/fields.py +2114 -0
  391. ccxt/static_dependencies/marshmallow/orderedset.py +89 -0
  392. ccxt/static_dependencies/marshmallow/py.typed +0 -0
  393. ccxt/static_dependencies/marshmallow/schema.py +1228 -0
  394. ccxt/static_dependencies/marshmallow/types.py +12 -0
  395. ccxt/static_dependencies/marshmallow/utils.py +378 -0
  396. ccxt/static_dependencies/marshmallow/validate.py +678 -0
  397. ccxt/static_dependencies/marshmallow/warnings.py +2 -0
  398. ccxt/static_dependencies/marshmallow_dataclass/__init__.py +1047 -0
  399. ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +51 -0
  400. ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +45 -0
  401. ccxt/static_dependencies/marshmallow_dataclass/mypy.py +71 -0
  402. ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
  403. ccxt/static_dependencies/marshmallow_dataclass/typing.py +14 -0
  404. ccxt/static_dependencies/marshmallow_dataclass/union_field.py +82 -0
  405. ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +1 -0
  406. ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +193 -0
  407. ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
  408. ccxt/static_dependencies/starknet/__init__.py +0 -0
  409. ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
  410. ccxt/static_dependencies/starknet/cairo/data_types.py +123 -0
  411. ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
  412. ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +77 -0
  413. ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +46 -0
  414. ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +138 -0
  415. ccxt/static_dependencies/starknet/cairo/felt.py +64 -0
  416. ccxt/static_dependencies/starknet/cairo/type_parser.py +121 -0
  417. ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
  418. ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +59 -0
  419. ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
  420. ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +77 -0
  421. ccxt/static_dependencies/starknet/ccxt_utils.py +7 -0
  422. ccxt/static_dependencies/starknet/common.py +15 -0
  423. ccxt/static_dependencies/starknet/constants.py +39 -0
  424. ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
  425. ccxt/static_dependencies/starknet/hash/address.py +79 -0
  426. ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +111 -0
  427. ccxt/static_dependencies/starknet/hash/selector.py +16 -0
  428. ccxt/static_dependencies/starknet/hash/storage.py +12 -0
  429. ccxt/static_dependencies/starknet/hash/utils.py +78 -0
  430. ccxt/static_dependencies/starknet/models/__init__.py +0 -0
  431. ccxt/static_dependencies/starknet/models/typed_data.py +45 -0
  432. ccxt/static_dependencies/starknet/serialization/__init__.py +24 -0
  433. ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +40 -0
  434. ccxt/static_dependencies/starknet/serialization/_context.py +142 -0
  435. ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +10 -0
  436. ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +82 -0
  437. ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +43 -0
  438. ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +37 -0
  439. ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +66 -0
  440. ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +71 -0
  441. ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +71 -0
  442. ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +50 -0
  443. ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +58 -0
  444. ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +43 -0
  445. ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +40 -0
  446. ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +72 -0
  447. ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +36 -0
  448. ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +36 -0
  449. ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +76 -0
  450. ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +100 -0
  451. ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +32 -0
  452. ccxt/static_dependencies/starknet/serialization/errors.py +10 -0
  453. ccxt/static_dependencies/starknet/serialization/factory.py +229 -0
  454. ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +110 -0
  455. ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +59 -0
  456. ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
  457. ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +86 -0
  458. ccxt/static_dependencies/starknet/utils/iterable.py +13 -0
  459. ccxt/static_dependencies/starknet/utils/schema.py +13 -0
  460. ccxt/static_dependencies/starknet/utils/typed_data.py +182 -0
  461. ccxt/static_dependencies/starkware/__init__.py +0 -0
  462. ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
  463. ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +50 -0
  464. ccxt/static_dependencies/starkware/crypto/math_utils.py +78 -0
  465. ccxt/static_dependencies/starkware/crypto/signature.py +2344 -0
  466. ccxt/static_dependencies/starkware/crypto/utils.py +63 -0
  467. ccxt/static_dependencies/sympy/__init__.py +0 -0
  468. ccxt/static_dependencies/sympy/core/__init__.py +0 -0
  469. ccxt/static_dependencies/sympy/core/intfunc.py +35 -0
  470. ccxt/static_dependencies/sympy/external/__init__.py +0 -0
  471. ccxt/static_dependencies/sympy/external/gmpy.py +345 -0
  472. ccxt/static_dependencies/sympy/external/importtools.py +187 -0
  473. ccxt/static_dependencies/sympy/external/ntheory.py +637 -0
  474. ccxt/static_dependencies/sympy/external/pythonmpq.py +341 -0
  475. ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
  476. ccxt/static_dependencies/typing_inspect/typing_inspect.py +851 -0
  477. ccxt/test/{test_async.py → tests_async.py} +456 -391
  478. ccxt/test/tests_helpers.py +285 -0
  479. ccxt/test/tests_init.py +39 -0
  480. ccxt/test/{test_sync.py → tests_sync.py} +456 -393
  481. ccxt/timex.py +123 -70
  482. ccxt/tokocrypto.py +129 -93
  483. ccxt/tradeogre.py +39 -25
  484. ccxt/upbit.py +322 -113
  485. ccxt/vertex.py +2983 -0
  486. ccxt/wavesexchange.py +227 -173
  487. ccxt/wazirx.py +145 -65
  488. ccxt/whitebit.py +533 -138
  489. ccxt/woo.py +1137 -296
  490. ccxt/woofipro.py +2716 -0
  491. ccxt/xt.py +4627 -0
  492. ccxt/yobit.py +159 -92
  493. ccxt/zaif.py +80 -33
  494. ccxt/zonda.py +140 -69
  495. ccxt-4.4.49.dist-info/LICENSE.txt +21 -0
  496. ccxt-4.4.49.dist-info/METADATA +646 -0
  497. ccxt-4.4.49.dist-info/RECORD +669 -0
  498. {ccxt-4.2.77.dist-info → ccxt-4.4.49.dist-info}/WHEEL +1 -1
  499. ccxt/abstract/bitbay.py +0 -47
  500. ccxt/abstract/bitfinex2.py +0 -139
  501. ccxt/abstract/hitbtc3.py +0 -115
  502. ccxt/async_support/bitbay.py +0 -17
  503. ccxt/async_support/bitfinex2.py +0 -3496
  504. ccxt/async_support/flowbtc.py +0 -34
  505. ccxt/bitbay.py +0 -17
  506. ccxt/bitfinex2.py +0 -3496
  507. ccxt/flowbtc.py +0 -34
  508. ccxt/hitbtc3.py +0 -16
  509. ccxt/pro/bitfinex2.py +0 -1081
  510. ccxt/test/base/__init__.py +0 -28
  511. ccxt/test/base/test_account.py +0 -26
  512. ccxt/test/base/test_balance.py +0 -56
  513. ccxt/test/base/test_borrow_interest.py +0 -35
  514. ccxt/test/base/test_borrow_rate.py +0 -32
  515. ccxt/test/base/test_calculate_fee.py +0 -51
  516. ccxt/test/base/test_crypto.py +0 -127
  517. ccxt/test/base/test_currency.py +0 -76
  518. ccxt/test/base/test_datetime.py +0 -103
  519. ccxt/test/base/test_decimal_to_precision.py +0 -392
  520. ccxt/test/base/test_deep_extend.py +0 -68
  521. ccxt/test/base/test_deposit_withdrawal.py +0 -50
  522. ccxt/test/base/test_exchange_datetime_functions.py +0 -76
  523. ccxt/test/base/test_funding_rate_history.py +0 -29
  524. ccxt/test/base/test_last_price.py +0 -32
  525. ccxt/test/base/test_ledger_entry.py +0 -45
  526. ccxt/test/base/test_ledger_item.py +0 -48
  527. ccxt/test/base/test_leverage_tier.py +0 -33
  528. ccxt/test/base/test_margin_mode.py +0 -24
  529. ccxt/test/base/test_margin_modification.py +0 -35
  530. ccxt/test/base/test_market.py +0 -190
  531. ccxt/test/base/test_number.py +0 -411
  532. ccxt/test/base/test_ohlcv.py +0 -32
  533. ccxt/test/base/test_open_interest.py +0 -32
  534. ccxt/test/base/test_order.py +0 -64
  535. ccxt/test/base/test_order_book.py +0 -63
  536. ccxt/test/base/test_position.py +0 -60
  537. ccxt/test/base/test_shared_methods.py +0 -345
  538. ccxt/test/base/test_status.py +0 -24
  539. ccxt/test/base/test_throttle.py +0 -126
  540. ccxt/test/base/test_ticker.py +0 -86
  541. ccxt/test/base/test_trade.py +0 -47
  542. ccxt/test/base/test_trading_fee.py +0 -26
  543. ccxt/test/base/test_transaction.py +0 -39
  544. ccxt-4.2.77.dist-info/METADATA +0 -626
  545. ccxt-4.2.77.dist-info/RECORD +0 -534
  546. {ccxt-4.2.77.dist-info → ccxt-4.4.49.dist-info}/top_level.txt +0 -0
ccxt/wazirx.py CHANGED
@@ -6,7 +6,7 @@
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.wazirx import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
9
+ from ccxt.base.types import Balances, Currencies, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import PermissionDenied
@@ -50,42 +50,63 @@ class wazirx(Exchange, ImplicitAPI):
50
50
  'fetchBalance': True,
51
51
  'fetchBidsAsks': False,
52
52
  'fetchBorrowInterest': False,
53
+ 'fetchBorrowRate': False,
53
54
  'fetchBorrowRateHistories': False,
54
55
  'fetchBorrowRateHistory': False,
56
+ 'fetchBorrowRates': False,
57
+ 'fetchBorrowRatesPerSymbol': False,
55
58
  'fetchClosedOrders': False,
56
59
  'fetchCrossBorrowRate': False,
57
60
  'fetchCrossBorrowRates': False,
58
61
  'fetchCurrencies': True,
59
62
  'fetchDepositAddress': True,
63
+ 'fetchDepositAddresses': False,
60
64
  'fetchDepositAddressesByNetwork': False,
61
65
  'fetchDeposits': True,
62
66
  'fetchDepositsWithdrawals': False,
63
67
  'fetchFundingHistory': False,
68
+ 'fetchFundingInterval': False,
69
+ 'fetchFundingIntervals': False,
64
70
  'fetchFundingRate': False,
65
71
  'fetchFundingRateHistory': False,
66
72
  'fetchFundingRates': False,
73
+ 'fetchGreeks': False,
67
74
  'fetchIndexOHLCV': False,
68
75
  'fetchIsolatedBorrowRate': False,
69
76
  'fetchIsolatedBorrowRates': False,
70
77
  'fetchIsolatedPositions': False,
71
78
  'fetchLeverage': False,
79
+ 'fetchLeverages': False,
72
80
  'fetchLeverageTiers': False,
81
+ 'fetchLiquidations': False,
82
+ 'fetchMarginAdjustmentHistory': False,
73
83
  'fetchMarginMode': False,
84
+ 'fetchMarginModes': False,
74
85
  'fetchMarketLeverageTiers': False,
75
86
  'fetchMarkets': True,
76
87
  'fetchMarkOHLCV': False,
88
+ 'fetchMarkPrices': False,
89
+ 'fetchMyLiquidations': False,
90
+ 'fetchMySettlementHistory': False,
77
91
  'fetchMyTrades': False,
78
92
  'fetchOHLCV': True,
93
+ 'fetchOpenInterest': False,
79
94
  'fetchOpenInterestHistory': False,
80
95
  'fetchOpenOrders': True,
96
+ 'fetchOption': False,
97
+ 'fetchOptionChain': False,
81
98
  'fetchOrder': False,
82
99
  'fetchOrderBook': True,
83
100
  'fetchOrders': True,
84
101
  'fetchPosition': False,
102
+ 'fetchPositionHistory': False,
85
103
  'fetchPositionMode': False,
86
104
  'fetchPositions': False,
105
+ 'fetchPositionsForSymbol': False,
106
+ 'fetchPositionsHistory': False,
87
107
  'fetchPositionsRisk': False,
88
108
  'fetchPremiumIndexOHLCV': False,
109
+ 'fetchSettlementHistory': False,
89
110
  'fetchStatus': True,
90
111
  'fetchTicker': True,
91
112
  'fetchTickers': True,
@@ -96,6 +117,8 @@ class wazirx(Exchange, ImplicitAPI):
96
117
  'fetchTransactionFees': False,
97
118
  'fetchTransactions': False,
98
119
  'fetchTransfers': False,
120
+ 'fetchUnderlyingAssets': False,
121
+ 'fetchVolatilityHistory': False,
99
122
  'fetchWithdrawals': True,
100
123
  'reduceMargin': False,
101
124
  'repayCrossMargin': False,
@@ -196,9 +219,11 @@ class wazirx(Exchange, ImplicitAPI):
196
219
  },
197
220
  })
198
221
 
199
- def fetch_markets(self, params={}):
222
+ def fetch_markets(self, params={}) -> List[Market]:
200
223
  """
201
- :see: https://docs.wazirx.com/#exchange-info
224
+
225
+ https://docs.wazirx.com/#exchange-info
226
+
202
227
  retrieves data on all markets for wazirx
203
228
  :param dict [params]: extra parameters specific to the exchange API endpoint
204
229
  :returns dict[]: an array of objects representing market data
@@ -233,7 +258,7 @@ class wazirx(Exchange, ImplicitAPI):
233
258
  markets = self.safe_value(response, 'symbols', [])
234
259
  return self.parse_markets(markets)
235
260
 
236
- def parse_market(self, market) -> Market:
261
+ def parse_market(self, market: dict) -> Market:
237
262
  id = self.safe_string(market, 'symbol')
238
263
  baseId = self.safe_string(market, 'baseAsset')
239
264
  quoteId = self.safe_string(market, 'quoteAsset')
@@ -307,7 +332,9 @@ class wazirx(Exchange, ImplicitAPI):
307
332
 
308
333
  def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
309
334
  """
310
- :see: https://docs.wazirx.com/#kline-candlestick-data
335
+
336
+ https://docs.wazirx.com/#kline-candlestick-data
337
+
311
338
  fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
312
339
  :param str symbol: unified symbol of the market to fetch OHLCV data for
313
340
  :param str timeframe: the length of time each candle represents. Available values [1m,5m,15m,30m,1h,2h,4h,6h,12h,1d,1w]
@@ -319,12 +346,12 @@ class wazirx(Exchange, ImplicitAPI):
319
346
  """
320
347
  self.load_markets()
321
348
  market = self.market(symbol)
322
- request = {
349
+ request: dict = {
323
350
  'symbol': market['id'],
324
351
  'interval': self.safe_string(self.timeframes, timeframe, timeframe),
325
352
  }
326
353
  if limit is not None:
327
- request['limit'] = limit
354
+ request['limit'] = min(limit, 2000)
328
355
  until = self.safe_integer(params, 'until')
329
356
  params = self.omit(params, ['until'])
330
357
  if since is not None:
@@ -355,7 +382,9 @@ class wazirx(Exchange, ImplicitAPI):
355
382
 
356
383
  def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
357
384
  """
358
- :see: https://docs.wazirx.com/#order-book
385
+
386
+ https://docs.wazirx.com/#order-book
387
+
359
388
  fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
360
389
  :param str symbol: unified symbol of the market to fetch the order book for
361
390
  :param int [limit]: the maximum amount of order book entries to return
@@ -364,7 +393,7 @@ class wazirx(Exchange, ImplicitAPI):
364
393
  """
365
394
  self.load_markets()
366
395
  market = self.market(symbol)
367
- request = {
396
+ request: dict = {
368
397
  'symbol': market['id'],
369
398
  }
370
399
  if limit is not None:
@@ -388,7 +417,9 @@ class wazirx(Exchange, ImplicitAPI):
388
417
 
389
418
  def fetch_ticker(self, symbol: str, params={}) -> Ticker:
390
419
  """
391
- :see: https://docs.wazirx.com/#24hr-ticker-price-change-statistics
420
+
421
+ https://docs.wazirx.com/#24hr-ticker-price-change-statistics
422
+
392
423
  fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
393
424
  :param str symbol: unified symbol of the market to fetch the ticker for
394
425
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -396,7 +427,7 @@ class wazirx(Exchange, ImplicitAPI):
396
427
  """
397
428
  self.load_markets()
398
429
  market = self.market(symbol)
399
- request = {
430
+ request: dict = {
400
431
  'symbol': market['id'],
401
432
  }
402
433
  ticker = self.publicGetTicker24hr(self.extend(request, params))
@@ -419,7 +450,9 @@ class wazirx(Exchange, ImplicitAPI):
419
450
 
420
451
  def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
421
452
  """
422
- :see: https://docs.wazirx.com/#24hr-tickers-price-change-statistics
453
+
454
+ https://docs.wazirx.com/#24hr-tickers-price-change-statistics
455
+
423
456
  fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
424
457
  :param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
425
458
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -444,7 +477,7 @@ class wazirx(Exchange, ImplicitAPI):
444
477
  # ...
445
478
  # ]
446
479
  #
447
- result = {}
480
+ result: dict = {}
448
481
  for i in range(0, len(tickers)):
449
482
  ticker = tickers[i]
450
483
  parsedTicker = self.parse_ticker(ticker)
@@ -454,7 +487,9 @@ class wazirx(Exchange, ImplicitAPI):
454
487
 
455
488
  def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
456
489
  """
457
- :see: https://docs.wazirx.com/#recent-trades-list
490
+
491
+ https://docs.wazirx.com/#recent-trades-list
492
+
458
493
  get the list of most recent trades for a particular symbol
459
494
  :param str symbol: unified symbol of the market to fetch trades for
460
495
  :param int [since]: timestamp in ms of the earliest trade to fetch
@@ -464,7 +499,7 @@ class wazirx(Exchange, ImplicitAPI):
464
499
  """
465
500
  self.load_markets()
466
501
  market = self.market(symbol)
467
- request = {
502
+ request: dict = {
468
503
  'symbol': market['id'],
469
504
  }
470
505
  if limit is not None:
@@ -487,7 +522,7 @@ class wazirx(Exchange, ImplicitAPI):
487
522
  # ]
488
523
  return self.parse_trades(response, market, since, limit)
489
524
 
490
- def parse_trade(self, trade, market: Market = None) -> Trade:
525
+ def parse_trade(self, trade: dict, market: Market = None) -> Trade:
491
526
  #
492
527
  # {
493
528
  # "id":322307791,
@@ -525,7 +560,9 @@ class wazirx(Exchange, ImplicitAPI):
525
560
 
526
561
  def fetch_status(self, params={}):
527
562
  """
528
- :see: https://docs.wazirx.com/#system-status
563
+
564
+ https://docs.wazirx.com/#system-status
565
+
529
566
  the latest known information on the availability of the exchange API
530
567
  :param dict [params]: extra parameters specific to the exchange API endpoint
531
568
  :returns dict: a `status structure <https://docs.ccxt.com/#/?id=exchange-status-structure>`
@@ -548,7 +585,9 @@ class wazirx(Exchange, ImplicitAPI):
548
585
 
549
586
  def fetch_time(self, params={}):
550
587
  """
551
- :see: https://docs.wazirx.com/#check-server-time
588
+
589
+ https://docs.wazirx.com/#check-server-time
590
+
552
591
  fetches the current integer timestamp in milliseconds from the exchange server
553
592
  :param dict [params]: extra parameters specific to the exchange API endpoint
554
593
  :returns int: the current integer timestamp in milliseconds from the exchange server
@@ -561,7 +600,7 @@ class wazirx(Exchange, ImplicitAPI):
561
600
  #
562
601
  return self.safe_integer(response, 'serverTime')
563
602
 
564
- def parse_ticker(self, ticker, market: Market = None) -> Ticker:
603
+ def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
565
604
  #
566
605
  # {
567
606
  # "symbol":"btcinr",
@@ -612,7 +651,7 @@ class wazirx(Exchange, ImplicitAPI):
612
651
  }, market)
613
652
 
614
653
  def parse_balance(self, response) -> Balances:
615
- result = {'info': response}
654
+ result: dict = {'info': response}
616
655
  for i in range(0, len(response)):
617
656
  balance = response[i]
618
657
  id = self.safe_string(balance, 'asset')
@@ -625,7 +664,9 @@ class wazirx(Exchange, ImplicitAPI):
625
664
 
626
665
  def fetch_balance(self, params={}) -> Balances:
627
666
  """
628
- :see: https://docs.wazirx.com/#fund-details-user_data
667
+
668
+ https://docs.wazirx.com/#fund-details-user_data
669
+
629
670
  query for balance and get the amount of funds available for trading or funds locked in orders
630
671
  :param dict [params]: extra parameters specific to the exchange API endpoint
631
672
  :returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
@@ -645,7 +686,9 @@ class wazirx(Exchange, ImplicitAPI):
645
686
 
646
687
  def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
647
688
  """
648
- :see: https://docs.wazirx.com/#all-orders-user_data
689
+
690
+ https://docs.wazirx.com/#all-orders-user_data
691
+
649
692
  fetches information on multiple orders made by the user
650
693
  :param str symbol: unified market symbol of the market orders were made in
651
694
  :param int [since]: the earliest time in ms to fetch orders for
@@ -657,7 +700,7 @@ class wazirx(Exchange, ImplicitAPI):
657
700
  raise ArgumentsRequired(self.id + ' fetchOrders() requires a symbol argument')
658
701
  self.load_markets()
659
702
  market = self.market(symbol)
660
- request = {
703
+ request: dict = {
661
704
  'symbol': market['id'],
662
705
  }
663
706
  if since is not None:
@@ -700,7 +743,9 @@ class wazirx(Exchange, ImplicitAPI):
700
743
 
701
744
  def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
702
745
  """
703
- :see: https://docs.wazirx.com/#current-open-orders-user_data
746
+
747
+ https://docs.wazirx.com/#current-open-orders-user_data
748
+
704
749
  fetch all unfilled currently open orders
705
750
  :param str symbol: unified market symbol
706
751
  :param int [since]: the earliest time in ms to fetch open orders for
@@ -709,7 +754,7 @@ class wazirx(Exchange, ImplicitAPI):
709
754
  :returns Order[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
710
755
  """
711
756
  self.load_markets()
712
- request = {}
757
+ request: dict = {}
713
758
  market: Market = None
714
759
  if symbol is not None:
715
760
  market = self.market(symbol)
@@ -747,7 +792,9 @@ class wazirx(Exchange, ImplicitAPI):
747
792
 
748
793
  def cancel_all_orders(self, symbol: Str = None, params={}):
749
794
  """
750
- :see: https://docs.wazirx.com/#cancel-all-open-orders-on-a-symbol-trade
795
+
796
+ https://docs.wazirx.com/#cancel-all-open-orders-on-a-symbol-trade
797
+
751
798
  cancel all open orders in a market
752
799
  :param str symbol: unified market symbol of the market to cancel orders in
753
800
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -757,14 +804,35 @@ class wazirx(Exchange, ImplicitAPI):
757
804
  raise ArgumentsRequired(self.id + ' cancelAllOrders() requires a symbol argument')
758
805
  self.load_markets()
759
806
  market = self.market(symbol)
760
- request = {
807
+ request: dict = {
761
808
  'symbol': market['id'],
762
809
  }
763
- return self.privateDeleteOpenOrders(self.extend(request, params))
810
+ response = self.privateDeleteOpenOrders(self.extend(request, params))
811
+ #
812
+ # [
813
+ # {
814
+ # id: "4565421197",
815
+ # symbol: "adausdt",
816
+ # type: "limit",
817
+ # side: "buy",
818
+ # status: "wait",
819
+ # price: "0.41",
820
+ # origQty: "11.00",
821
+ # executedQty: "0.00",
822
+ # avgPrice: "0.00",
823
+ # createdTime: "1718089507000",
824
+ # updatedTime: "1718089507000",
825
+ # clientOrderId: "93d2a838-e272-405d-91e7-3a7bc6d3a003"
826
+ # }
827
+ # ]
828
+ #
829
+ return self.parse_orders(response)
764
830
 
765
831
  def cancel_order(self, id: str, symbol: Str = None, params={}):
766
832
  """
767
- :see: https://docs.wazirx.com/#cancel-order-trade
833
+
834
+ https://docs.wazirx.com/#cancel-order-trade
835
+
768
836
  cancels an open order
769
837
  :param str id: order id
770
838
  :param str symbol: unified symbol of the market the order was made in
@@ -775,7 +843,7 @@ class wazirx(Exchange, ImplicitAPI):
775
843
  raise ArgumentsRequired(self.id + ' cancelOrder() requires a symbol argument')
776
844
  self.load_markets()
777
845
  market = self.market(symbol)
778
- request = {
846
+ request: dict = {
779
847
  'symbol': market['id'],
780
848
  'orderId': id,
781
849
  }
@@ -784,13 +852,15 @@ class wazirx(Exchange, ImplicitAPI):
784
852
 
785
853
  def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
786
854
  """
787
- :see: https://docs.wazirx.com/#new-order-trade
855
+
856
+ https://docs.wazirx.com/#new-order-trade
857
+
788
858
  create a trade order
789
859
  :param str symbol: unified symbol of the market to create an order in
790
860
  :param str type: 'market' or 'limit'
791
861
  :param str side: 'buy' or 'sell'
792
862
  :param float amount: how much of currency you want to trade in units of base currency
793
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
863
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
794
864
  :param dict [params]: extra parameters specific to the exchange API endpoint
795
865
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
796
866
  """
@@ -801,7 +871,7 @@ class wazirx(Exchange, ImplicitAPI):
801
871
  raise ExchangeError(self.id + ' createOrder() requires a price argument')
802
872
  self.load_markets()
803
873
  market = self.market(symbol)
804
- request = {
874
+ request: dict = {
805
875
  'symbol': market['id'],
806
876
  'side': side,
807
877
  'quantity': amount,
@@ -827,19 +897,23 @@ class wazirx(Exchange, ImplicitAPI):
827
897
  # }
828
898
  return self.parse_order(response, market)
829
899
 
830
- def parse_order(self, order, market: Market = None) -> Order:
831
- # {
832
- # "id":1949417813,
833
- # "symbol":"ltcusdt",
834
- # "type":"limit",
835
- # "side":"sell",
836
- # "status":"done",
837
- # "price":"146.2",
838
- # "origQty":"0.05",
839
- # "executedQty":"0.05",
840
- # "createdTime":1641252564000,
841
- # "updatedTime":1641252564000
842
- # },
900
+ def parse_order(self, order: dict, market: Market = None) -> Order:
901
+ #
902
+ # {
903
+ # "id": 1949417813,
904
+ # "symbol": "ltcusdt",
905
+ # "type": "limit",
906
+ # "side": "sell",
907
+ # "status": "done",
908
+ # "price": "146.2",
909
+ # "origQty": "0.05",
910
+ # "executedQty": "0.05",
911
+ # "avgPrice": "0.00",
912
+ # "createdTime": 1641252564000,
913
+ # "updatedTime": 1641252564000
914
+ # "clientOrderId": "93d2a838-e272-405d-91e7-3a7bc6d3a003"
915
+ # }
916
+ #
843
917
  created = self.safe_integer(order, 'createdTime')
844
918
  updated = self.safe_integer(order, 'updatedTime')
845
919
  marketId = self.safe_string(order, 'symbol')
@@ -854,7 +928,7 @@ class wazirx(Exchange, ImplicitAPI):
854
928
  return self.safe_order({
855
929
  'info': order,
856
930
  'id': id,
857
- 'clientOrderId': None,
931
+ 'clientOrderId': self.safe_string(order, 'clientOrderId'),
858
932
  'timestamp': created,
859
933
  'datetime': self.iso8601(created),
860
934
  'lastTradeTimestamp': updated,
@@ -870,22 +944,24 @@ class wazirx(Exchange, ImplicitAPI):
870
944
  'remaining': None,
871
945
  'cost': None,
872
946
  'fee': None,
873
- 'average': None,
947
+ 'average': self.safe_string(order, 'avgPrice'),
874
948
  'trades': [],
875
949
  }, market)
876
950
 
877
- def parse_order_status(self, status):
878
- statuses = {
951
+ def parse_order_status(self, status: Str):
952
+ statuses: dict = {
879
953
  'wait': 'open',
880
954
  'done': 'closed',
881
955
  'cancel': 'canceled',
882
956
  }
883
957
  return self.safe_string(statuses, status, status)
884
958
 
885
- def fetch_currencies(self, params={}):
959
+ def fetch_currencies(self, params={}) -> Currencies:
886
960
  """
887
961
  fetches all available currencies on an exchange
888
- :see: https://docs.wazirx.com/#all-coins-39-information-user_data
962
+
963
+ https://docs.wazirx.com/#all-coins-39-information-user_data
964
+
889
965
  :param dict [params]: extra parameters specific to the exchange API endpoint
890
966
  :returns dict: an associative dictionary of currencies
891
967
  """
@@ -938,14 +1014,14 @@ class wazirx(Exchange, ImplicitAPI):
938
1014
  # }
939
1015
  # ]
940
1016
  #
941
- result = {}
1017
+ result: dict = {}
942
1018
  for i in range(0, len(response)):
943
1019
  currency = response[i]
944
1020
  currencyId = self.safe_string(currency, 'currency')
945
1021
  code = self.safe_currency_code(currencyId)
946
1022
  name = self.safe_string(currency, 'name')
947
1023
  chains = self.safe_list(currency, 'networkList', [])
948
- networks = {}
1024
+ networks: dict = {}
949
1025
  minPrecision = None
950
1026
  minWithdrawFeeString = None
951
1027
  minWithdrawString = None
@@ -1023,10 +1099,12 @@ class wazirx(Exchange, ImplicitAPI):
1023
1099
  }
1024
1100
  return result
1025
1101
 
1026
- def fetch_deposit_address(self, code: str, params={}):
1102
+ def fetch_deposit_address(self, code: str, params={}) -> DepositAddress:
1027
1103
  """
1028
1104
  fetch the deposit address for a currency associated with self account
1029
- :see: https://docs.wazirx.com/#deposit-address-supporting-network-user_data
1105
+
1106
+ https://docs.wazirx.com/#deposit-address-supporting-network-user_data
1107
+
1030
1108
  :param str code: unified currency code of the currency for the deposit address
1031
1109
  :param dict [params]: extra parameters specific to the exchange API endpoint
1032
1110
  :param str [params.network]: unified network code, you can get network from fetchCurrencies
@@ -1038,7 +1116,7 @@ class wazirx(Exchange, ImplicitAPI):
1038
1116
  params = self.omit(params, 'network')
1039
1117
  if networkCode is None:
1040
1118
  raise ArgumentsRequired(self.id + ' fetchDepositAddress() requires a network parameter')
1041
- request = {
1119
+ request: dict = {
1042
1120
  'coin': currency['id'],
1043
1121
  'network': self.network_code_to_id(networkCode, code),
1044
1122
  }
@@ -1051,17 +1129,19 @@ class wazirx(Exchange, ImplicitAPI):
1051
1129
  # }
1052
1130
  #
1053
1131
  return {
1132
+ 'info': response,
1054
1133
  'currency': code,
1134
+ 'network': self.network_code_to_id(networkCode, code),
1055
1135
  'address': self.safe_string(response, 'address'),
1056
1136
  'tag': None,
1057
- 'network': self.network_code_to_id(networkCode, code),
1058
- 'info': response,
1059
1137
  }
1060
1138
 
1061
1139
  def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
1062
1140
  """
1063
1141
  fetch all withdrawals made from an account
1064
- :see: https://docs.wazirx.com/#withdraw-history-supporting-network-user_data
1142
+
1143
+ https://docs.wazirx.com/#withdraw-history-supporting-network-user_data
1144
+
1065
1145
  :param str code: unified currency code
1066
1146
  :param int [since]: the earliest time in ms to fetch withdrawals for
1067
1147
  :param int [limit]: the maximum number of withdrawals structures to retrieve
@@ -1070,7 +1150,7 @@ class wazirx(Exchange, ImplicitAPI):
1070
1150
  :returns dict[]: a list of `transaction structures <https://docs.ccxt.com/#/?id=transaction-structure>`
1071
1151
  """
1072
1152
  self.load_markets()
1073
- request = {}
1153
+ request: dict = {}
1074
1154
  currency = None
1075
1155
  if code is not None:
1076
1156
  currency = self.currency(code)
@@ -1104,8 +1184,8 @@ class wazirx(Exchange, ImplicitAPI):
1104
1184
  #
1105
1185
  return self.parse_transactions(response, currency, since, limit)
1106
1186
 
1107
- def parse_transaction_status(self, status):
1108
- statuses = {
1187
+ def parse_transaction_status(self, status: Str):
1188
+ statuses: dict = {
1109
1189
  '0': 'ok',
1110
1190
  '1': 'fail',
1111
1191
  '2': 'pending',
@@ -1113,7 +1193,7 @@ class wazirx(Exchange, ImplicitAPI):
1113
1193
  }
1114
1194
  return self.safe_string(statuses, status, status)
1115
1195
 
1116
- def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
1196
+ def parse_transaction(self, transaction: dict, currency: Currency = None) -> Transaction:
1117
1197
  #
1118
1198
  # {
1119
1199
  # "address": "0x94df8b352de7f46f64b01d3666bf6e936e44ce60",
@@ -1184,7 +1264,7 @@ class wazirx(Exchange, ImplicitAPI):
1184
1264
  }
1185
1265
  return {'url': url, 'method': method, 'body': body, 'headers': headers}
1186
1266
 
1187
- def handle_errors(self, code, reason, url, method, headers, body, response, requestHeaders, requestBody):
1267
+ def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
1188
1268
  #
1189
1269
  # {"code":2098,"message":"Request out of receiving window."}
1190
1270
  #