ccxt 4.2.76__py2.py3-none-any.whl → 4.4.48__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 +25 -0
  44. ccxt/abstract/kucoinfutures.py +35 -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 +3513 -1511
  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 +3105 -881
  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 +239 -50
  89. ccxt/async_support/bitget.py +1513 -563
  90. ccxt/async_support/bithumb.py +201 -67
  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 +403 -150
  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 +2326 -1255
  107. ccxt/async_support/cex.py +1409 -1329
  108. ccxt/async_support/coinbase.py +1455 -288
  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 +206 -89
  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 +467 -158
  125. ccxt/async_support/deribit.py +558 -324
  126. ccxt/async_support/digifinex.py +340 -223
  127. ccxt/async_support/ellipx.py +1826 -0
  128. ccxt/async_support/exmo.py +259 -128
  129. ccxt/async_support/gate.py +1473 -464
  130. ccxt/async_support/gemini.py +206 -84
  131. ccxt/async_support/hashkey.py +4164 -0
  132. ccxt/async_support/hitbtc.py +334 -178
  133. ccxt/async_support/hollaex.py +134 -83
  134. ccxt/async_support/htx.py +1095 -563
  135. ccxt/async_support/huobijp.py +105 -56
  136. ccxt/async_support/hyperliquid.py +1634 -269
  137. ccxt/async_support/idex.py +148 -95
  138. ccxt/async_support/independentreserve.py +236 -31
  139. ccxt/async_support/indodax.py +165 -62
  140. ccxt/async_support/kraken.py +871 -354
  141. ccxt/async_support/krakenfutures.py +324 -100
  142. ccxt/async_support/kucoin.py +1050 -355
  143. ccxt/async_support/kucoinfutures.py +1004 -149
  144. ccxt/async_support/kuna.py +138 -106
  145. ccxt/async_support/latoken.py +135 -79
  146. ccxt/async_support/lbank.py +290 -113
  147. ccxt/async_support/luno.py +112 -62
  148. ccxt/async_support/lykke.py +104 -55
  149. ccxt/async_support/mercado.py +36 -29
  150. ccxt/async_support/mexc.py +995 -429
  151. ccxt/async_support/myokx.py +43 -0
  152. ccxt/async_support/ndax.py +163 -82
  153. ccxt/async_support/novadax.py +121 -75
  154. ccxt/async_support/oceanex.py +175 -59
  155. ccxt/async_support/okcoin.py +222 -163
  156. ccxt/async_support/okx.py +1777 -455
  157. ccxt/async_support/onetrading.py +132 -414
  158. ccxt/async_support/oxfun.py +2832 -0
  159. ccxt/async_support/p2b.py +79 -51
  160. ccxt/async_support/paradex.py +2017 -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 +1155 -295
  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 +1729 -482
  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 +3513 -1511
  187. ccxt/binancecoinm.py +2 -1
  188. ccxt/binanceus.py +12 -1
  189. ccxt/binanceusdm.py +3 -1
  190. ccxt/bingx.py +3105 -881
  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 +239 -50
  197. ccxt/bitget.py +1513 -563
  198. ccxt/bithumb.py +200 -67
  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 +403 -150
  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 +2326 -1255
  215. ccxt/cex.py +1408 -1329
  216. ccxt/coinbase.py +1455 -288
  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 +206 -89
  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 +467 -158
  233. ccxt/deribit.py +558 -324
  234. ccxt/digifinex.py +340 -223
  235. ccxt/ellipx.py +1826 -0
  236. ccxt/exmo.py +259 -128
  237. ccxt/gate.py +1473 -464
  238. ccxt/gemini.py +206 -84
  239. ccxt/hashkey.py +4164 -0
  240. ccxt/hitbtc.py +334 -178
  241. ccxt/hollaex.py +134 -83
  242. ccxt/htx.py +1095 -563
  243. ccxt/huobijp.py +105 -56
  244. ccxt/hyperliquid.py +1633 -269
  245. ccxt/idex.py +148 -95
  246. ccxt/independentreserve.py +235 -31
  247. ccxt/indodax.py +165 -62
  248. ccxt/kraken.py +871 -354
  249. ccxt/krakenfutures.py +324 -100
  250. ccxt/kucoin.py +1050 -355
  251. ccxt/kucoinfutures.py +1004 -149
  252. ccxt/kuna.py +138 -106
  253. ccxt/latoken.py +135 -79
  254. ccxt/lbank.py +290 -113
  255. ccxt/luno.py +112 -62
  256. ccxt/lykke.py +104 -55
  257. ccxt/mercado.py +36 -29
  258. ccxt/mexc.py +994 -429
  259. ccxt/myokx.py +43 -0
  260. ccxt/ndax.py +163 -82
  261. ccxt/novadax.py +121 -75
  262. ccxt/oceanex.py +175 -59
  263. ccxt/okcoin.py +222 -163
  264. ccxt/okx.py +1777 -455
  265. ccxt/onetrading.py +132 -414
  266. ccxt/oxfun.py +2831 -0
  267. ccxt/p2b.py +79 -51
  268. ccxt/paradex.py +2017 -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 +63 -15
  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 +138 -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 +204 -82
  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 +967 -661
  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 +168 -32
  309. ccxt/pro/exmo.py +253 -21
  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 +93 -34
  336. ccxt/pro/poloniex.py +129 -50
  337. ccxt/pro/poloniexfutures.py +53 -32
  338. ccxt/pro/probit.py +93 -86
  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 +486 -70
  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} +465 -407
  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} +465 -409
  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 +1155 -295
  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.48.dist-info/LICENSE.txt +21 -0
  496. ccxt-4.4.48.dist-info/METADATA +646 -0
  497. ccxt-4.4.48.dist-info/RECORD +669 -0
  498. {ccxt-4.2.76.dist-info → ccxt-4.4.48.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.76.dist-info/METADATA +0 -626
  545. ccxt-4.2.76.dist-info/RECORD +0 -534
  546. {ccxt-4.2.76.dist-info → ccxt-4.4.48.dist-info}/top_level.txt +0 -0
ccxt/lykke.py CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.lykke import ImplicitAPI
8
- from ccxt.base.types import Balances, Currency, IndexType, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
8
+ from ccxt.base.types import Balances, Currencies, Currency, DepositAddress, IndexType, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
9
9
  from typing import List
10
10
  from ccxt.base.errors import ExchangeError
11
11
  from ccxt.base.errors import BadRequest
@@ -50,6 +50,8 @@ class lykke(Exchange, ImplicitAPI):
50
50
  'fetchCrossBorrowRates': False,
51
51
  'fetchCurrencies': True,
52
52
  'fetchDepositAddress': True,
53
+ 'fetchDepositAddresses': False,
54
+ 'fetchDepositAddressesByNetwork': False,
53
55
  'fetchDeposits': False,
54
56
  'fetchDepositsWithdrawals': True,
55
57
  'fetchFundingHistory': False,
@@ -70,8 +72,13 @@ class lykke(Exchange, ImplicitAPI):
70
72
  'fetchOrderBook': True,
71
73
  'fetchOrders': False,
72
74
  'fetchOrderTrades': False,
75
+ 'fetchPosition': False,
76
+ 'fetchPositionHistory': False,
73
77
  'fetchPositionMode': False,
74
78
  'fetchPositions': False,
79
+ 'fetchPositionsForSymbol': False,
80
+ 'fetchPositionsHistory': False,
81
+ 'fetchPositionsRisk': False,
75
82
  'fetchPremiumIndexOHLCV': False,
76
83
  'fetchTicker': True,
77
84
  'fetchTickers': True,
@@ -187,10 +194,12 @@ class lykke(Exchange, ImplicitAPI):
187
194
  },
188
195
  })
189
196
 
190
- def fetch_currencies(self, params={}):
197
+ def fetch_currencies(self, params={}) -> Currencies:
191
198
  """
192
199
  fetches all available currencies on an exchange
193
- :see: https://lykkecity.github.io/Trading-API/#get-all-assets
200
+
201
+ https://lykkecity.github.io/Trading-API/#get-all-assets
202
+
194
203
  :param dict [params]: extra parameters specific to the exchange API endpoint
195
204
  :returns dict: an associative dictionary of currencies
196
205
  """
@@ -200,7 +209,7 @@ class lykke(Exchange, ImplicitAPI):
200
209
  # {
201
210
  # "payload":[
202
211
  # {
203
- # "assetId":"115a60c2-0da1-40f9-a7f2-41da723b9074",
212
+ # "assetId":"115a60c2-0da1-40f9-a7f2-41da723b9075",
204
213
  # "name":"Monaco Token",
205
214
  # "symbol":"MCO",
206
215
  # "accuracy":6,
@@ -226,7 +235,7 @@ class lykke(Exchange, ImplicitAPI):
226
235
  # "error":null
227
236
  # }
228
237
  #
229
- result = {}
238
+ result: dict = {}
230
239
  for i in range(0, len(currencies)):
231
240
  currency = currencies[i]
232
241
  id = self.safe_string(currency, 'assetId')
@@ -263,10 +272,12 @@ class lykke(Exchange, ImplicitAPI):
263
272
  }
264
273
  return result
265
274
 
266
- def fetch_markets(self, params={}):
275
+ def fetch_markets(self, params={}) -> List[Market]:
267
276
  """
268
277
  retrieves data on all markets for lykke
269
- :see: https://lykkecity.github.io/Trading-API/#get-asset-by-id
278
+
279
+ https://lykkecity.github.io/Trading-API/#get-asset-by-id
280
+
270
281
  :param dict [params]: extra parameters specific to the exchange API endpoint
271
282
  :returns dict[]: an array of objects representing market data
272
283
  """
@@ -352,7 +363,7 @@ class lykke(Exchange, ImplicitAPI):
352
363
  })
353
364
  return result
354
365
 
355
- def parse_ticker(self, ticker, market: Market = None) -> Ticker:
366
+ def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
356
367
  #
357
368
  # fetchTickers
358
369
  #
@@ -423,15 +434,17 @@ class lykke(Exchange, ImplicitAPI):
423
434
  def fetch_ticker(self, symbol: str, params={}) -> Ticker:
424
435
  """
425
436
  fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
426
- :see: https://lykkecity.github.io/Trading-API/#get-current-prices
427
- :see: https://lykkecity.github.io/Trading-API/#24hr-ticker-price-change-statistics
437
+
438
+ https://lykkecity.github.io/Trading-API/#get-current-prices
439
+ https://lykkecity.github.io/Trading-API/#24hr-ticker-price-change-statistics
440
+
428
441
  :param str symbol: unified symbol of the market to fetch the ticker for
429
442
  :param dict [params]: extra parameters specific to the exchange API endpoint
430
443
  :returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
431
444
  """
432
445
  self.load_markets()
433
446
  market = self.market(symbol)
434
- request = {
447
+ request: dict = {
435
448
  'assetPairIds': market['id'],
436
449
  }
437
450
  # publicGetTickers or publicGetPrices
@@ -480,7 +493,9 @@ class lykke(Exchange, ImplicitAPI):
480
493
  def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
481
494
  """
482
495
  fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
483
- :see: https://lykkecity.github.io/Trading-API/#24hr-ticker-price-change-statistics
496
+
497
+ https://lykkecity.github.io/Trading-API/#24hr-ticker-price-change-statistics
498
+
484
499
  :param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
485
500
  :param dict [params]: extra parameters specific to the exchange API endpoint
486
501
  :returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
@@ -510,7 +525,9 @@ class lykke(Exchange, ImplicitAPI):
510
525
  def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
511
526
  """
512
527
  fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
513
- :see: https://lykkecity.github.io/Trading-API/#asset-pair-order-book-ticker
528
+
529
+ https://lykkecity.github.io/Trading-API/#asset-pair-order-book-ticker
530
+
514
531
  :param str symbol: unified symbol of the market to fetch the order book for
515
532
  :param int [limit]: the maximum amount of order book entries to return
516
533
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -518,7 +535,7 @@ class lykke(Exchange, ImplicitAPI):
518
535
  """
519
536
  self.load_markets()
520
537
  market = self.market(symbol)
521
- request = {
538
+ request: dict = {
522
539
  'assetPairId': market['id'],
523
540
  }
524
541
  if limit is not None:
@@ -552,7 +569,7 @@ class lykke(Exchange, ImplicitAPI):
552
569
  timestamp = self.safe_integer(orderbook, 'timestamp')
553
570
  return self.parse_order_book(orderbook, market['symbol'], timestamp, 'bids', 'asks', 'p', 'v')
554
571
 
555
- def parse_trade(self, trade, market: Market = None) -> Trade:
572
+ def parse_trade(self, trade: dict, market: Market = None) -> Trade:
556
573
  #
557
574
  # public fetchTrades
558
575
  #
@@ -611,7 +628,9 @@ class lykke(Exchange, ImplicitAPI):
611
628
  def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
612
629
  """
613
630
  get the list of most recent trades for a particular symbol
614
- :see: https://lykkecity.github.io/Trading-API/#get-public-trades
631
+
632
+ https://lykkecity.github.io/Trading-API/#get-public-trades
633
+
615
634
  :param str symbol: unified symbol of the market to fetch trades for
616
635
  :param int [since]: timestamp in ms of the earliest trade to fetch
617
636
  :param int [limit]: the maximum amount of trades to fetch
@@ -620,7 +639,7 @@ class lykke(Exchange, ImplicitAPI):
620
639
  """
621
640
  self.load_markets()
622
641
  market = self.market(symbol)
623
- request = {
642
+ request: dict = {
624
643
  'assetPairId': market['id'],
625
644
  # 'offset': 0,
626
645
  }
@@ -656,15 +675,15 @@ class lykke(Exchange, ImplicitAPI):
656
675
  # }
657
676
  # ]
658
677
  #
659
- result = {'info': response}
678
+ result: dict = {'info': response}
660
679
  for i in range(0, len(response)):
661
680
  balance = response[i]
662
681
  currencyId = self.safe_string(balance, 'assetId')
663
682
  code = self.safe_currency_code(currencyId)
664
683
  account = self.account()
665
- free = self.safe_string(balance, 'available')
684
+ total = self.safe_string(balance, 'available')
666
685
  used = self.safe_string(balance, 'reserved')
667
- account['free'] = free
686
+ account['total'] = total
668
687
  account['used'] = used
669
688
  result[code] = account
670
689
  return self.safe_balance(result)
@@ -672,7 +691,9 @@ class lykke(Exchange, ImplicitAPI):
672
691
  def fetch_balance(self, params={}) -> Balances:
673
692
  """
674
693
  query for balance and get the amount of funds available for trading or funds locked in orders
675
- :see: https://lykkecity.github.io/Trading-API/#get-the-current-balance
694
+
695
+ https://lykkecity.github.io/Trading-API/#get-the-current-balance
696
+
676
697
  :param dict [params]: extra parameters specific to the exchange API endpoint
677
698
  :returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
678
699
  """
@@ -694,8 +715,8 @@ class lykke(Exchange, ImplicitAPI):
694
715
  #
695
716
  return self.parse_balance(payload)
696
717
 
697
- def parse_order_status(self, status):
698
- statuses = {
718
+ def parse_order_status(self, status: Str):
719
+ statuses: dict = {
699
720
  'Open': 'open',
700
721
  'Pending': 'open',
701
722
  'InOrderBook': 'open',
@@ -708,7 +729,7 @@ class lykke(Exchange, ImplicitAPI):
708
729
  }
709
730
  return self.safe_string(statuses, status, status)
710
731
 
711
- def parse_order(self, order, market: Market = None) -> Order:
732
+ def parse_order(self, order: dict, market: Market = None) -> Order:
712
733
  #
713
734
  # {
714
735
  # "id":"1b367978-7e4f-454b-b870-64040d484443",
@@ -751,7 +772,6 @@ class lykke(Exchange, ImplicitAPI):
751
772
  'postOnly': None,
752
773
  'side': side,
753
774
  'price': price,
754
- 'stopPrice': None,
755
775
  'triggerPrice': None,
756
776
  'amount': amount,
757
777
  'cost': cost,
@@ -766,19 +786,21 @@ class lykke(Exchange, ImplicitAPI):
766
786
  def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
767
787
  """
768
788
  create a trade order
769
- :see: https://lykkecity.github.io/Trading-API/#place-a-limit-order
770
- :see: https://lykkecity.github.io/Trading-API/#place-a-market-order
789
+
790
+ https://lykkecity.github.io/Trading-API/#place-a-limit-order
791
+ https://lykkecity.github.io/Trading-API/#place-a-market-order
792
+
771
793
  :param str symbol: unified symbol of the market to create an order in
772
794
  :param str type: 'market' or 'limit'
773
795
  :param str side: 'buy' or 'sell'
774
796
  :param float amount: how much of currency you want to trade in units of base currency
775
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
797
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
776
798
  :param dict [params]: extra parameters specific to the exchange API endpoint
777
799
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
778
800
  """
779
801
  self.load_markets()
780
802
  market = self.market(symbol)
781
- query = {
803
+ query: dict = {
782
804
  'assetPairId': market['id'],
783
805
  'side': self.capitalize(side),
784
806
  'volume': float(self.amount_to_precision(market['symbol'], amount)),
@@ -838,13 +860,15 @@ class lykke(Exchange, ImplicitAPI):
838
860
  def cancel_order(self, id: str, symbol: Str = None, params={}):
839
861
  """
840
862
  cancels an open order
841
- :see: https://lykkecity.github.io/Trading-API/#cancel-orders-by-id
863
+
864
+ https://lykkecity.github.io/Trading-API/#cancel-orders-by-id
865
+
842
866
  :param str id: order id
843
867
  :param str symbol: unified symbol of the market the order was made in
844
868
  :param dict [params]: extra parameters specific to the exchange API endpoint
845
869
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
846
870
  """
847
- request = {
871
+ request: dict = {
848
872
  'orderId': id,
849
873
  }
850
874
  #
@@ -853,18 +877,23 @@ class lykke(Exchange, ImplicitAPI):
853
877
  # "error":null
854
878
  # }
855
879
  #
856
- return self.privateDeleteOrdersOrderId(self.extend(request, params))
880
+ response = self.privateDeleteOrdersOrderId(self.extend(request, params))
881
+ return self.safe_order({
882
+ 'info': response,
883
+ })
857
884
 
858
885
  def cancel_all_orders(self, symbol: Str = None, params={}):
859
886
  """
860
887
  cancel all open orders
861
- :see: https://lykkecity.github.io/Trading-API/#mass-cancel-orders
888
+
889
+ https://lykkecity.github.io/Trading-API/#mass-cancel-orders
890
+
862
891
  :param str symbol: unified market symbol, only orders in the market of self symbol are cancelled when symbol is not None
863
892
  :param dict [params]: extra parameters specific to the exchange API endpoint
864
893
  :returns dict[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
865
894
  """
866
895
  self.load_markets()
867
- request = {
896
+ request: dict = {
868
897
  # 'side': 'Buy',
869
898
  }
870
899
  market = None
@@ -877,18 +906,26 @@ class lykke(Exchange, ImplicitAPI):
877
906
  # "error":null
878
907
  # }
879
908
  #
880
- return self.privateDeleteOrders(self.extend(request, params))
909
+ response = self.privateDeleteOrders(self.extend(request, params))
910
+ return [
911
+ self.safe_order({
912
+ 'info': response,
913
+ }),
914
+ ]
881
915
 
882
916
  def fetch_order(self, id: str, symbol: Str = None, params={}):
883
917
  """
884
918
  fetches information on an order made by the user
885
- :see: https://lykkecity.github.io/Trading-API/#get-order-by-id
919
+
920
+ https://lykkecity.github.io/Trading-API/#get-order-by-id
921
+
922
+ :param str id: order id
886
923
  :param str symbol: not used by lykke fetchOrder
887
924
  :param dict [params]: extra parameters specific to the exchange API endpoint
888
925
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
889
926
  """
890
927
  self.load_markets()
891
- request = {
928
+ request: dict = {
892
929
  'orderId': id,
893
930
  }
894
931
  response = self.privateGetOrdersOrderId(self.extend(request, params))
@@ -917,7 +954,9 @@ class lykke(Exchange, ImplicitAPI):
917
954
  def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
918
955
  """
919
956
  fetch all unfilled currently open orders
920
- :see: https://lykkecity.github.io/Trading-API/#get-active-or-closed-orders
957
+
958
+ https://lykkecity.github.io/Trading-API/#get-active-or-closed-orders
959
+
921
960
  :param str symbol: unified market symbol
922
961
  :param int [since]: the earliest time in ms to fetch open orders for
923
962
  :param int [limit]: the maximum number of open orders structures to retrieve
@@ -928,7 +967,7 @@ class lykke(Exchange, ImplicitAPI):
928
967
  market = None
929
968
  if symbol is not None:
930
969
  market = self.market(symbol)
931
- request = {
970
+ request: dict = {
932
971
  # 'offset': 0,
933
972
  # 'take': 1,
934
973
  }
@@ -962,7 +1001,9 @@ class lykke(Exchange, ImplicitAPI):
962
1001
  def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
963
1002
  """
964
1003
  fetches information on multiple closed orders made by the user
965
- :see: https://lykkecity.github.io/Trading-API/#get-active-or-closed-orders
1004
+
1005
+ https://lykkecity.github.io/Trading-API/#get-active-or-closed-orders
1006
+
966
1007
  :param str symbol: unified market symbol of the market orders were made in
967
1008
  :param int [since]: the earliest time in ms to fetch orders for
968
1009
  :param int [limit]: the maximum number of order structures to retrieve
@@ -973,7 +1014,7 @@ class lykke(Exchange, ImplicitAPI):
973
1014
  market = None
974
1015
  if symbol is not None:
975
1016
  market = self.market(symbol)
976
- request = {
1017
+ request: dict = {
977
1018
  # 'offset': 0,
978
1019
  # 'take': 1,
979
1020
  }
@@ -1007,7 +1048,9 @@ class lykke(Exchange, ImplicitAPI):
1007
1048
  def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
1008
1049
  """
1009
1050
  fetch all trades made by the user
1010
- :see: https://lykkecity.github.io/Trading-API/#get-trade-history
1051
+
1052
+ https://lykkecity.github.io/Trading-API/#get-trade-history
1053
+
1011
1054
  :param str symbol: unified market symbol
1012
1055
  :param int [since]: the earliest time in ms to fetch trades for
1013
1056
  :param int [limit]: the maximum number of trades structures to retrieve
@@ -1015,7 +1058,7 @@ class lykke(Exchange, ImplicitAPI):
1015
1058
  :returns Trade[]: a list of `trade structures <https://docs.ccxt.com/#/?id=trade-structure>`
1016
1059
  """
1017
1060
  self.load_markets()
1018
- request = {
1061
+ request: dict = {
1019
1062
  # 'side': 'buy',
1020
1063
  # 'offset': 0,
1021
1064
  # 'take': 1,
@@ -1059,17 +1102,19 @@ class lykke(Exchange, ImplicitAPI):
1059
1102
  amount = Precise.string_abs(self.safe_string(bidask, amountKey))
1060
1103
  return [self.parse_number(price), self.parse_number(amount)]
1061
1104
 
1062
- def fetch_deposit_address(self, code: str, params={}):
1105
+ def fetch_deposit_address(self, code: str, params={}) -> DepositAddress:
1063
1106
  """
1064
1107
  fetch the deposit address for a currency associated with self account
1065
- :see: https://lykkecity.github.io/Trading-API/#get-deposit-address-for-a-given-asset
1108
+
1109
+ https://lykkecity.github.io/Trading-API/#get-deposit-address-for-a-given-asset
1110
+
1066
1111
  :param str code: unified currency code
1067
1112
  :param dict [params]: extra parameters specific to the exchange API endpoint
1068
1113
  :returns dict: an `address structure <https://docs.ccxt.com/#/?id=address-structure>`
1069
1114
  """
1070
1115
  self.load_markets()
1071
1116
  currency = self.currency(code)
1072
- request = {
1117
+ request: dict = {
1073
1118
  'assetId': self.safe_string(currency, 'id'),
1074
1119
  }
1075
1120
  response = self.privateGetOperationsDepositsAddressesAssetId(self.extend(request, params))
@@ -1087,14 +1132,14 @@ class lykke(Exchange, ImplicitAPI):
1087
1132
  tag = self.safe_string(response, 'addressExtension')
1088
1133
  self.check_address(address)
1089
1134
  return {
1135
+ 'info': response,
1090
1136
  'currency': code,
1137
+ 'network': None,
1091
1138
  'address': address,
1092
1139
  'tag': tag,
1093
- 'network': None,
1094
- 'info': response,
1095
1140
  }
1096
1141
 
1097
- def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
1142
+ def parse_transaction(self, transaction: dict, currency: Currency = None) -> Transaction:
1098
1143
  #
1099
1144
  # withdraw
1100
1145
  # "3035b1ad-2005-4587-a986-1f7966be78e0"
@@ -1156,7 +1201,9 @@ class lykke(Exchange, ImplicitAPI):
1156
1201
  def fetch_deposits_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
1157
1202
  """
1158
1203
  fetch history of deposits and withdrawals
1159
- :see: https://lykkecity.github.io/Trading-API/#get-the-history-of-withdrawals-and-deposits
1204
+
1205
+ https://lykkecity.github.io/Trading-API/#get-the-history-of-withdrawals-and-deposits
1206
+
1160
1207
  :param str [code]: unified currency code for the currency of the deposit/withdrawals, default is None
1161
1208
  :param int [since]: timestamp in ms of the earliest deposit/withdrawal, default is None
1162
1209
  :param int [limit]: max number of deposit/withdrawals to return, default is None
@@ -1164,7 +1211,7 @@ class lykke(Exchange, ImplicitAPI):
1164
1211
  :returns dict: a list of `transaction structure <https://docs.ccxt.com/#/?id=transaction-structure>`
1165
1212
  """
1166
1213
  self.load_markets()
1167
- request = {
1214
+ request: dict = {
1168
1215
  # 'offset': 0,
1169
1216
  # 'take': 1,
1170
1217
  }
@@ -1192,10 +1239,12 @@ class lykke(Exchange, ImplicitAPI):
1192
1239
  currency = self.currency(code)
1193
1240
  return self.parse_transactions(payload, currency, since, limit)
1194
1241
 
1195
- def withdraw(self, code: str, amount: float, address, tag=None, params={}):
1242
+ def withdraw(self, code: str, amount: float, address: str, tag=None, params={}) -> Transaction:
1196
1243
  """
1197
1244
  make a withdrawal
1198
- :see: https://lykkecity.github.io/Trading-API/#withdrawal
1245
+
1246
+ https://lykkecity.github.io/Trading-API/#withdrawal
1247
+
1199
1248
  :param str code: unified currency code
1200
1249
  :param float amount: the amount to withdraw
1201
1250
  :param str address: the address to withdraw to
@@ -1206,7 +1255,7 @@ class lykke(Exchange, ImplicitAPI):
1206
1255
  self.load_markets()
1207
1256
  self.check_address(address)
1208
1257
  currency = self.currency(code)
1209
- request = {
1258
+ request: dict = {
1210
1259
  'assetId': currency['id'],
1211
1260
  'volume': float(self.currency_to_precision(code, amount)),
1212
1261
  'destinationAddress': address,
@@ -1243,7 +1292,7 @@ class lykke(Exchange, ImplicitAPI):
1243
1292
  headers['X-Request-ID'] = self.uuid()
1244
1293
  return {'url': url, 'method': method, 'body': body, 'headers': headers}
1245
1294
 
1246
- def handle_errors(self, code, reason, url, method, headers, body, response, requestHeaders, requestBody):
1295
+ def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
1247
1296
  if response is None:
1248
1297
  return None
1249
1298
  error = self.safe_value(response, 'error', {})