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
@@ -6,15 +6,15 @@
6
6
  from ccxt.async_support.base.exchange import Exchange
7
7
  from ccxt.abstract.bit2c import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade
9
+ from ccxt.base.types import Balances, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, TradingFees
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
+ from ccxt.base.errors import AuthenticationError
12
13
  from ccxt.base.errors import PermissionDenied
13
14
  from ccxt.base.errors import ArgumentsRequired
14
15
  from ccxt.base.errors import OrderNotFound
15
16
  from ccxt.base.errors import NotSupported
16
17
  from ccxt.base.errors import InvalidNonce
17
- from ccxt.base.errors import AuthenticationError
18
18
  from ccxt.base.decimal_to_precision import TICK_SIZE
19
19
  from ccxt.base.precise import Precise
20
20
 
@@ -48,6 +48,8 @@ class bit2c(Exchange, ImplicitAPI):
48
48
  'fetchCrossBorrowRate': False,
49
49
  'fetchCrossBorrowRates': False,
50
50
  'fetchDepositAddress': True,
51
+ 'fetchDepositAddresses': False,
52
+ 'fetchDepositAddressesByNetwork': False,
51
53
  'fetchFundingHistory': False,
52
54
  'fetchFundingRate': False,
53
55
  'fetchFundingRateHistory': False,
@@ -83,7 +85,7 @@ class bit2c(Exchange, ImplicitAPI):
83
85
  'ws': False,
84
86
  },
85
87
  'urls': {
86
- 'logo': 'https://user-images.githubusercontent.com/1294454/27766119-3593220e-5ece-11e7-8b3a-5a041f6bcc3f.jpg',
88
+ 'logo': 'https://github.com/user-attachments/assets/db0bce50-6842-4c09-a1d5-0c87d22118aa',
87
89
  'api': {
88
90
  'rest': 'https://bit2c.co.il',
89
91
  },
@@ -176,6 +178,62 @@ class bit2c(Exchange, ImplicitAPI):
176
178
  'options': {
177
179
  'fetchTradesMethod': 'public_get_exchanges_pair_trades',
178
180
  },
181
+ 'features': {
182
+ 'spot': {
183
+ 'sandbox': False,
184
+ 'createOrder': {
185
+ 'marginMode': False,
186
+ 'triggerPrice': False,
187
+ 'triggerPriceType': None,
188
+ 'triggerDirection': False,
189
+ 'stopLossPrice': False,
190
+ 'takeProfitPrice': False,
191
+ 'attachedStopLossTakeProfit': None,
192
+ 'timeInForce': {
193
+ 'IOC': False,
194
+ 'FOK': False,
195
+ 'PO': False,
196
+ 'GTD': False,
197
+ },
198
+ 'hedged': False,
199
+ 'trailing': False,
200
+ 'leverage': False,
201
+ 'marketBuyRequiresPrice': False,
202
+ 'marketBuyByCost': False,
203
+ 'selfTradePrevention': False,
204
+ 'iceberg': False,
205
+ },
206
+ 'createOrders': None,
207
+ 'fetchMyTrades': {
208
+ 'marginMode': False,
209
+ 'limit': 100,
210
+ 'daysBack': 30,
211
+ 'untilDays': 30,
212
+ },
213
+ 'fetchOrder': {
214
+ 'marginMode': False,
215
+ 'trigger': False,
216
+ 'trailing': False,
217
+ },
218
+ 'fetchOpenOrders': {
219
+ 'marginMode': False,
220
+ 'limit': None,
221
+ 'trigger': False,
222
+ 'trailing': False,
223
+ },
224
+ 'fetchOrders': None,
225
+ 'fetchClosedOrders': None, # todo implement
226
+ 'fetchOHLCV': None,
227
+ },
228
+ 'swap': {
229
+ 'linear': None,
230
+ 'inverse': None,
231
+ },
232
+ 'future': {
233
+ 'linear': None,
234
+ 'inverse': None,
235
+ },
236
+ },
179
237
  'precisionMode': TICK_SIZE,
180
238
  'exceptions': {
181
239
  'exact': {
@@ -192,7 +250,7 @@ class bit2c(Exchange, ImplicitAPI):
192
250
  })
193
251
 
194
252
  def parse_balance(self, response) -> Balances:
195
- result = {
253
+ result: dict = {
196
254
  'info': response,
197
255
  'timestamp': None,
198
256
  'datetime': None,
@@ -212,7 +270,9 @@ class bit2c(Exchange, ImplicitAPI):
212
270
  async def fetch_balance(self, params={}) -> Balances:
213
271
  """
214
272
  query for balance and get the amount of funds available for trading or funds locked in orders
215
- :see: https://bit2c.co.il/home/api#balance
273
+
274
+ https://bit2c.co.il/home/api#balance
275
+
216
276
  :param dict [params]: extra parameters specific to the exchange API endpoint
217
277
  :returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
218
278
  """
@@ -265,7 +325,9 @@ class bit2c(Exchange, ImplicitAPI):
265
325
  async def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
266
326
  """
267
327
  fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
268
- :see: https://bit2c.co.il/home/api#orderb
328
+
329
+ https://bit2c.co.il/home/api#orderb
330
+
269
331
  :param str symbol: unified symbol of the market to fetch the order book for
270
332
  :param int [limit]: the maximum amount of order book entries to return
271
333
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -273,13 +335,13 @@ class bit2c(Exchange, ImplicitAPI):
273
335
  """
274
336
  await self.load_markets()
275
337
  market = self.market(symbol)
276
- request = {
338
+ request: dict = {
277
339
  'pair': market['id'],
278
340
  }
279
341
  orderbook = await self.publicGetExchangesPairOrderbook(self.extend(request, params))
280
342
  return self.parse_order_book(orderbook, symbol)
281
343
 
282
- def parse_ticker(self, ticker, market: Market = None) -> Ticker:
344
+ def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
283
345
  symbol = self.safe_symbol(None, market)
284
346
  averagePrice = self.safe_string(ticker, 'av')
285
347
  baseVolume = self.safe_string(ticker, 'a')
@@ -310,14 +372,16 @@ class bit2c(Exchange, ImplicitAPI):
310
372
  async def fetch_ticker(self, symbol: str, params={}) -> Ticker:
311
373
  """
312
374
  fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
313
- :see: https://bit2c.co.il/home/api#ticker
375
+
376
+ https://bit2c.co.il/home/api#ticker
377
+
314
378
  :param str symbol: unified symbol of the market to fetch the ticker for
315
379
  :param dict [params]: extra parameters specific to the exchange API endpoint
316
380
  :returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
317
381
  """
318
382
  await self.load_markets()
319
383
  market = self.market(symbol)
320
- request = {
384
+ request: dict = {
321
385
  'pair': market['id'],
322
386
  }
323
387
  response = await self.publicGetExchangesPairTicker(self.extend(request, params))
@@ -326,8 +390,10 @@ class bit2c(Exchange, ImplicitAPI):
326
390
  async def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
327
391
  """
328
392
  get the list of most recent trades for a particular symbol
329
- :see: https://bit2c.co.il/home/api#transactions
330
- :see: https://bit2c.co.il/home/api#trades
393
+
394
+ https://bit2c.co.il/home/api#transactions
395
+ https://bit2c.co.il/home/api#trades
396
+
331
397
  :param str symbol: unified symbol of the market to fetch trades for
332
398
  :param int [since]: timestamp in ms of the earliest trade to fetch
333
399
  :param int [limit]: the maximum amount of trades to fetch
@@ -337,7 +403,7 @@ class bit2c(Exchange, ImplicitAPI):
337
403
  await self.load_markets()
338
404
  market = self.market(symbol)
339
405
  method = self.options['fetchTradesMethod'] # public_get_exchanges_pair_trades or public_get_exchanges_pair_lasttrades
340
- request = {
406
+ request: dict = {
341
407
  'pair': market['id'],
342
408
  }
343
409
  if since is not None:
@@ -360,10 +426,12 @@ class bit2c(Exchange, ImplicitAPI):
360
426
  raise ExchangeError(response)
361
427
  return self.parse_trades(response, market, since, limit)
362
428
 
363
- async def fetch_trading_fees(self, params={}):
429
+ async def fetch_trading_fees(self, params={}) -> TradingFees:
364
430
  """
365
431
  fetch the trading fees for multiple markets
366
- :see: https://bit2c.co.il/home/api#balance
432
+
433
+ https://bit2c.co.il/home/api#balance
434
+
367
435
  :param dict [params]: extra parameters specific to the exchange API endpoint
368
436
  :returns dict: a dictionary of `fee structures <https://docs.ccxt.com/#/?id=fee-structure>` indexed by market symbols
369
437
  """
@@ -387,7 +455,7 @@ class bit2c(Exchange, ImplicitAPI):
387
455
  #
388
456
  fees = self.safe_value(response, 'Fees', {})
389
457
  keys = list(fees.keys())
390
- result = {}
458
+ result: dict = {}
391
459
  for i in range(0, len(keys)):
392
460
  marketId = keys[i]
393
461
  symbol = self.safe_symbol(marketId)
@@ -409,19 +477,21 @@ class bit2c(Exchange, ImplicitAPI):
409
477
  async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
410
478
  """
411
479
  create a trade order
412
- :see: https://bit2c.co.il/home/api#addo
480
+
481
+ https://bit2c.co.il/home/api#addo
482
+
413
483
  :param str symbol: unified symbol of the market to create an order in
414
484
  :param str type: 'market' or 'limit'
415
485
  :param str side: 'buy' or 'sell'
416
486
  :param float amount: how much of currency you want to trade in units of base currency
417
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
487
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
418
488
  :param dict [params]: extra parameters specific to the exchange API endpoint
419
489
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
420
490
  """
421
491
  await self.load_markets()
422
492
  method = 'privatePostOrderAddOrder'
423
493
  market = self.market(symbol)
424
- request = {
494
+ request: dict = {
425
495
  'Amount': amount,
426
496
  'Pair': market['id'],
427
497
  }
@@ -439,21 +509,26 @@ class bit2c(Exchange, ImplicitAPI):
439
509
  async def cancel_order(self, id: str, symbol: Str = None, params={}):
440
510
  """
441
511
  cancels an open order
442
- :see: https://bit2c.co.il/home/api#cancelo
512
+
513
+ https://bit2c.co.il/home/api#cancelo
514
+
443
515
  :param str id: order id
444
516
  :param str symbol: Not used by bit2c cancelOrder()
445
517
  :param dict [params]: extra parameters specific to the exchange API endpoint
446
518
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
447
519
  """
448
- request = {
520
+ request: dict = {
449
521
  'id': id,
450
522
  }
451
- return await self.privatePostOrderCancelOrder(self.extend(request, params))
523
+ response = await self.privatePostOrderCancelOrder(self.extend(request, params))
524
+ return self.parse_order(response)
452
525
 
453
526
  async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
454
527
  """
455
528
  fetch all unfilled currently open orders
456
- :see: https://bit2c.co.il/home/api#geto
529
+
530
+ https://bit2c.co.il/home/api#geto
531
+
457
532
  :param str symbol: unified market symbol
458
533
  :param int [since]: the earliest time in ms to fetch open orders for
459
534
  :param int [limit]: the maximum number of open order structures to retrieve
@@ -464,26 +539,29 @@ class bit2c(Exchange, ImplicitAPI):
464
539
  raise ArgumentsRequired(self.id + ' fetchOpenOrders() requires a symbol argument')
465
540
  await self.load_markets()
466
541
  market = self.market(symbol)
467
- request = {
542
+ request: dict = {
468
543
  'pair': market['id'],
469
544
  }
470
545
  response = await self.privateGetOrderMyOrders(self.extend(request, params))
471
546
  orders = self.safe_value(response, market['id'], {})
472
547
  asks = self.safe_value(orders, 'ask', [])
473
- bids = self.safe_value(orders, 'bid', [])
548
+ bids = self.safe_list(orders, 'bid', [])
474
549
  return self.parse_orders(self.array_concat(asks, bids), market, since, limit)
475
550
 
476
551
  async def fetch_order(self, id: str, symbol: Str = None, params={}):
477
552
  """
478
553
  fetches information on an order made by the user
479
- :see: https://bit2c.co.il/home/api#getoid
554
+
555
+ https://bit2c.co.il/home/api#getoid
556
+
557
+ :param str id: the order id
480
558
  :param str symbol: unified market symbol
481
559
  :param dict [params]: extra parameters specific to the exchange API endpoint
482
560
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
483
561
  """
484
562
  await self.load_markets()
485
563
  market = self.market(symbol)
486
- request = {
564
+ request: dict = {
487
565
  'id': id,
488
566
  }
489
567
  response = await self.privateGetOrderGetById(self.extend(request, params))
@@ -503,7 +581,7 @@ class bit2c(Exchange, ImplicitAPI):
503
581
  #
504
582
  return self.parse_order(response, market)
505
583
 
506
- def parse_order(self, order, market: Market = None) -> Order:
584
+ def parse_order(self, order: dict, market: Market = None) -> Order:
507
585
  #
508
586
  # createOrder
509
587
  # {
@@ -598,7 +676,6 @@ class bit2c(Exchange, ImplicitAPI):
598
676
  'postOnly': None,
599
677
  'side': side,
600
678
  'price': price,
601
- 'stopPrice': None,
602
679
  'triggerPrice': None,
603
680
  'amount': amount,
604
681
  'filled': None,
@@ -613,7 +690,9 @@ class bit2c(Exchange, ImplicitAPI):
613
690
  async def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
614
691
  """
615
692
  fetch all trades made by the user
616
- :see: https://bit2c.co.il/home/api#orderh
693
+
694
+ https://bit2c.co.il/home/api#orderh
695
+
617
696
  :param str symbol: unified market symbol
618
697
  :param int [since]: the earliest time in ms to fetch trades for
619
698
  :param int [limit]: the maximum number of trades structures to retrieve
@@ -622,7 +701,7 @@ class bit2c(Exchange, ImplicitAPI):
622
701
  """
623
702
  await self.load_markets()
624
703
  market = None
625
- request = {}
704
+ request: dict = {}
626
705
  if limit is not None:
627
706
  request['take'] = limit
628
707
  request['take'] = limit
@@ -680,7 +759,7 @@ class bit2c(Exchange, ImplicitAPI):
680
759
  newString += strParts[i]
681
760
  return newString
682
761
 
683
- def parse_trade(self, trade, market: Market = None) -> Trade:
762
+ def parse_trade(self, trade: dict, market: Market = None) -> Trade:
684
763
  #
685
764
  # public fetchTrades
686
765
  #
@@ -777,10 +856,12 @@ class bit2c(Exchange, ImplicitAPI):
777
856
  def is_fiat(self, code):
778
857
  return code == 'NIS'
779
858
 
780
- async def fetch_deposit_address(self, code: str, params={}):
859
+ async def fetch_deposit_address(self, code: str, params={}) -> DepositAddress:
781
860
  """
782
861
  fetch the deposit address for a currency associated with self account
783
- :see: https://bit2c.co.il/home/api#addc
862
+
863
+ https://bit2c.co.il/home/api#addc
864
+
784
865
  :param str code: unified currency code
785
866
  :param dict [params]: extra parameters specific to the exchange API endpoint
786
867
  :returns dict: an `address structure <https://docs.ccxt.com/#/?id=address-structure>`
@@ -789,7 +870,7 @@ class bit2c(Exchange, ImplicitAPI):
789
870
  currency = self.currency(code)
790
871
  if self.is_fiat(code):
791
872
  raise NotSupported(self.id + ' fetchDepositAddress() does not support fiat currencies')
792
- request = {
873
+ request: dict = {
793
874
  'Coin': currency['id'],
794
875
  }
795
876
  response = await self.privatePostFundsAddCoinFundsRequest(self.extend(request, params))
@@ -801,7 +882,7 @@ class bit2c(Exchange, ImplicitAPI):
801
882
  #
802
883
  return self.parse_deposit_address(response, currency)
803
884
 
804
- def parse_deposit_address(self, depositAddress, currency: Currency = None):
885
+ def parse_deposit_address(self, depositAddress, currency: Currency = None) -> DepositAddress:
805
886
  #
806
887
  # {
807
888
  # "address": "0xf14b94518d74aff2b1a6d3429471bcfcd3881d42",
@@ -812,11 +893,11 @@ class bit2c(Exchange, ImplicitAPI):
812
893
  self.check_address(address)
813
894
  code = self.safe_currency_code(None, currency)
814
895
  return {
896
+ 'info': depositAddress,
815
897
  'currency': code,
816
898
  'network': None,
817
899
  'address': address,
818
900
  'tag': None,
819
- 'info': depositAddress,
820
901
  }
821
902
 
822
903
  def nonce(self):
@@ -846,7 +927,7 @@ class bit2c(Exchange, ImplicitAPI):
846
927
  }
847
928
  return {'url': url, 'method': method, 'body': body, 'headers': headers}
848
929
 
849
- def handle_errors(self, httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody):
930
+ def handle_errors(self, httpCode: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
850
931
  if response is None:
851
932
  return None # fallback to default error handler
852
933
  #