ccxt 4.2.77__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 +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 +3104 -880
  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 +1513 -563
  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 +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 +404 -109
  125. ccxt/async_support/deribit.py +557 -323
  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 +1472 -463
  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 +1633 -268
  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 +917 -357
  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 +1776 -454
  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 +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 +3104 -880
  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 +1513 -563
  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 +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 +404 -109
  233. ccxt/deribit.py +557 -323
  234. ccxt/digifinex.py +340 -223
  235. ccxt/ellipx.py +1826 -0
  236. ccxt/exmo.py +259 -128
  237. ccxt/gate.py +1472 -463
  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 +1632 -268
  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 +917 -357
  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 +1776 -454
  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 +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 +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 +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.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.77.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.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.48.dist-info}/top_level.txt +0 -0
@@ -5,17 +5,17 @@
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
7
  from ccxt.abstract.bitteam import ImplicitAPI
8
- from ccxt.base.types import Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
8
+ from ccxt.base.types import Balances, Currencies, Currency, 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
+ from ccxt.base.errors import AuthenticationError
11
12
  from ccxt.base.errors import ArgumentsRequired
12
13
  from ccxt.base.errors import BadRequest
13
14
  from ccxt.base.errors import BadSymbol
14
15
  from ccxt.base.errors import InsufficientFunds
15
16
  from ccxt.base.errors import OrderNotFound
16
17
  from ccxt.base.errors import ExchangeNotAvailable
17
- from ccxt.base.errors import AuthenticationError
18
- from ccxt.base.decimal_to_precision import DECIMAL_PLACES
18
+ from ccxt.base.decimal_to_precision import TICK_SIZE
19
19
  from ccxt.base.precise import Precise
20
20
 
21
21
 
@@ -96,7 +96,11 @@ class bitteam(Exchange, ImplicitAPI):
96
96
  'fetchOrders': True,
97
97
  'fetchOrderTrades': False,
98
98
  'fetchPosition': False,
99
+ 'fetchPositionHistory': False,
100
+ 'fetchPositionMode': False,
99
101
  'fetchPositions': False,
102
+ 'fetchPositionsForSymbol': False,
103
+ 'fetchPositionsHistory': False,
100
104
  'fetchPositionsRisk': False,
101
105
  'fetchPremiumIndexOHLCV': False,
102
106
  'fetchStatus': False,
@@ -133,7 +137,7 @@ class bitteam(Exchange, ImplicitAPI):
133
137
  '1d': '1D',
134
138
  },
135
139
  'urls': {
136
- 'logo': 'https://github.com/ccxt/ccxt/assets/43336371/cf71fe3d-b8b4-40f2-a906-907661b28793',
140
+ 'logo': 'https://github.com/user-attachments/assets/b41b5e0d-98e5-4bd3-8a6e-aeb230a4a135',
137
141
  'api': {
138
142
  'history': 'https://history.bit.team',
139
143
  'public': 'https://bit.team',
@@ -195,7 +199,7 @@ class bitteam(Exchange, ImplicitAPI):
195
199
  'maker': self.parse_number('0.002'),
196
200
  },
197
201
  },
198
- 'precisionMode': DECIMAL_PLACES,
202
+ 'precisionMode': TICK_SIZE,
199
203
  # exchange-specific options
200
204
  'options': {
201
205
  'networksById': {
@@ -223,6 +227,79 @@ class bitteam(Exchange, ImplicitAPI):
223
227
  'BUSD': True,
224
228
  },
225
229
  },
230
+ 'features': {
231
+ 'spot': {
232
+ 'sandbox': False,
233
+ 'createOrder': {
234
+ 'marginMode': False,
235
+ 'triggerPrice': False,
236
+ 'triggerPriceType': None,
237
+ 'triggerDirection': None,
238
+ 'stopLossPrice': False,
239
+ 'takeProfitPrice': False,
240
+ 'attachedStopLossTakeProfit': None,
241
+ 'timeInForce': {
242
+ 'IOC': False,
243
+ 'FOK': False,
244
+ 'PO': False,
245
+ 'GTD': False,
246
+ },
247
+ 'hedged': False,
248
+ 'trailing': False,
249
+ 'leverage': False,
250
+ 'marketBuyRequiresPrice': False,
251
+ 'marketBuyByCost': False,
252
+ 'selfTradePrevention': False,
253
+ 'iceberg': False,
254
+ },
255
+ 'createOrders': None,
256
+ 'fetchMyTrades': {
257
+ 'marginMode': False,
258
+ 'limit': 100,
259
+ 'daysBack': 100000,
260
+ 'untilDays': 100000,
261
+ },
262
+ 'fetchOrder': {
263
+ 'marginMode': False,
264
+ 'trigger': False,
265
+ 'trailing': False,
266
+ },
267
+ 'fetchOpenOrders': {
268
+ 'marginMode': False,
269
+ 'limit': 100,
270
+ 'trigger': False,
271
+ 'trailing': False,
272
+ },
273
+ 'fetchOrders': {
274
+ 'marginMode': True,
275
+ 'limit': 100,
276
+ 'daysBack': None,
277
+ 'untilDays': None,
278
+ 'trigger': False,
279
+ 'trailing': False,
280
+ },
281
+ 'fetchClosedOrders': {
282
+ 'marginMode': False,
283
+ 'limit': 100,
284
+ 'daysBack': None,
285
+ 'daysBackCanceled': None,
286
+ 'untilDays': None,
287
+ 'trigger': False,
288
+ 'trailing': False,
289
+ },
290
+ 'fetchOHLCV': {
291
+ 'limit': 1000,
292
+ },
293
+ },
294
+ 'swap': {
295
+ 'linear': None,
296
+ 'inverse': None,
297
+ },
298
+ 'future': {
299
+ 'linear': None,
300
+ 'inverse': None,
301
+ },
302
+ },
226
303
  'exceptions': {
227
304
  'exact': {
228
305
  '400002': BadSymbol, # {"ok":false,"code":400002,"message":"An order cannot be created on a deactivated pair"}
@@ -247,10 +324,12 @@ class bitteam(Exchange, ImplicitAPI):
247
324
  },
248
325
  })
249
326
 
250
- async def fetch_markets(self, params={}):
327
+ async def fetch_markets(self, params={}) -> List[Market]:
251
328
  """
252
329
  retrieves data on all markets for bitteam
253
- :see: https://bit.team/trade/api/documentation#/CCXT/getTradeApiCcxtPairs
330
+
331
+ https://bit.team/trade/api/documentation#/CCXT/getTradeApiCcxtPairs
332
+
254
333
  :param dict [params]: extra parameters specific to the exchange api endpoint
255
334
  :returns dict[]: an array of objects representing market data
256
335
  """
@@ -345,7 +424,7 @@ class bitteam(Exchange, ImplicitAPI):
345
424
  markets = self.safe_value(result, 'pairs', [])
346
425
  return self.parse_markets(markets)
347
426
 
348
- def parse_market(self, market) -> Market:
427
+ def parse_market(self, market: dict) -> Market:
349
428
  id = self.safe_string(market, 'name')
350
429
  numericId = self.safe_integer(market, 'id')
351
430
  parts = id.split('_')
@@ -354,8 +433,6 @@ class bitteam(Exchange, ImplicitAPI):
354
433
  base = self.safe_currency_code(baseId)
355
434
  quote = self.safe_currency_code(quoteId)
356
435
  active = self.safe_value(market, 'active')
357
- amountPrecision = self.safe_integer(market, 'baseStep')
358
- pricePrecision = self.safe_integer(market, 'quoteStep')
359
436
  timeStart = self.safe_string(market, 'timeStart')
360
437
  created = self.parse8601(timeStart)
361
438
  minCost = None
@@ -390,8 +467,8 @@ class bitteam(Exchange, ImplicitAPI):
390
467
  'strike': None,
391
468
  'optionType': None,
392
469
  'precision': {
393
- 'amount': amountPrecision,
394
- 'price': pricePrecision,
470
+ 'amount': self.parse_number(self.parse_precision(self.safe_string(market, 'baseStep'))),
471
+ 'price': self.parse_number(self.parse_precision(self.safe_string(market, 'quoteStep'))),
395
472
  },
396
473
  'limits': {
397
474
  'leverage': {
@@ -415,10 +492,12 @@ class bitteam(Exchange, ImplicitAPI):
415
492
  'info': market,
416
493
  })
417
494
 
418
- async def fetch_currencies(self, params={}):
495
+ async def fetch_currencies(self, params={}) -> Currencies:
419
496
  """
420
497
  fetches all available currencies on an exchange
421
- :see: https://bit.team/trade/api/documentation#/PUBLIC/getTradeApiCurrencies
498
+
499
+ https://bit.team/trade/api/documentation#/PUBLIC/getTradeApiCurrencies
500
+
422
501
  :param dict [params]: extra parameters specific to the bitteam api endpoint
423
502
  :returns dict: an associative dictionary of currencies
424
503
  """
@@ -538,21 +617,21 @@ class bitteam(Exchange, ImplicitAPI):
538
617
  # }
539
618
  #
540
619
  statusesResponse = self.index_by(statusesResponse, 'unified_cryptoasset_id')
541
- result = {}
620
+ result: dict = {}
542
621
  for i in range(0, len(currencies)):
543
622
  currency = currencies[i]
544
623
  id = self.safe_string(currency, 'symbol')
545
624
  numericId = self.safe_integer(currency, 'id')
546
625
  code = self.safe_currency_code(id)
547
626
  active = self.safe_bool(currency, 'active', False)
548
- precision = self.safe_integer(currency, 'precision')
627
+ precision = self.parse_number(self.parse_precision(self.safe_string(currency, 'precision')))
549
628
  txLimits = self.safe_value(currency, 'txLimits', {})
550
629
  minWithdraw = self.safe_string(txLimits, 'minWithdraw')
551
630
  maxWithdraw = self.safe_string(txLimits, 'maxWithdraw')
552
631
  minDeposit = self.safe_string(txLimits, 'minDeposit')
553
632
  fee = None
554
633
  withdrawCommissionFixed = self.safe_value(txLimits, 'withdrawCommissionFixed', {})
555
- feesByNetworkId = {}
634
+ feesByNetworkId: dict = {}
556
635
  blockChain = self.safe_string(currency, 'blockChain')
557
636
  # if only one blockChain
558
637
  if (blockChain is not None) and (blockChain != ''):
@@ -564,8 +643,8 @@ class bitteam(Exchange, ImplicitAPI):
564
643
  deposit = self.safe_value(statuses, 'depositStatus')
565
644
  withdraw = self.safe_value(statuses, 'withdrawStatus')
566
645
  networkIds = list(feesByNetworkId.keys())
567
- networks = {}
568
- networkPrecision = self.safe_integer(currency, 'decimals')
646
+ networks: dict = {}
647
+ networkPrecision = self.parse_number(self.parse_precision(self.safe_string(currency, 'decimals')))
569
648
  for j in range(0, len(networkIds)):
570
649
  networkId = networkIds[j]
571
650
  networkCode = self.network_id_to_code(networkId, code)
@@ -636,7 +715,7 @@ class bitteam(Exchange, ImplicitAPI):
636
715
  await self.load_markets()
637
716
  market = self.market(symbol)
638
717
  resolution = self.safe_string(self.timeframes, timeframe, timeframe)
639
- request = {
718
+ request: dict = {
640
719
  'pairName': market['id'],
641
720
  'resolution': resolution,
642
721
  }
@@ -669,7 +748,7 @@ class bitteam(Exchange, ImplicitAPI):
669
748
  # }
670
749
  #
671
750
  result = self.safe_value(response, 'result', {})
672
- data = self.safe_value(result, 'data', [])
751
+ data = self.safe_list(result, 'data', [])
673
752
  return self.parse_ohlcvs(data, market, timeframe, since, limit)
674
753
 
675
754
  def parse_ohlcv(self, ohlcv, market: Market = None) -> list:
@@ -695,7 +774,9 @@ class bitteam(Exchange, ImplicitAPI):
695
774
  async def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
696
775
  """
697
776
  fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
698
- :see: https://bit.team/trade/api/documentation#/CMC/getTradeApiCmcOrderbookPair
777
+
778
+ https://bit.team/trade/api/documentation#/CMC/getTradeApiCmcOrderbookPair
779
+
699
780
  :param str symbol: unified symbol of the market to fetch the order book for
700
781
  :param int [limit]: the maximum amount of order book entries to return(default 100, max 200)
701
782
  :param dict [params]: extra parameters specific to the bitteam api endpoint
@@ -703,7 +784,7 @@ class bitteam(Exchange, ImplicitAPI):
703
784
  """
704
785
  await self.load_markets()
705
786
  market = self.market(symbol)
706
- request = {
787
+ request: dict = {
707
788
  'pair': market['id'],
708
789
  }
709
790
  response = await self.publicGetTradeApiCmcOrderbookPair(self.extend(request, params))
@@ -741,7 +822,9 @@ class bitteam(Exchange, ImplicitAPI):
741
822
  async def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
742
823
  """
743
824
  fetches information on multiple orders made by the user
744
- :see: https://bit.team/trade/api/documentation#/PRIVATE/getTradeApiCcxtOrdersofuser
825
+
826
+ https://bit.team/trade/api/documentation#/PRIVATE/getTradeApiCcxtOrdersofuser
827
+
745
828
  :param str symbol: unified market symbol of the market orders were made in
746
829
  :param int [since]: the earliest time in ms to fetch orders for
747
830
  :param int [limit]: the maximum number of orde structures to retrieve(default 10)
@@ -751,7 +834,7 @@ class bitteam(Exchange, ImplicitAPI):
751
834
  """
752
835
  await self.load_markets()
753
836
  type = self.safe_string(params, 'type', 'all')
754
- request = {
837
+ request: dict = {
755
838
  'type': type,
756
839
  }
757
840
  market = None
@@ -844,20 +927,22 @@ class bitteam(Exchange, ImplicitAPI):
844
927
  # }
845
928
  #
846
929
  result = self.safe_value(response, 'result', {})
847
- orders = self.safe_value(result, 'orders', [])
930
+ orders = self.safe_list(result, 'orders', [])
848
931
  return self.parse_orders(orders, market, since, limit)
849
932
 
850
933
  async def fetch_order(self, id: str, symbol: Str = None, params={}) -> Order:
851
934
  """
852
935
  fetches information on an order
853
- :see: https://bit.team/trade/api/documentation#/PRIVATE/getTradeApiCcxtOrderId
936
+
937
+ https://bit.team/trade/api/documentation#/PRIVATE/getTradeApiCcxtOrderId
938
+
854
939
  :param int|str id: order id
855
940
  :param str symbol: not used by bitteam fetchOrder()
856
941
  :param dict [params]: extra parameters specific to the bitteam api endpoint
857
942
  :returns dict: An `order structure <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
858
943
  """
859
944
  await self.load_markets()
860
- request = {
945
+ request: dict = {
861
946
  'id': id,
862
947
  }
863
948
  market = None
@@ -901,13 +986,15 @@ class bitteam(Exchange, ImplicitAPI):
901
986
  # }
902
987
  # }
903
988
  #
904
- result = self.safe_value(response, 'result')
989
+ result = self.safe_dict(response, 'result')
905
990
  return self.parse_order(result, market)
906
991
 
907
992
  async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
908
993
  """
909
994
  fetch all unfilled currently open orders
910
- :see: https://bit.team/trade/api/documentation#/PRIVATE/getTradeApiCcxtOrdersofuser
995
+
996
+ https://bit.team/trade/api/documentation#/PRIVATE/getTradeApiCcxtOrdersofuser
997
+
911
998
  :param str symbol: unified market symbol
912
999
  :param int [since]: the earliest time in ms to fetch open orders for
913
1000
  :param int [limit]: the maximum number of open order structures to retrieve(default 10)
@@ -915,7 +1002,7 @@ class bitteam(Exchange, ImplicitAPI):
915
1002
  :returns Order[]: a list of `order structures <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
916
1003
  """
917
1004
  await self.load_markets()
918
- request = {
1005
+ request: dict = {
919
1006
  'type': 'active',
920
1007
  }
921
1008
  return await self.fetch_orders(symbol, since, limit, self.extend(request, params))
@@ -923,7 +1010,9 @@ class bitteam(Exchange, ImplicitAPI):
923
1010
  async def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
924
1011
  """
925
1012
  fetches information on multiple closed orders made by the user
926
- :see: https://bit.team/trade/api/documentation#/PRIVATE/getTradeApiCcxtOrdersofuser
1013
+
1014
+ https://bit.team/trade/api/documentation#/PRIVATE/getTradeApiCcxtOrdersofuser
1015
+
927
1016
  :param str symbol: unified market symbol of the market orders were made in
928
1017
  :param int [since]: the earliest time in ms to fetch orders for
929
1018
  :param int [limit]: the maximum number of closed order structures to retrieve(default 10)
@@ -931,7 +1020,7 @@ class bitteam(Exchange, ImplicitAPI):
931
1020
  :returns Order[]: a list of `order structures <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
932
1021
  """
933
1022
  await self.load_markets()
934
- request = {
1023
+ request: dict = {
935
1024
  'type': 'closed',
936
1025
  }
937
1026
  return await self.fetch_orders(symbol, since, limit, self.extend(request, params))
@@ -939,7 +1028,9 @@ class bitteam(Exchange, ImplicitAPI):
939
1028
  async def fetch_canceled_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
940
1029
  """
941
1030
  fetches information on multiple canceled orders made by the user
942
- :see: https://bit.team/trade/api/documentation#/PRIVATE/getTradeApiCcxtOrdersofuser
1031
+
1032
+ https://bit.team/trade/api/documentation#/PRIVATE/getTradeApiCcxtOrdersofuser
1033
+
943
1034
  :param str symbol: unified market symbol of the market orders were made in
944
1035
  :param int [since]: the earliest time in ms to fetch orders for
945
1036
  :param int [limit]: the maximum number of canceled order structures to retrieve(default 10)
@@ -947,7 +1038,7 @@ class bitteam(Exchange, ImplicitAPI):
947
1038
  :returns dict: a list of `order structures <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
948
1039
  """
949
1040
  await self.load_markets()
950
- request = {
1041
+ request: dict = {
951
1042
  'type': 'cancelled',
952
1043
  }
953
1044
  return await self.fetch_orders(symbol, since, limit, self.extend(request, params))
@@ -955,18 +1046,20 @@ class bitteam(Exchange, ImplicitAPI):
955
1046
  async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
956
1047
  """
957
1048
  create a trade order
958
- :see: https://bit.team/trade/api/documentation#/PRIVATE/postTradeApiCcxtOrdercreate
1049
+
1050
+ https://bit.team/trade/api/documentation#/PRIVATE/postTradeApiCcxtOrdercreate
1051
+
959
1052
  :param str symbol: unified symbol of the market to create an order in
960
1053
  :param str type: 'market' or 'limit'
961
1054
  :param str side: 'buy' or 'sell'
962
1055
  :param float amount: how much of currency you want to trade in units of base currency
963
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1056
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
964
1057
  :param dict [params]: extra parameters specific to the bitteam api endpoint
965
1058
  :returns dict: an `order structure <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
966
1059
  """
967
1060
  await self.load_markets()
968
1061
  market = self.market(symbol)
969
- request = {
1062
+ request: dict = {
970
1063
  'pairId': str(market['numericId']),
971
1064
  'type': type,
972
1065
  'side': side,
@@ -1001,20 +1094,22 @@ class bitteam(Exchange, ImplicitAPI):
1001
1094
  # }
1002
1095
  # }
1003
1096
  #
1004
- order = self.safe_value(response, 'result', {})
1097
+ order = self.safe_dict(response, 'result', {})
1005
1098
  return self.parse_order(order, market)
1006
1099
 
1007
1100
  async def cancel_order(self, id: str, symbol: Str = None, params={}):
1008
1101
  """
1009
1102
  cancels an open order
1010
- :see: https://bit.team/trade/api/documentation#/PRIVATE/postTradeApiCcxtCancelorder
1103
+
1104
+ https://bit.team/trade/api/documentation#/PRIVATE/postTradeApiCcxtCancelorder
1105
+
1011
1106
  :param str id: order id
1012
1107
  :param str symbol: not used by bitteam cancelOrder()
1013
1108
  :param dict [params]: extra parameters specific to the bitteam api endpoint
1014
1109
  :returns dict: An `order structure <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
1015
1110
  """
1016
1111
  await self.load_markets()
1017
- request = {
1112
+ request: dict = {
1018
1113
  'id': id,
1019
1114
  }
1020
1115
  response = await self.privatePostTradeApiCcxtCancelorder(self.extend(request, params))
@@ -1026,20 +1121,22 @@ class bitteam(Exchange, ImplicitAPI):
1026
1121
  # }
1027
1122
  # }
1028
1123
  #
1029
- result = self.safe_value(response, 'result', {})
1124
+ result = self.safe_dict(response, 'result', {})
1030
1125
  return self.parse_order(result)
1031
1126
 
1032
1127
  async def cancel_all_orders(self, symbol: Str = None, params={}):
1033
1128
  """
1034
1129
  cancel open orders of market
1035
- :see: https://bit.team/trade/api/documentation#/PRIVATE/postTradeApiCcxtCancelallorder
1130
+
1131
+ https://bit.team/trade/api/documentation#/PRIVATE/postTradeApiCcxtCancelallorder
1132
+
1036
1133
  :param str symbol: unified market symbol
1037
1134
  :param dict [params]: extra parameters specific to the bitteam api endpoint
1038
1135
  :returns dict[]: a list of `order structures <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
1039
1136
  """
1040
1137
  await self.load_markets()
1041
1138
  market = None
1042
- request = {}
1139
+ request: dict = {}
1043
1140
  if symbol is not None:
1044
1141
  market = self.market(symbol)
1045
1142
  request['pairId'] = str(market['numericId'])
@@ -1058,7 +1155,7 @@ class bitteam(Exchange, ImplicitAPI):
1058
1155
  orders = [result]
1059
1156
  return self.parse_orders(orders, market)
1060
1157
 
1061
- def parse_order(self, order, market: Market = None) -> Order:
1158
+ def parse_order(self, order: dict, market: Market = None) -> Order:
1062
1159
  #
1063
1160
  # fetchOrders
1064
1161
  # {
@@ -1161,7 +1258,6 @@ class bitteam(Exchange, ImplicitAPI):
1161
1258
  side = self.safe_string(order, 'side')
1162
1259
  feeRaw = self.safe_value(order, 'fee')
1163
1260
  price = self.safe_string(order, 'price')
1164
- stopPrice = self.safe_string(order, 'stopPrice')
1165
1261
  amount = self.safe_string(order, 'quantity')
1166
1262
  filled = self.safe_string(order, 'executed')
1167
1263
  fee = None
@@ -1186,8 +1282,7 @@ class bitteam(Exchange, ImplicitAPI):
1186
1282
  'timeInForce': 'GTC',
1187
1283
  'side': side,
1188
1284
  'price': price,
1189
- 'stopPrice': stopPrice,
1190
- 'triggerPrice': stopPrice,
1285
+ 'triggerPrice': self.safe_string(order, 'stopPrice'),
1191
1286
  'average': None,
1192
1287
  'amount': amount,
1193
1288
  'cost': None,
@@ -1199,8 +1294,8 @@ class bitteam(Exchange, ImplicitAPI):
1199
1294
  'postOnly': False,
1200
1295
  }, market)
1201
1296
 
1202
- def parse_order_status(self, status):
1203
- statuses = {
1297
+ def parse_order_status(self, status: Str):
1298
+ statuses: dict = {
1204
1299
  'accepted': 'open',
1205
1300
  'executed': 'closed',
1206
1301
  'cancelled': 'canceled',
@@ -1213,7 +1308,7 @@ class bitteam(Exchange, ImplicitAPI):
1213
1308
  return self.safe_string(statuses, status, status)
1214
1309
 
1215
1310
  def parse_order_type(self, status):
1216
- statuses = {
1311
+ statuses: dict = {
1217
1312
  'market': 'market',
1218
1313
  'limit': 'limit',
1219
1314
  }
@@ -1230,7 +1325,9 @@ class bitteam(Exchange, ImplicitAPI):
1230
1325
  async def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
1231
1326
  """
1232
1327
  fetches price tickers for multiple markets, statistical calculations with the information calculated over the past 24 hours each market
1233
- :see: https://bit.team/trade/api/documentation#/CMC/getTradeApiCmcSummary
1328
+
1329
+ https://bit.team/trade/api/documentation#/CMC/getTradeApiCmcSummary
1330
+
1234
1331
  :param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
1235
1332
  :param dict [params]: extra parameters specific to the bitteam api endpoint
1236
1333
  :returns dict: a dictionary of `ticker structures <https://github.com/ccxt/ccxt/wiki/Manual#ticker-structure>`
@@ -1280,14 +1377,16 @@ class bitteam(Exchange, ImplicitAPI):
1280
1377
  async def fetch_ticker(self, symbol: str, params={}) -> Ticker:
1281
1378
  """
1282
1379
  fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
1283
- :see: https://bit.team/trade/api/documentation#/PUBLIC/getTradeApiPairName
1380
+
1381
+ https://bit.team/trade/api/documentation#/PUBLIC/getTradeApiPairName
1382
+
1284
1383
  :param str symbol: unified symbol of the market to fetch the ticker for
1285
1384
  :param dict [params]: extra parameters specific to the bitteam api endpoint
1286
1385
  :returns dict: a `ticker structure <https://github.com/ccxt/ccxt/wiki/Manual#ticker-structure>`
1287
1386
  """
1288
1387
  await self.load_markets()
1289
1388
  market = self.market(symbol)
1290
- request = {
1389
+ request: dict = {
1291
1390
  'name': market['id'],
1292
1391
  }
1293
1392
  response = await self.publicGetTradeApiPairName(self.extend(request, params))
@@ -1475,10 +1574,10 @@ class bitteam(Exchange, ImplicitAPI):
1475
1574
  # }
1476
1575
  #
1477
1576
  result = self.safe_value(response, 'result', {})
1478
- pair = self.safe_value(result, 'pair', {})
1577
+ pair = self.safe_dict(result, 'pair', {})
1479
1578
  return self.parse_ticker(pair, market)
1480
1579
 
1481
- def parse_ticker(self, ticker, market: Market = None) -> Ticker:
1580
+ def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
1482
1581
  #
1483
1582
  # fetchTicker
1484
1583
  # {
@@ -1607,7 +1706,9 @@ class bitteam(Exchange, ImplicitAPI):
1607
1706
  async def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
1608
1707
  """
1609
1708
  get the list of most recent trades for a particular symbol
1610
- :see: https://bit.team/trade/api/documentation#/CMC/getTradeApiCmcTradesPair
1709
+
1710
+ https://bit.team/trade/api/documentation#/CMC/getTradeApiCmcTradesPair
1711
+
1611
1712
  :param str symbol: unified symbol of the market to fetch trades for
1612
1713
  :param int [since]: timestamp in ms of the earliest trade to fetch
1613
1714
  :param int [limit]: the maximum amount of trades to fetch
@@ -1616,7 +1717,7 @@ class bitteam(Exchange, ImplicitAPI):
1616
1717
  """
1617
1718
  await self.load_markets()
1618
1719
  market = self.market(symbol)
1619
- request = {
1720
+ request: dict = {
1620
1721
  'pair': market['id'],
1621
1722
  }
1622
1723
  response = await self.publicGetTradeApiCmcTradesPair(self.extend(request, params))
@@ -1646,7 +1747,9 @@ class bitteam(Exchange, ImplicitAPI):
1646
1747
  async def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
1647
1748
  """
1648
1749
  fetch all trades made by the user
1649
- :see: https://bit.team/trade/api/documentation#/PRIVATE/getTradeApiCcxtTradesofuser
1750
+
1751
+ https://bit.team/trade/api/documentation#/PRIVATE/getTradeApiCcxtTradesofuser
1752
+
1650
1753
  :param str symbol: unified market symbol
1651
1754
  :param int [since]: the earliest time in ms to fetch trades for
1652
1755
  :param int [limit]: the maximum number of trades structures to retrieve(default 10)
@@ -1654,7 +1757,7 @@ class bitteam(Exchange, ImplicitAPI):
1654
1757
  :returns Trade[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#trade-structure>`
1655
1758
  """
1656
1759
  await self.load_markets()
1657
- request = {}
1760
+ request: dict = {}
1658
1761
  market = None
1659
1762
  if symbol is not None:
1660
1763
  market = self.market(symbol)
@@ -1796,10 +1899,10 @@ class bitteam(Exchange, ImplicitAPI):
1796
1899
  # }
1797
1900
  #
1798
1901
  result = self.safe_value(response, 'result', {})
1799
- trades = self.safe_value(result, 'trades', [])
1902
+ trades = self.safe_list(result, 'trades', [])
1800
1903
  return self.parse_trades(trades, market, since, limit)
1801
1904
 
1802
- def parse_trade(self, trade, market: Market = None) -> Trade:
1905
+ def parse_trade(self, trade: dict, market: Market = None) -> Trade:
1803
1906
  #
1804
1907
  # fetchTrades
1805
1908
  # {
@@ -1884,7 +1987,6 @@ class bitteam(Exchange, ImplicitAPI):
1884
1987
  fee = {
1885
1988
  'currency': self.safe_currency_code(feeCurrencyId),
1886
1989
  'cost': feeCost,
1887
- 'rate': None,
1888
1990
  }
1889
1991
  intTs = self.parse_to_int(timestamp)
1890
1992
  return self.safe_trade({
@@ -1906,7 +2008,9 @@ class bitteam(Exchange, ImplicitAPI):
1906
2008
  async def fetch_balance(self, params={}) -> Balances:
1907
2009
  """
1908
2010
  query for balance and get the amount of funds available for trading or funds locked in orders
1909
- :see: https://bit.team/trade/api/documentation#/PRIVATE/getTradeApiCcxtBalance
2011
+
2012
+ https://bit.team/trade/api/documentation#/PRIVATE/getTradeApiCcxtBalance
2013
+
1910
2014
  :param dict [params]: extra parameters specific to the betteam api endpoint
1911
2015
  :returns dict: a `balance structure <https://github.com/ccxt/ccxt/wiki/Manual#balance-structure>`
1912
2016
  """
@@ -1957,7 +2061,7 @@ class bitteam(Exchange, ImplicitAPI):
1957
2061
  # }
1958
2062
  #
1959
2063
  timestamp = self.milliseconds()
1960
- balance = {
2064
+ balance: dict = {
1961
2065
  'info': response,
1962
2066
  'timestamp': timestamp,
1963
2067
  'datetime': self.iso8601(timestamp),
@@ -1982,7 +2086,9 @@ class bitteam(Exchange, ImplicitAPI):
1982
2086
  async def fetch_deposits_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
1983
2087
  """
1984
2088
  fetch history of deposits and withdrawals from external wallets and between CoinList Pro trading account and CoinList wallet
1985
- :see: https://bit.team/trade/api/documentation#/PRIVATE/getTradeApiTransactionsofuser
2089
+
2090
+ https://bit.team/trade/api/documentation#/PRIVATE/getTradeApiTransactionsofuser
2091
+
1986
2092
  :param str [code]: unified currency code for the currency of the deposit/withdrawals
1987
2093
  :param int [since]: timestamp in ms of the earliest deposit/withdrawal
1988
2094
  :param int [limit]: max number of deposit/withdrawals to return(default 10)
@@ -1991,7 +2097,7 @@ class bitteam(Exchange, ImplicitAPI):
1991
2097
  """
1992
2098
  await self.load_markets()
1993
2099
  currency = None
1994
- request = {}
2100
+ request: dict = {}
1995
2101
  if code is not None:
1996
2102
  currency = self.currency(code)
1997
2103
  request['currency'] = currency['numericId']
@@ -2087,10 +2193,10 @@ class bitteam(Exchange, ImplicitAPI):
2087
2193
  # }
2088
2194
  #
2089
2195
  result = self.safe_value(response, 'result', {})
2090
- transactions = self.safe_value(result, 'transactions', [])
2196
+ transactions = self.safe_list(result, 'transactions', [])
2091
2197
  return self.parse_transactions(transactions, currency, since, limit)
2092
2198
 
2093
- def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
2199
+ def parse_transaction(self, transaction: dict, currency: Currency = None) -> Transaction:
2094
2200
  #
2095
2201
  # {
2096
2202
  # "id": 1329229,
@@ -2180,14 +2286,14 @@ class bitteam(Exchange, ImplicitAPI):
2180
2286
  }
2181
2287
 
2182
2288
  def parse_transaction_type(self, type):
2183
- types = {
2289
+ types: dict = {
2184
2290
  'deposit': 'deposit',
2185
2291
  'withdraw': 'withdrawal',
2186
2292
  }
2187
2293
  return self.safe_string(types, type, type)
2188
2294
 
2189
- def parse_transaction_status(self, status):
2190
- statuses = {
2295
+ def parse_transaction_status(self, status: Str):
2296
+ statuses: dict = {
2191
2297
  'approving': 'pending',
2192
2298
  'success': 'ok',
2193
2299
  }
@@ -2215,7 +2321,7 @@ class bitteam(Exchange, ImplicitAPI):
2215
2321
  url += '?' + query
2216
2322
  return {'url': url, 'method': method, 'body': body, 'headers': headers}
2217
2323
 
2218
- def handle_errors(self, code, reason, url, method, headers, body, response, requestHeaders, requestBody):
2324
+ def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
2219
2325
  if response is None:
2220
2326
  return None
2221
2327
  if code != 200: