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/coincheck.py CHANGED
@@ -6,11 +6,11 @@
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.coincheck import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, Transaction
9
+ from ccxt.base.types import Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, TradingFees, Transaction
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
- from ccxt.base.errors import BadSymbol
13
12
  from ccxt.base.errors import AuthenticationError
13
+ from ccxt.base.errors import BadSymbol
14
14
  from ccxt.base.decimal_to_precision import TICK_SIZE
15
15
 
16
16
 
@@ -56,8 +56,11 @@ class coincheck(Exchange, ImplicitAPI):
56
56
  'fetchOpenOrders': True,
57
57
  'fetchOrderBook': True,
58
58
  'fetchPosition': False,
59
+ 'fetchPositionHistory': False,
59
60
  'fetchPositionMode': False,
60
61
  'fetchPositions': False,
62
+ 'fetchPositionsForSymbol': False,
63
+ 'fetchPositionsHistory': False,
61
64
  'fetchPositionsRisk': False,
62
65
  'fetchPremiumIndexOHLCV': False,
63
66
  'fetchTicker': True,
@@ -153,6 +156,58 @@ class coincheck(Exchange, ImplicitAPI):
153
156
  # 'LTC/BTC': {'id': 'ltc_btc', 'symbol': 'LTC/BTC', 'base': 'LTC', 'quote': 'BTC', 'baseId': 'ltc', 'quoteId': 'btc'},
154
157
  # 'DASH/BTC': {'id': 'dash_btc', 'symbol': 'DASH/BTC', 'base': 'DASH', 'quote': 'BTC', 'baseId': 'dash', 'quoteId': 'btc'},
155
158
  },
159
+ 'features': {
160
+ 'spot': {
161
+ 'sandbox': False,
162
+ 'createOrder': {
163
+ 'marginMode': False,
164
+ 'triggerPrice': False, # todo
165
+ 'triggerPriceType': None,
166
+ 'triggerDirection': False,
167
+ 'stopLossPrice': False, # todo
168
+ 'takeProfitPrice': False, # todo
169
+ 'attachedStopLossTakeProfit': None,
170
+ 'timeInForce': {
171
+ 'IOC': False,
172
+ 'FOK': False,
173
+ 'PO': True,
174
+ 'GTD': False,
175
+ },
176
+ 'hedged': False,
177
+ 'trailing': False,
178
+ 'leverage': False,
179
+ 'marketBuyByCost': False,
180
+ 'marketBuyRequiresPrice': False,
181
+ 'selfTradePrevention': False,
182
+ 'iceberg': False,
183
+ },
184
+ 'createOrders': None,
185
+ 'fetchMyTrades': {
186
+ 'marginMode': False,
187
+ 'limit': None,
188
+ 'daysBack': None,
189
+ 'untilDays': None,
190
+ },
191
+ 'fetchOrder': None,
192
+ 'fetchOpenOrders': {
193
+ 'marginMode': False,
194
+ 'limit': None,
195
+ 'trigger': False,
196
+ 'trailing': False,
197
+ },
198
+ 'fetchOrders': None,
199
+ 'fetchClosedOrders': None,
200
+ 'fetchOHLCV': None,
201
+ },
202
+ 'swap': {
203
+ 'linear': None,
204
+ 'inverse': None,
205
+ },
206
+ 'future': {
207
+ 'linear': None,
208
+ 'inverse': None,
209
+ },
210
+ },
156
211
  'fees': {
157
212
  'trading': {
158
213
  'tierBased': False,
@@ -172,7 +227,7 @@ class coincheck(Exchange, ImplicitAPI):
172
227
  })
173
228
 
174
229
  def parse_balance(self, response) -> Balances:
175
- result = {'info': response}
230
+ result: dict = {'info': response}
176
231
  codes = list(self.currencies.keys())
177
232
  for i in range(0, len(codes)):
178
233
  code = codes[i]
@@ -189,7 +244,9 @@ class coincheck(Exchange, ImplicitAPI):
189
244
  def fetch_balance(self, params={}) -> Balances:
190
245
  """
191
246
  query for balance and get the amount of funds available for trading or funds locked in orders
192
- :see: https://coincheck.com/documents/exchange/api#order-transactions-pagination
247
+
248
+ https://coincheck.com/documents/exchange/api#order-transactions-pagination
249
+
193
250
  :param dict [params]: extra parameters specific to the exchange API endpoint
194
251
  :returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
195
252
  """
@@ -200,7 +257,9 @@ class coincheck(Exchange, ImplicitAPI):
200
257
  def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
201
258
  """
202
259
  fetch all unfilled currently open orders
203
- :see: https://coincheck.com/documents/exchange/api#order-opens
260
+
261
+ https://coincheck.com/documents/exchange/api#order-opens
262
+
204
263
  :param str symbol: unified market symbol
205
264
  :param int [since]: the earliest time in ms to fetch open orders for
206
265
  :param int [limit]: the maximum number of open orders structures to retrieve
@@ -220,7 +279,7 @@ class coincheck(Exchange, ImplicitAPI):
220
279
  result.append(self.extend(parsedOrders[i], {'status': 'open'}))
221
280
  return result
222
281
 
223
- def parse_order(self, order, market: Market = None) -> Order:
282
+ def parse_order(self, order: dict, market: Market = None) -> Order:
224
283
  #
225
284
  # fetchOpenOrders
226
285
  #
@@ -260,7 +319,6 @@ class coincheck(Exchange, ImplicitAPI):
260
319
  'status': status,
261
320
  'symbol': symbol,
262
321
  'price': price,
263
- 'stopPrice': None,
264
322
  'triggerPrice': None,
265
323
  'cost': None,
266
324
  'fee': None,
@@ -272,7 +330,9 @@ class coincheck(Exchange, ImplicitAPI):
272
330
  def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
273
331
  """
274
332
  fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
275
- :see: https://coincheck.com/documents/exchange/api#order-book
333
+
334
+ https://coincheck.com/documents/exchange/api#order-book
335
+
276
336
  :param str symbol: unified symbol of the market to fetch the order book for
277
337
  :param int [limit]: the maximum amount of order book entries to return
278
338
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -280,13 +340,13 @@ class coincheck(Exchange, ImplicitAPI):
280
340
  """
281
341
  self.load_markets()
282
342
  market = self.market(symbol)
283
- request = {
343
+ request: dict = {
284
344
  'pair': market['id'],
285
345
  }
286
346
  response = self.publicGetOrderBooks(self.extend(request, params))
287
347
  return self.parse_order_book(response, market['symbol'])
288
348
 
289
- def parse_ticker(self, ticker, market: Market = None) -> Ticker:
349
+ def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
290
350
  #
291
351
  # {
292
352
  # "last":4192632.0,
@@ -327,7 +387,9 @@ class coincheck(Exchange, ImplicitAPI):
327
387
  def fetch_ticker(self, symbol: str, params={}) -> Ticker:
328
388
  """
329
389
  fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
330
- :see: https://coincheck.com/documents/exchange/api#ticker
390
+
391
+ https://coincheck.com/documents/exchange/api#ticker
392
+
331
393
  :param str symbol: unified symbol of the market to fetch the ticker for
332
394
  :param dict [params]: extra parameters specific to the exchange API endpoint
333
395
  :returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
@@ -336,7 +398,7 @@ class coincheck(Exchange, ImplicitAPI):
336
398
  raise BadSymbol(self.id + ' fetchTicker() supports BTC/JPY only')
337
399
  self.load_markets()
338
400
  market = self.market(symbol)
339
- request = {
401
+ request: dict = {
340
402
  'pair': market['id'],
341
403
  }
342
404
  ticker = self.publicGetTicker(self.extend(request, params))
@@ -353,7 +415,7 @@ class coincheck(Exchange, ImplicitAPI):
353
415
  #
354
416
  return self.parse_ticker(ticker, market)
355
417
 
356
- def parse_trade(self, trade, market: Market = None) -> Trade:
418
+ def parse_trade(self, trade: dict, market: Market = None) -> Trade:
357
419
  #
358
420
  # fetchTrades(public)
359
421
  #
@@ -434,7 +496,9 @@ class coincheck(Exchange, ImplicitAPI):
434
496
  def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
435
497
  """
436
498
  fetch all trades made by the user
437
- :see: https://coincheck.com/documents/exchange/api#order-transactions-pagination
499
+
500
+ https://coincheck.com/documents/exchange/api#order-transactions-pagination
501
+
438
502
  :param str symbol: unified market symbol
439
503
  :param int [since]: the earliest time in ms to fetch trades for
440
504
  :param int [limit]: the maximum number of trades structures to retrieve
@@ -443,7 +507,7 @@ class coincheck(Exchange, ImplicitAPI):
443
507
  """
444
508
  self.load_markets()
445
509
  market = self.market(symbol)
446
- request = {}
510
+ request: dict = {}
447
511
  if limit is not None:
448
512
  request['limit'] = limit
449
513
  response = self.privateGetExchangeOrdersTransactionsPagination(self.extend(request, params))
@@ -469,13 +533,15 @@ class coincheck(Exchange, ImplicitAPI):
469
533
  # ]
470
534
  # }
471
535
  #
472
- transactions = self.safe_value(response, 'data', [])
536
+ transactions = self.safe_list(response, 'data', [])
473
537
  return self.parse_trades(transactions, market, since, limit)
474
538
 
475
539
  def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
476
540
  """
477
541
  get the list of most recent trades for a particular symbol
478
- :see: https://coincheck.com/documents/exchange/api#public-trades
542
+
543
+ https://coincheck.com/documents/exchange/api#public-trades
544
+
479
545
  :param str symbol: unified symbol of the market to fetch trades for
480
546
  :param int [since]: timestamp in ms of the earliest trade to fetch
481
547
  :param int [limit]: the maximum amount of trades to fetch
@@ -484,7 +550,7 @@ class coincheck(Exchange, ImplicitAPI):
484
550
  """
485
551
  self.load_markets()
486
552
  market = self.market(symbol)
487
- request = {
553
+ request: dict = {
488
554
  'pair': market['id'],
489
555
  }
490
556
  if limit is not None:
@@ -500,13 +566,15 @@ class coincheck(Exchange, ImplicitAPI):
500
566
  # "created_at": "2021-12-08T14:10:33.000Z"
501
567
  # }
502
568
  #
503
- data = self.safe_value(response, 'data', [])
569
+ data = self.safe_list(response, 'data', [])
504
570
  return self.parse_trades(data, market, since, limit)
505
571
 
506
- def fetch_trading_fees(self, params={}):
572
+ def fetch_trading_fees(self, params={}) -> TradingFees:
507
573
  """
508
574
  fetch the trading fees for multiple markets
509
- :see: https://coincheck.com/documents/exchange/api#account-info
575
+
576
+ https://coincheck.com/documents/exchange/api#account-info
577
+
510
578
  :param dict [params]: extra parameters specific to the exchange API endpoint
511
579
  :returns dict: a dictionary of `fee structures <https://docs.ccxt.com/#/?id=fee-structure>` indexed by market symbols
512
580
  """
@@ -532,7 +600,7 @@ class coincheck(Exchange, ImplicitAPI):
532
600
  # }
533
601
  #
534
602
  fees = self.safe_value(response, 'exchange_fees', {})
535
- result = {}
603
+ result: dict = {}
536
604
  for i in range(0, len(self.symbols)):
537
605
  symbol = self.symbols[i]
538
606
  market = self.market(symbol)
@@ -550,18 +618,20 @@ class coincheck(Exchange, ImplicitAPI):
550
618
  def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
551
619
  """
552
620
  create a trade order
553
- :see: https://coincheck.com/documents/exchange/api#order-new
621
+
622
+ https://coincheck.com/documents/exchange/api#order-new
623
+
554
624
  :param str symbol: unified symbol of the market to create an order in
555
625
  :param str type: 'market' or 'limit'
556
626
  :param str side: 'buy' or 'sell'
557
627
  :param float amount: how much of currency you want to trade in units of base currency
558
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
628
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
559
629
  :param dict [params]: extra parameters specific to the exchange API endpoint
560
630
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
561
631
  """
562
632
  self.load_markets()
563
633
  market = self.market(symbol)
564
- request = {
634
+ request: dict = {
565
635
  'pair': market['id'],
566
636
  }
567
637
  if type == 'market':
@@ -583,21 +653,32 @@ class coincheck(Exchange, ImplicitAPI):
583
653
  def cancel_order(self, id: str, symbol: Str = None, params={}):
584
654
  """
585
655
  cancels an open order
586
- :see: https://coincheck.com/documents/exchange/api#order-cancel
656
+
657
+ https://coincheck.com/documents/exchange/api#order-cancel
658
+
587
659
  :param str id: order id
588
660
  :param str symbol: not used by coincheck cancelOrder()
589
661
  :param dict [params]: extra parameters specific to the exchange API endpoint
590
662
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
591
663
  """
592
- request = {
664
+ request: dict = {
593
665
  'id': id,
594
666
  }
595
- return self.privateDeleteExchangeOrdersId(self.extend(request, params))
667
+ response = self.privateDeleteExchangeOrdersId(self.extend(request, params))
668
+ #
669
+ # {
670
+ # "success": True,
671
+ # "id": 12345
672
+ # }
673
+ #
674
+ return self.parse_order(response)
596
675
 
597
676
  def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
598
677
  """
599
678
  fetch all deposits made to an account
600
- :see: https://coincheck.com/documents/exchange/api#account-deposits
679
+
680
+ https://coincheck.com/documents/exchange/api#account-deposits
681
+
601
682
  :param str code: unified currency code
602
683
  :param int [since]: the earliest time in ms to fetch deposits for
603
684
  :param int [limit]: the maximum number of deposits structures to retrieve
@@ -606,7 +687,7 @@ class coincheck(Exchange, ImplicitAPI):
606
687
  """
607
688
  self.load_markets()
608
689
  currency = None
609
- request = {}
690
+ request: dict = {}
610
691
  if code is not None:
611
692
  currency = self.currency(code)
612
693
  request['currency'] = currency['id']
@@ -636,13 +717,15 @@ class coincheck(Exchange, ImplicitAPI):
636
717
  # }
637
718
  # ]
638
719
  # }
639
- data = self.safe_value(response, 'deposits', [])
720
+ data = self.safe_list(response, 'deposits', [])
640
721
  return self.parse_transactions(data, currency, since, limit, {'type': 'deposit'})
641
722
 
642
723
  def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
643
724
  """
644
725
  fetch all withdrawals made from an account
645
- :see: https://coincheck.com/documents/exchange/api#withdraws
726
+
727
+ https://coincheck.com/documents/exchange/api#withdraws
728
+
646
729
  :param str code: unified currency code
647
730
  :param int [since]: the earliest time in ms to fetch withdrawals for
648
731
  :param int [limit]: the maximum number of withdrawals structures to retrieve
@@ -653,7 +736,7 @@ class coincheck(Exchange, ImplicitAPI):
653
736
  currency = None
654
737
  if code is not None:
655
738
  currency = self.currency(code)
656
- request = {}
739
+ request: dict = {}
657
740
  if limit is not None:
658
741
  request['limit'] = limit
659
742
  response = self.privateGetWithdraws(self.extend(request, params))
@@ -678,11 +761,11 @@ class coincheck(Exchange, ImplicitAPI):
678
761
  # }
679
762
  # ]
680
763
  # }
681
- data = self.safe_value(response, 'data', [])
764
+ data = self.safe_list(response, 'data', [])
682
765
  return self.parse_transactions(data, currency, since, limit, {'type': 'withdrawal'})
683
766
 
684
- def parse_transaction_status(self, status):
685
- statuses = {
767
+ def parse_transaction_status(self, status: Str):
768
+ statuses: dict = {
686
769
  # withdrawals
687
770
  'pending': 'pending',
688
771
  'processing': 'pending',
@@ -694,7 +777,7 @@ class coincheck(Exchange, ImplicitAPI):
694
777
  }
695
778
  return self.safe_string(statuses, status, status)
696
779
 
697
- def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
780
+ def parse_transaction(self, transaction: dict, currency: Currency = None) -> Transaction:
698
781
  #
699
782
  # fetchDeposits
700
783
  #
@@ -788,7 +871,7 @@ class coincheck(Exchange, ImplicitAPI):
788
871
  }
789
872
  return {'url': url, 'method': method, 'body': body, 'headers': headers}
790
873
 
791
- def handle_errors(self, httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody):
874
+ def handle_errors(self, httpCode: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
792
875
  if response is None:
793
876
  return None
794
877
  #