ccxt-ir 4.3.46.0.3__py2.py3-none-any.whl → 4.5.1__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 (529) hide show
  1. ccxt/__init__.py +39 -35
  2. ccxt/abantether.py +8 -8
  3. ccxt/abstract/alpaca.py +4 -0
  4. ccxt/abstract/apex.py +31 -0
  5. ccxt/abstract/bigone.py +1 -1
  6. ccxt/abstract/binance.py +106 -48
  7. ccxt/abstract/binancecoinm.py +106 -48
  8. ccxt/abstract/binanceus.py +141 -83
  9. ccxt/abstract/binanceusdm.py +106 -48
  10. ccxt/abstract/bingx.py +50 -1
  11. ccxt/abstract/bitbank.py +5 -0
  12. ccxt/abstract/bitfinex.py +136 -65
  13. ccxt/abstract/bitflyer.py +1 -0
  14. ccxt/abstract/bitget.py +67 -0
  15. ccxt/abstract/bitmart.py +19 -1
  16. ccxt/abstract/bitopro.py +1 -0
  17. ccxt/abstract/bitrue.py +68 -68
  18. ccxt/abstract/bitstamp.py +1 -0
  19. ccxt/abstract/blofin.py +30 -0
  20. ccxt/abstract/btcbox.py +2 -0
  21. ccxt/abstract/bybit.py +28 -13
  22. ccxt/abstract/cex.py +28 -29
  23. ccxt/abstract/coinbaseexchange.py +1 -0
  24. ccxt/abstract/coinbaseinternational.py +1 -1
  25. ccxt/abstract/cryptocom.py +16 -0
  26. ccxt/abstract/cryptomus.py +20 -0
  27. ccxt/abstract/defx.py +69 -0
  28. ccxt/abstract/deribit.py +1 -0
  29. ccxt/abstract/derive.py +117 -0
  30. ccxt/abstract/digifinex.py +1 -0
  31. ccxt/abstract/ellipx.py +25 -0
  32. ccxt/abstract/foxbit.py +26 -0
  33. ccxt/abstract/gate.py +19 -0
  34. ccxt/abstract/gateio.py +19 -0
  35. ccxt/abstract/gemini.py +1 -0
  36. ccxt/abstract/hibachi.py +26 -0
  37. ccxt/abstract/hyperliquid.py +1 -1
  38. ccxt/abstract/independentreserve.py +6 -0
  39. ccxt/abstract/kraken.py +1 -0
  40. ccxt/abstract/krakenfutures.py +4 -0
  41. ccxt/abstract/kucoin.py +10 -0
  42. ccxt/abstract/kucoinfutures.py +18 -0
  43. ccxt/abstract/lbank.py +2 -1
  44. ccxt/abstract/luno.py +1 -0
  45. ccxt/abstract/mexc.py +2 -0
  46. ccxt/abstract/modetrade.py +119 -0
  47. ccxt/abstract/myokx.py +349 -0
  48. ccxt/abstract/oceanex.py +5 -0
  49. ccxt/abstract/okx.py +25 -0
  50. ccxt/abstract/okxus.py +349 -0
  51. ccxt/abstract/onetrading.py +0 -12
  52. ccxt/abstract/paradex.py +23 -0
  53. ccxt/abstract/phemex.py +2 -0
  54. ccxt/abstract/poloniex.py +36 -0
  55. ccxt/abstract/tradeogre.py +3 -1
  56. ccxt/abstract/upbit.py +51 -34
  57. ccxt/abstract/whitebit.py +16 -0
  58. ccxt/abstract/woo.py +64 -6
  59. ccxt/abstract/xt.py +10 -5
  60. ccxt/afratether.py +8 -8
  61. ccxt/alpaca.py +828 -51
  62. ccxt/apex.py +1875 -0
  63. ccxt/arzinja.py +7 -7
  64. ccxt/arzplus.py +9 -9
  65. ccxt/ascendex.py +501 -306
  66. ccxt/async_support/__init__.py +39 -35
  67. ccxt/async_support/abantether.py +8 -8
  68. ccxt/async_support/afratether.py +10 -10
  69. ccxt/async_support/alpaca.py +828 -51
  70. ccxt/async_support/apex.py +1875 -0
  71. ccxt/async_support/arzinja.py +10 -10
  72. ccxt/async_support/arzplus.py +12 -12
  73. ccxt/async_support/ascendex.py +502 -306
  74. ccxt/async_support/base/exchange.py +303 -89
  75. ccxt/async_support/base/ws/cache.py +9 -3
  76. ccxt/async_support/base/ws/client.py +173 -38
  77. ccxt/async_support/base/ws/future.py +25 -37
  78. ccxt/async_support/bequant.py +5 -3
  79. ccxt/async_support/bigone.py +279 -144
  80. ccxt/async_support/binance.py +2347 -1158
  81. ccxt/async_support/binancecoinm.py +9 -3
  82. ccxt/async_support/binanceus.py +17 -3
  83. ccxt/async_support/binanceusdm.py +9 -4
  84. ccxt/async_support/bingx.py +2962 -920
  85. ccxt/async_support/bit2c.py +147 -27
  86. ccxt/async_support/bitbank.py +151 -23
  87. ccxt/async_support/bitbns.py +104 -30
  88. ccxt/async_support/bitfinex.py +3291 -1113
  89. ccxt/async_support/bitflyer.py +202 -27
  90. ccxt/async_support/bitget.py +3683 -1538
  91. ccxt/async_support/bithumb.py +195 -38
  92. ccxt/async_support/bitimen.py +12 -12
  93. ccxt/async_support/bitir.py +38 -38
  94. ccxt/async_support/bitmart.py +1288 -350
  95. ccxt/async_support/bitmex.py +260 -75
  96. ccxt/async_support/bitopro.py +262 -62
  97. ccxt/async_support/bitpin.py +17 -16
  98. ccxt/async_support/bitrue.py +459 -290
  99. ccxt/async_support/bitso.py +199 -54
  100. ccxt/async_support/bitstamp.py +230 -96
  101. ccxt/async_support/bitteam.py +167 -25
  102. ccxt/async_support/{huobijp.py → bittrade.py} +158 -30
  103. ccxt/async_support/bitvavo.py +213 -49
  104. ccxt/async_support/blockchaincom.py +160 -46
  105. ccxt/async_support/blofin.py +502 -120
  106. ccxt/async_support/btcalpha.py +169 -31
  107. ccxt/async_support/btcbox.py +292 -23
  108. ccxt/async_support/btcmarkets.py +211 -58
  109. ccxt/async_support/btcturk.py +161 -38
  110. ccxt/async_support/bybit.py +1775 -1030
  111. ccxt/async_support/cex.py +1440 -1303
  112. ccxt/async_support/coinbase.py +724 -212
  113. ccxt/async_support/coinbaseadvanced.py +2 -1
  114. ccxt/async_support/coinbaseexchange.py +388 -89
  115. ccxt/async_support/coinbaseinternational.py +412 -57
  116. ccxt/async_support/coincatch.py +177 -78
  117. ccxt/async_support/coincheck.py +135 -19
  118. ccxt/async_support/coinex.py +606 -232
  119. ccxt/async_support/coinmate.py +189 -63
  120. ccxt/async_support/coinmetro.py +195 -54
  121. ccxt/async_support/coinone.py +158 -51
  122. ccxt/async_support/coinsph.py +336 -61
  123. ccxt/async_support/coinspot.py +151 -52
  124. ccxt/async_support/cryptocom.py +661 -111
  125. ccxt/async_support/cryptomus.py +1137 -0
  126. ccxt/async_support/defx.py +2071 -0
  127. ccxt/async_support/delta.py +299 -99
  128. ccxt/async_support/deribit.py +348 -126
  129. ccxt/async_support/derive.py +2572 -0
  130. ccxt/async_support/digifinex.py +430 -214
  131. ccxt/async_support/ellipx.py +2029 -0
  132. ccxt/async_support/eterex.py +10 -10
  133. ccxt/async_support/excoino.py +31 -31
  134. ccxt/async_support/exir.py +14 -14
  135. ccxt/async_support/exmo.py +344 -131
  136. ccxt/async_support/exnovin.py +10 -10
  137. ccxt/async_support/farhadexchange.py +12 -12
  138. ccxt/async_support/fmfwio.py +2 -1
  139. ccxt/async_support/foxbit.py +1935 -0
  140. ccxt/async_support/gate.py +1351 -529
  141. ccxt/async_support/gateio.py +2 -1
  142. ccxt/async_support/gemini.py +144 -39
  143. ccxt/async_support/hashkey.py +152 -109
  144. ccxt/async_support/hibachi.py +2080 -0
  145. ccxt/async_support/hitbtc.py +395 -167
  146. ccxt/async_support/hitobit.py +12 -12
  147. ccxt/async_support/hollaex.py +307 -119
  148. ccxt/async_support/htx.py +851 -383
  149. ccxt/async_support/huobi.py +2 -1
  150. ccxt/async_support/hyperliquid.py +1848 -536
  151. ccxt/async_support/independentreserve.py +288 -15
  152. ccxt/async_support/indodax.py +190 -33
  153. ccxt/async_support/jibitex.py +12 -12
  154. ccxt/async_support/kraken.py +795 -351
  155. ccxt/async_support/krakenfutures.py +214 -62
  156. ccxt/async_support/kucoin.py +715 -396
  157. ccxt/async_support/kucoinfutures.py +652 -89
  158. ccxt/async_support/latoken.py +217 -113
  159. ccxt/async_support/lbank.py +425 -97
  160. ccxt/async_support/luno.py +382 -35
  161. ccxt/async_support/mercado.py +113 -6
  162. ccxt/async_support/mexc.py +874 -437
  163. ccxt/async_support/modetrade.py +2818 -0
  164. ccxt/async_support/myokx.py +54 -0
  165. ccxt/async_support/ndax.py +221 -64
  166. ccxt/async_support/nobitex.py +32 -38
  167. ccxt/async_support/novadax.py +190 -34
  168. ccxt/async_support/oceanex.py +217 -28
  169. ccxt/async_support/okcoin.py +253 -145
  170. ccxt/async_support/okexchange.py +11 -11
  171. ccxt/async_support/okx.py +1088 -351
  172. ccxt/async_support/okxus.py +54 -0
  173. ccxt/async_support/ompfinex.py +32 -27
  174. ccxt/async_support/onetrading.py +213 -392
  175. ccxt/async_support/oxfun.py +245 -166
  176. ccxt/async_support/p2b.py +151 -29
  177. ccxt/async_support/paradex.py +562 -49
  178. ccxt/async_support/paymium.py +82 -19
  179. ccxt/async_support/phemex.py +713 -172
  180. ccxt/async_support/poloniex.py +1602 -283
  181. ccxt/async_support/probit.py +224 -95
  182. ccxt/async_support/ramzinex.py +34 -30
  183. ccxt/async_support/sarmayex.py +9 -9
  184. ccxt/async_support/sarrafex.py +13 -13
  185. ccxt/async_support/tabdeal.py +15 -14
  186. ccxt/async_support/tetherland.py +9 -9
  187. ccxt/async_support/timex.py +210 -51
  188. ccxt/async_support/tokocrypto.py +167 -47
  189. ccxt/async_support/tradeogre.py +266 -31
  190. ccxt/async_support/twox.py +9 -9
  191. ccxt/async_support/ubitex.py +12 -12
  192. ccxt/async_support/upbit.py +568 -165
  193. ccxt/async_support/vertex.py +160 -32
  194. ccxt/async_support/wallex.py +12 -12
  195. ccxt/async_support/wavesexchange.py +165 -30
  196. ccxt/async_support/whitebit.py +975 -127
  197. ccxt/async_support/woo.py +1918 -1016
  198. ccxt/async_support/woofipro.py +433 -141
  199. ccxt/async_support/xt.py +649 -193
  200. ccxt/async_support/yobit.py +195 -70
  201. ccxt/async_support/zaif.py +91 -15
  202. ccxt/async_support/zonda.py +151 -36
  203. ccxt/base/decimal_to_precision.py +14 -10
  204. ccxt/base/errors.py +49 -18
  205. ccxt/base/exchange.py +1556 -450
  206. ccxt/base/precise.py +10 -0
  207. ccxt/base/types.py +114 -6
  208. ccxt/bequant.py +5 -3
  209. ccxt/bigone.py +279 -144
  210. ccxt/binance.py +2347 -1158
  211. ccxt/binancecoinm.py +9 -3
  212. ccxt/binanceus.py +17 -3
  213. ccxt/binanceusdm.py +9 -4
  214. ccxt/bingx.py +2962 -920
  215. ccxt/bit2c.py +147 -27
  216. ccxt/bitbank.py +151 -23
  217. ccxt/bitbns.py +104 -30
  218. ccxt/bitfinex.py +3290 -1113
  219. ccxt/bitflyer.py +202 -27
  220. ccxt/bitget.py +3683 -1538
  221. ccxt/bithumb.py +194 -38
  222. ccxt/bitimen.py +9 -9
  223. ccxt/bitir.py +35 -35
  224. ccxt/bitmart.py +1288 -350
  225. ccxt/bitmex.py +260 -75
  226. ccxt/bitopro.py +262 -62
  227. ccxt/bitpin.py +15 -14
  228. ccxt/bitrue.py +459 -290
  229. ccxt/bitso.py +199 -54
  230. ccxt/bitstamp.py +230 -96
  231. ccxt/bitteam.py +167 -25
  232. ccxt/{huobijp.py → bittrade.py} +158 -30
  233. ccxt/bitvavo.py +213 -49
  234. ccxt/blockchaincom.py +160 -46
  235. ccxt/blofin.py +502 -120
  236. ccxt/btcalpha.py +169 -31
  237. ccxt/btcbox.py +291 -23
  238. ccxt/btcmarkets.py +211 -58
  239. ccxt/btcturk.py +161 -38
  240. ccxt/bybit.py +1775 -1030
  241. ccxt/cex.py +1439 -1303
  242. ccxt/coinbase.py +724 -212
  243. ccxt/coinbaseadvanced.py +2 -1
  244. ccxt/coinbaseexchange.py +388 -89
  245. ccxt/coinbaseinternational.py +412 -57
  246. ccxt/coincatch.py +177 -78
  247. ccxt/coincheck.py +135 -19
  248. ccxt/coinex.py +606 -232
  249. ccxt/coinmate.py +189 -63
  250. ccxt/coinmetro.py +194 -54
  251. ccxt/coinone.py +158 -51
  252. ccxt/coinsph.py +336 -61
  253. ccxt/coinspot.py +151 -52
  254. ccxt/cryptocom.py +661 -111
  255. ccxt/cryptomus.py +1137 -0
  256. ccxt/defx.py +2070 -0
  257. ccxt/delta.py +299 -99
  258. ccxt/deribit.py +348 -126
  259. ccxt/derive.py +2571 -0
  260. ccxt/digifinex.py +430 -214
  261. ccxt/ellipx.py +2029 -0
  262. ccxt/eterex.py +7 -7
  263. ccxt/excoino.py +29 -29
  264. ccxt/exir.py +11 -11
  265. ccxt/exmo.py +343 -131
  266. ccxt/exnovin.py +8 -8
  267. ccxt/farhadexchange.py +10 -10
  268. ccxt/fmfwio.py +2 -1
  269. ccxt/foxbit.py +1935 -0
  270. ccxt/gate.py +1351 -529
  271. ccxt/gateio.py +2 -1
  272. ccxt/gemini.py +144 -39
  273. ccxt/hashkey.py +152 -109
  274. ccxt/hibachi.py +2079 -0
  275. ccxt/hitbtc.py +395 -167
  276. ccxt/hitobit.py +9 -9
  277. ccxt/hollaex.py +307 -119
  278. ccxt/htx.py +851 -383
  279. ccxt/huobi.py +2 -1
  280. ccxt/hyperliquid.py +1848 -536
  281. ccxt/independentreserve.py +287 -15
  282. ccxt/indodax.py +190 -33
  283. ccxt/jibitex.py +9 -9
  284. ccxt/kraken.py +794 -351
  285. ccxt/krakenfutures.py +214 -62
  286. ccxt/kucoin.py +715 -396
  287. ccxt/kucoinfutures.py +652 -89
  288. ccxt/latoken.py +217 -113
  289. ccxt/lbank.py +425 -97
  290. ccxt/luno.py +382 -35
  291. ccxt/mercado.py +113 -6
  292. ccxt/mexc.py +873 -437
  293. ccxt/modetrade.py +2818 -0
  294. ccxt/myokx.py +54 -0
  295. ccxt/ndax.py +221 -64
  296. ccxt/nobitex.py +30 -36
  297. ccxt/novadax.py +190 -34
  298. ccxt/oceanex.py +217 -28
  299. ccxt/okcoin.py +253 -145
  300. ccxt/okexchange.py +9 -9
  301. ccxt/okx.py +1088 -351
  302. ccxt/okxus.py +54 -0
  303. ccxt/ompfinex.py +29 -24
  304. ccxt/onetrading.py +213 -392
  305. ccxt/oxfun.py +245 -166
  306. ccxt/p2b.py +151 -29
  307. ccxt/paradex.py +562 -49
  308. ccxt/paymium.py +82 -19
  309. ccxt/phemex.py +712 -172
  310. ccxt/poloniex.py +1601 -283
  311. ccxt/pro/__init__.py +76 -17
  312. ccxt/pro/alpaca.py +21 -6
  313. ccxt/pro/apex.py +984 -0
  314. ccxt/pro/ascendex.py +58 -10
  315. ccxt/pro/bequant.py +6 -1
  316. ccxt/pro/binance.py +728 -156
  317. ccxt/pro/binancecoinm.py +6 -2
  318. ccxt/pro/binanceus.py +8 -4
  319. ccxt/pro/binanceusdm.py +7 -2
  320. ccxt/pro/bingx.py +333 -142
  321. ccxt/pro/bitfinex.py +727 -262
  322. ccxt/pro/bitget.py +570 -79
  323. ccxt/pro/bithumb.py +20 -6
  324. ccxt/pro/bitmart.py +216 -87
  325. ccxt/pro/bitmex.py +47 -9
  326. ccxt/pro/bitopro.py +26 -14
  327. ccxt/pro/bitrue.py +22 -22
  328. ccxt/pro/bitstamp.py +54 -21
  329. ccxt/pro/{huobijp.py → bittrade.py} +7 -6
  330. ccxt/pro/bitvavo.py +191 -67
  331. ccxt/pro/blockchaincom.py +21 -8
  332. ccxt/pro/blofin.py +9 -1
  333. ccxt/pro/bybit.py +632 -245
  334. ccxt/pro/cex.py +59 -24
  335. ccxt/pro/coinbase.py +102 -73
  336. ccxt/pro/coinbaseadvanced.py +2 -1
  337. ccxt/pro/coinbaseexchange.py +8 -8
  338. ccxt/pro/coinbaseinternational.py +181 -25
  339. ccxt/pro/coincatch.py +6 -7
  340. ccxt/pro/coincheck.py +11 -6
  341. ccxt/pro/coinex.py +967 -665
  342. ccxt/pro/coinone.py +16 -9
  343. ccxt/pro/cryptocom.py +448 -45
  344. ccxt/pro/defx.py +831 -0
  345. ccxt/pro/deribit.py +150 -14
  346. ccxt/pro/derive.py +704 -0
  347. ccxt/pro/exmo.py +239 -6
  348. ccxt/pro/gate.py +623 -65
  349. ccxt/pro/gateio.py +2 -1
  350. ccxt/pro/gemini.py +27 -11
  351. ccxt/pro/hashkey.py +2 -2
  352. ccxt/pro/hitbtc.py +196 -91
  353. ccxt/pro/hollaex.py +23 -7
  354. ccxt/pro/htx.py +51 -14
  355. ccxt/pro/huobi.py +2 -1
  356. ccxt/pro/hyperliquid.py +591 -27
  357. ccxt/pro/independentreserve.py +9 -6
  358. ccxt/pro/kraken.py +640 -320
  359. ccxt/pro/krakenfutures.py +62 -35
  360. ccxt/pro/kucoin.py +267 -46
  361. ccxt/pro/kucoinfutures.py +165 -21
  362. ccxt/pro/lbank.py +102 -21
  363. ccxt/pro/luno.py +12 -8
  364. ccxt/pro/mexc.py +877 -111
  365. ccxt/pro/modetrade.py +1271 -0
  366. ccxt/pro/myokx.py +38 -0
  367. ccxt/pro/ndax.py +15 -2
  368. ccxt/pro/okcoin.py +23 -4
  369. ccxt/pro/okx.py +573 -98
  370. ccxt/pro/okxus.py +38 -0
  371. ccxt/pro/onetrading.py +30 -13
  372. ccxt/pro/oxfun.py +131 -27
  373. ccxt/pro/p2b.py +88 -22
  374. ccxt/pro/paradex.py +3 -3
  375. ccxt/pro/phemex.py +75 -21
  376. ccxt/pro/poloniex.py +124 -41
  377. ccxt/pro/probit.py +87 -80
  378. ccxt/pro/tradeogre.py +272 -0
  379. ccxt/pro/upbit.py +152 -12
  380. ccxt/pro/vertex.py +8 -3
  381. ccxt/pro/whitebit.py +58 -5
  382. ccxt/pro/woo.py +228 -37
  383. ccxt/pro/woofipro.py +106 -18
  384. ccxt/pro/xt.py +111 -5
  385. ccxt/probit.py +224 -95
  386. ccxt/protobuf/__init__.py +0 -0
  387. ccxt/protobuf/mexc/PrivateAccountV3Api_pb2.py +37 -0
  388. ccxt/protobuf/mexc/PrivateDealsV3Api_pb2.py +37 -0
  389. ccxt/protobuf/mexc/PrivateOrdersV3Api_pb2.py +37 -0
  390. ccxt/protobuf/mexc/PublicAggreBookTickerV3Api_pb2.py +37 -0
  391. ccxt/protobuf/mexc/PublicAggreDealsV3Api_pb2.py +39 -0
  392. ccxt/protobuf/mexc/PublicAggreDepthsV3Api_pb2.py +39 -0
  393. ccxt/protobuf/mexc/PublicBookTickerBatchV3Api_pb2.py +38 -0
  394. ccxt/protobuf/mexc/PublicBookTickerV3Api_pb2.py +37 -0
  395. ccxt/protobuf/mexc/PublicDealsV3Api_pb2.py +39 -0
  396. ccxt/protobuf/mexc/PublicIncreaseDepthsBatchV3Api_pb2.py +38 -0
  397. ccxt/protobuf/mexc/PublicIncreaseDepthsV3Api_pb2.py +39 -0
  398. ccxt/protobuf/mexc/PublicLimitDepthsV3Api_pb2.py +39 -0
  399. ccxt/protobuf/mexc/PublicMiniTickerV3Api_pb2.py +37 -0
  400. ccxt/protobuf/mexc/PublicMiniTickersV3Api_pb2.py +38 -0
  401. ccxt/protobuf/mexc/PublicSpotKlineV3Api_pb2.py +37 -0
  402. ccxt/protobuf/mexc/PushDataV3ApiWrapper_pb2.py +52 -0
  403. ccxt/protobuf/mexc/__init__.py +0 -0
  404. ccxt/ramzinex.py +32 -28
  405. ccxt/sarmayex.py +7 -7
  406. ccxt/sarrafex.py +10 -10
  407. ccxt/static_dependencies/__init__.py +1 -1
  408. ccxt/static_dependencies/lark/py.typed +0 -0
  409. ccxt/static_dependencies/marshmallow/py.typed +0 -0
  410. ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
  411. ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
  412. ccxt/tabdeal.py +13 -12
  413. ccxt/test/tests_async.py +261 -57
  414. ccxt/test/tests_helpers.py +1 -3
  415. ccxt/test/tests_init.py +4 -3
  416. ccxt/test/tests_sync.py +261 -57
  417. ccxt/tetherland.py +7 -7
  418. ccxt/timex.py +210 -51
  419. ccxt/tokocrypto.py +167 -47
  420. ccxt/tradeogre.py +266 -31
  421. ccxt/twox.py +7 -7
  422. ccxt/ubitex.py +9 -9
  423. ccxt/upbit.py +568 -165
  424. ccxt/vertex.py +160 -32
  425. ccxt/wallex.py +9 -9
  426. ccxt/wavesexchange.py +165 -30
  427. ccxt/whitebit.py +975 -127
  428. ccxt/woo.py +1917 -1016
  429. ccxt/woofipro.py +432 -141
  430. ccxt/xt.py +649 -193
  431. ccxt/yobit.py +194 -70
  432. ccxt/zaif.py +91 -15
  433. ccxt/zonda.py +151 -36
  434. {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.1.dist-info}/METADATA +225 -73
  435. ccxt_ir-4.5.1.dist-info/RECORD +743 -0
  436. {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.1.dist-info}/WHEEL +1 -1
  437. ccxt/__test__.py +0 -7
  438. ccxt/abstract/ace.py +0 -15
  439. ccxt/abstract/bitbay.py +0 -53
  440. ccxt/abstract/bitcoincom.py +0 -115
  441. ccxt/abstract/bitfinex2.py +0 -139
  442. ccxt/abstract/bitpanda.py +0 -35
  443. ccxt/abstract/bl3p.py +0 -19
  444. ccxt/abstract/coinlist.py +0 -54
  445. ccxt/abstract/currencycom.py +0 -68
  446. ccxt/abstract/hitbtc3.py +0 -115
  447. ccxt/abstract/idex.py +0 -26
  448. ccxt/abstract/kuna.py +0 -182
  449. ccxt/abstract/lykke.py +0 -29
  450. ccxt/abstract/poloniexfutures.py +0 -48
  451. ccxt/abstract/wazirx.py +0 -30
  452. ccxt/ace.py +0 -1012
  453. ccxt/async_support/ace.py +0 -1012
  454. ccxt/async_support/base/ws/aiohttp_client.py +0 -125
  455. ccxt/async_support/base/ws/fast_client.py +0 -96
  456. ccxt/async_support/bitbay.py +0 -17
  457. ccxt/async_support/bitcoincom.py +0 -17
  458. ccxt/async_support/bitfinex2.py +0 -3552
  459. ccxt/async_support/bitpanda.py +0 -16
  460. ccxt/async_support/bl3p.py +0 -485
  461. ccxt/async_support/coinlist.py +0 -2243
  462. ccxt/async_support/currencycom.py +0 -1950
  463. ccxt/async_support/hitbtc3.py +0 -16
  464. ccxt/async_support/idex.py +0 -1766
  465. ccxt/async_support/kuna.py +0 -1841
  466. ccxt/async_support/lykke.py +0 -1270
  467. ccxt/async_support/poloniexfutures.py +0 -1717
  468. ccxt/async_support/wazirx.py +0 -1224
  469. ccxt/bitbay.py +0 -17
  470. ccxt/bitcoincom.py +0 -17
  471. ccxt/bitfinex2.py +0 -3552
  472. ccxt/bitpanda.py +0 -16
  473. ccxt/bl3p.py +0 -485
  474. ccxt/coinlist.py +0 -2243
  475. ccxt/currencycom.py +0 -1950
  476. ccxt/hitbtc3.py +0 -16
  477. ccxt/idex.py +0 -1766
  478. ccxt/kuna.py +0 -1841
  479. ccxt/lykke.py +0 -1270
  480. ccxt/poloniexfutures.py +0 -1717
  481. ccxt/pro/bitcoincom.py +0 -34
  482. ccxt/pro/bitfinex2.py +0 -1083
  483. ccxt/pro/bitpanda.py +0 -15
  484. ccxt/pro/currencycom.py +0 -536
  485. ccxt/pro/idex.py +0 -672
  486. ccxt/pro/poloniexfutures.py +0 -990
  487. ccxt/pro/wazirx.py +0 -749
  488. ccxt/test/base/__init__.py +0 -29
  489. ccxt/test/base/test_account.py +0 -26
  490. ccxt/test/base/test_balance.py +0 -56
  491. ccxt/test/base/test_borrow_interest.py +0 -35
  492. ccxt/test/base/test_borrow_rate.py +0 -32
  493. ccxt/test/base/test_calculate_fee.py +0 -51
  494. ccxt/test/base/test_crypto.py +0 -127
  495. ccxt/test/base/test_currency.py +0 -76
  496. ccxt/test/base/test_datetime.py +0 -109
  497. ccxt/test/base/test_decimal_to_precision.py +0 -392
  498. ccxt/test/base/test_deep_extend.py +0 -68
  499. ccxt/test/base/test_deposit_withdrawal.py +0 -50
  500. ccxt/test/base/test_exchange_datetime_functions.py +0 -76
  501. ccxt/test/base/test_funding_rate_history.py +0 -29
  502. ccxt/test/base/test_last_price.py +0 -31
  503. ccxt/test/base/test_ledger_entry.py +0 -45
  504. ccxt/test/base/test_ledger_item.py +0 -48
  505. ccxt/test/base/test_leverage_tier.py +0 -33
  506. ccxt/test/base/test_liquidation.py +0 -50
  507. ccxt/test/base/test_margin_mode.py +0 -24
  508. ccxt/test/base/test_margin_modification.py +0 -35
  509. ccxt/test/base/test_market.py +0 -193
  510. ccxt/test/base/test_number.py +0 -411
  511. ccxt/test/base/test_ohlcv.py +0 -33
  512. ccxt/test/base/test_open_interest.py +0 -32
  513. ccxt/test/base/test_order.py +0 -64
  514. ccxt/test/base/test_order_book.py +0 -69
  515. ccxt/test/base/test_position.py +0 -60
  516. ccxt/test/base/test_shared_methods.py +0 -353
  517. ccxt/test/base/test_status.py +0 -24
  518. ccxt/test/base/test_throttle.py +0 -126
  519. ccxt/test/base/test_ticker.py +0 -92
  520. ccxt/test/base/test_trade.py +0 -47
  521. ccxt/test/base/test_trading_fee.py +0 -26
  522. ccxt/test/base/test_transaction.py +0 -39
  523. ccxt/test/test_async.py +0 -1649
  524. ccxt/test/test_sync.py +0 -1648
  525. ccxt/wazirx.py +0 -1224
  526. ccxt_ir-4.3.46.0.3.dist-info/RECORD +0 -773
  527. /ccxt/abstract/{huobijp.py → bittrade.py} +0 -0
  528. {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.1.dist-info/licenses}/LICENSE.txt +0 -0
  529. {ccxt_ir-4.3.46.0.3.dist-info → ccxt_ir-4.5.1.dist-info}/top_level.txt +0 -0
ccxt/coinspot.py CHANGED
@@ -6,7 +6,7 @@
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.coinspot import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Int, Market, Num, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade
9
+ from ccxt.base.types import Any, Balances, Int, Market, Num, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import ArgumentsRequired
@@ -16,7 +16,7 @@ from ccxt.base.precise import Precise
16
16
 
17
17
  class coinspot(Exchange, ImplicitAPI):
18
18
 
19
- def describe(self):
19
+ def describe(self) -> Any:
20
20
  return self.deep_extend(super(coinspot, self).describe(), {
21
21
  'id': 'coinspot',
22
22
  'name': 'CoinSpot',
@@ -31,33 +31,61 @@ class coinspot(Exchange, ImplicitAPI):
31
31
  'future': False,
32
32
  'option': False,
33
33
  'addMargin': False,
34
+ 'borrowCrossMargin': False,
35
+ 'borrowIsolatedMargin': False,
36
+ 'borrowMargin': False,
34
37
  'cancelOrder': True,
35
38
  'closeAllPositions': False,
36
39
  'closePosition': False,
37
40
  'createMarketOrder': False,
38
41
  'createOrder': True,
42
+ 'createOrderWithTakeProfitAndStopLoss': False,
43
+ 'createOrderWithTakeProfitAndStopLossWs': False,
44
+ 'createPostOnlyOrder': False,
39
45
  'createReduceOnlyOrder': False,
40
46
  'createStopLimitOrder': False,
41
47
  'createStopMarketOrder': False,
42
48
  'createStopOrder': False,
43
49
  'fetchBalance': True,
50
+ 'fetchBorrowInterest': False,
51
+ 'fetchBorrowRate': False,
44
52
  'fetchBorrowRateHistories': False,
45
53
  'fetchBorrowRateHistory': False,
54
+ 'fetchBorrowRates': False,
55
+ 'fetchBorrowRatesPerSymbol': False,
46
56
  'fetchCrossBorrowRate': False,
47
57
  'fetchCrossBorrowRates': False,
48
58
  'fetchFundingHistory': False,
59
+ 'fetchFundingInterval': False,
60
+ 'fetchFundingIntervals': False,
49
61
  'fetchFundingRate': False,
50
62
  'fetchFundingRateHistory': False,
51
63
  'fetchFundingRates': False,
64
+ 'fetchGreeks': False,
52
65
  'fetchIndexOHLCV': False,
53
66
  'fetchIsolatedBorrowRate': False,
54
67
  'fetchIsolatedBorrowRates': False,
68
+ 'fetchIsolatedPositions': False,
55
69
  'fetchLeverage': False,
70
+ 'fetchLeverages': False,
56
71
  'fetchLeverageTiers': False,
72
+ 'fetchLiquidations': False,
73
+ 'fetchLongShortRatio': False,
74
+ 'fetchLongShortRatioHistory': False,
75
+ 'fetchMarginAdjustmentHistory': False,
57
76
  'fetchMarginMode': False,
77
+ 'fetchMarginModes': False,
78
+ 'fetchMarketLeverageTiers': False,
58
79
  'fetchMarkOHLCV': False,
80
+ 'fetchMarkPrices': False,
81
+ 'fetchMyLiquidations': False,
82
+ 'fetchMySettlementHistory': False,
59
83
  'fetchMyTrades': True,
84
+ 'fetchOpenInterest': False,
60
85
  'fetchOpenInterestHistory': False,
86
+ 'fetchOpenInterests': False,
87
+ 'fetchOption': False,
88
+ 'fetchOptionChain': False,
61
89
  'fetchOrderBook': True,
62
90
  'fetchPosition': False,
63
91
  'fetchPositionHistory': False,
@@ -67,13 +95,19 @@ class coinspot(Exchange, ImplicitAPI):
67
95
  'fetchPositionsHistory': False,
68
96
  'fetchPositionsRisk': False,
69
97
  'fetchPremiumIndexOHLCV': False,
98
+ 'fetchSettlementHistory': False,
70
99
  'fetchTicker': True,
71
100
  'fetchTickers': True,
72
101
  'fetchTrades': True,
73
102
  'fetchTradingFee': False,
74
103
  'fetchTradingFees': False,
104
+ 'fetchVolatilityHistory': False,
75
105
  'reduceMargin': False,
106
+ 'repayCrossMargin': False,
107
+ 'repayIsolatedMargin': False,
108
+ 'repayMargin': False,
76
109
  'setLeverage': False,
110
+ 'setMargin': False,
77
111
  'setMarginMode': False,
78
112
  'setPositionMode': False,
79
113
  'ws': False,
@@ -144,6 +178,54 @@ class coinspot(Exchange, ImplicitAPI):
144
178
  'options': {
145
179
  'fetchBalance': 'private_post_my_balances',
146
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
+ 'marketBuyByCost': False,
202
+ 'marketBuyRequiresPrice': False,
203
+ 'selfTradePrevention': False,
204
+ 'iceberg': False,
205
+ },
206
+ 'createOrders': None,
207
+ 'fetchMyTrades': {
208
+ 'marginMode': False,
209
+ 'limit': None,
210
+ 'daysBack': 100000,
211
+ 'untilDays': 100000, # todo implement
212
+ 'symbolRequired': False,
213
+ },
214
+ 'fetchOrder': None,
215
+ 'fetchOpenOrders': None, # todo implement
216
+ 'fetchOrders': None,
217
+ 'fetchClosedOrders': None, # todo implement
218
+ 'fetchOHLCV': None,
219
+ },
220
+ 'swap': {
221
+ 'linear': None,
222
+ 'inverse': None,
223
+ },
224
+ 'future': {
225
+ 'linear': None,
226
+ 'inverse': None,
227
+ },
228
+ },
147
229
  'precisionMode': TICK_SIZE,
148
230
  })
149
231
 
@@ -174,7 +256,9 @@ class coinspot(Exchange, ImplicitAPI):
174
256
  def fetch_balance(self, params={}) -> Balances:
175
257
  """
176
258
  query for balance and get the amount of funds available for trading or funds locked in orders
177
- :see: https://www.coinspot.com.au/api#listmybalance
259
+
260
+ https://www.coinspot.com.au/api#listmybalance
261
+
178
262
  :param dict [params]: extra parameters specific to the exchange API endpoint
179
263
  :returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
180
264
  """
@@ -202,7 +286,9 @@ class coinspot(Exchange, ImplicitAPI):
202
286
  def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
203
287
  """
204
288
  fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
205
- :see: https://www.coinspot.com.au/api#listopenorders
289
+
290
+ https://www.coinspot.com.au/api#listopenorders
291
+
206
292
  :param str symbol: unified symbol of the market to fetch the order book for
207
293
  :param int [limit]: the maximum amount of order book entries to return
208
294
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -254,7 +340,9 @@ class coinspot(Exchange, ImplicitAPI):
254
340
  def fetch_ticker(self, symbol: str, params={}) -> Ticker:
255
341
  """
256
342
  fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
257
- :see: https://www.coinspot.com.au/api#latestprices
343
+
344
+ https://www.coinspot.com.au/api#latestprices
345
+
258
346
  :param str symbol: unified symbol of the market to fetch the ticker for
259
347
  :param dict [params]: extra parameters specific to the exchange API endpoint
260
348
  :returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
@@ -264,7 +352,7 @@ class coinspot(Exchange, ImplicitAPI):
264
352
  response = self.publicGetLatest(params)
265
353
  id = market['id']
266
354
  id = id.lower()
267
- prices = self.safe_value(response, 'prices')
355
+ prices = self.safe_dict(response, 'prices', {})
268
356
  #
269
357
  # {
270
358
  # "status":"ok",
@@ -283,7 +371,9 @@ class coinspot(Exchange, ImplicitAPI):
283
371
  def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
284
372
  """
285
373
  fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
286
- :see: https://www.coinspot.com.au/api#latestprices
374
+
375
+ https://www.coinspot.com.au/api#latestprices
376
+
287
377
  :param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
288
378
  :param dict [params]: extra parameters specific to the exchange API endpoint
289
379
  :returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
@@ -293,22 +383,22 @@ class coinspot(Exchange, ImplicitAPI):
293
383
  #
294
384
  # {
295
385
  # "status": "ok",
296
- # "prices": {
297
- # "btc": {
298
- # "bid": "25050",
299
- # "ask": "25370",
300
- # "last": "25234"
301
- # },
302
- # "ltc": {
303
- # "bid": "79.39192993",
304
- # "ask": "87.98",
305
- # "last": "87.95"
386
+ # "prices": {
387
+ # "btc": {
388
+ # "bid": "25050",
389
+ # "ask": "25370",
390
+ # "last": "25234"
391
+ # },
392
+ # "ltc": {
393
+ # "bid": "79.39192993",
394
+ # "ask": "87.98",
395
+ # "last": "87.95"
396
+ # }
306
397
  # }
307
- # }
308
398
  # }
309
399
  #
310
400
  result: dict = {}
311
- prices = self.safe_value(response, 'prices')
401
+ prices = self.safe_dict(response, 'prices', {})
312
402
  ids = list(prices.keys())
313
403
  for i in range(0, len(ids)):
314
404
  id = ids[i]
@@ -322,7 +412,9 @@ class coinspot(Exchange, ImplicitAPI):
322
412
  def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
323
413
  """
324
414
  get the list of most recent trades for a particular symbol
325
- :see: https://www.coinspot.com.au/api#orderhistory
415
+
416
+ https://www.coinspot.com.au/api#orderhistory
417
+
326
418
  :param str symbol: unified symbol of the market to fetch trades for
327
419
  :param int [since]: timestamp in ms of the earliest trade to fetch
328
420
  :param int [limit]: the maximum amount of trades to fetch
@@ -349,7 +441,9 @@ class coinspot(Exchange, ImplicitAPI):
349
441
  def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
350
442
  """
351
443
  fetch all trades made by the user
352
- :see: https://www.coinspot.com.au/api#rotransaction
444
+
445
+ https://www.coinspot.com.au/api#rotransaction
446
+
353
447
  :param str symbol: unified market symbol
354
448
  :param int [since]: the earliest time in ms to fetch trades for
355
449
  :param int [limit]: the maximum number of trades structures to retrieve
@@ -365,35 +459,35 @@ class coinspot(Exchange, ImplicitAPI):
365
459
  request['startdate'] = self.yyyymmdd(since)
366
460
  response = self.privatePostRoMyTransactions(self.extend(request, params))
367
461
  # {
368
- # "status": "ok",
369
- # "buyorders": [
370
- # {
371
- # "otc": False,
372
- # "market": "ALGO/AUD",
373
- # "amount": 386.95197925,
374
- # "created": "2022-10-20T09:56:44.502Z",
375
- # "audfeeExGst": 1.80018002,
376
- # "audGst": 0.180018,
377
- # "audtotal": 200
378
- # },
379
- # ],
380
- # "sellorders": [
381
- # {
382
- # "otc": False,
383
- # "market": "SOLO/ALGO",
384
- # "amount": 154.52345614,
385
- # "total": 115.78858204658796,
386
- # "created": "2022-04-16T09:36:43.698Z",
387
- # "audfeeExGst": 1.08995731,
388
- # "audGst": 0.10899573,
389
- # "audtotal": 118.7
390
- # },
391
- # ]
462
+ # "status": "ok",
463
+ # "buyorders": [
464
+ # {
465
+ # "otc": False,
466
+ # "market": "ALGO/AUD",
467
+ # "amount": 386.95197925,
468
+ # "created": "2022-10-20T09:56:44.502Z",
469
+ # "audfeeExGst": 1.80018002,
470
+ # "audGst": 0.180018,
471
+ # "audtotal": 200
472
+ # },
473
+ # ],
474
+ # "sellorders": [
475
+ # {
476
+ # "otc": False,
477
+ # "market": "SOLO/ALGO",
478
+ # "amount": 154.52345614,
479
+ # "total": 115.78858204658796,
480
+ # "created": "2022-04-16T09:36:43.698Z",
481
+ # "audfeeExGst": 1.08995731,
482
+ # "audGst": 0.10899573,
483
+ # "audtotal": 118.7
484
+ # },
485
+ # ]
392
486
  # }
393
- buyTrades = self.safe_value(response, 'buyorders', [])
487
+ buyTrades = self.safe_list(response, 'buyorders', [])
394
488
  for i in range(0, len(buyTrades)):
395
489
  buyTrades[i]['side'] = 'buy'
396
- sellTrades = self.safe_value(response, 'sellorders', [])
490
+ sellTrades = self.safe_list(response, 'sellorders', [])
397
491
  for i in range(0, len(sellTrades)):
398
492
  sellTrades[i]['side'] = 'sell'
399
493
  trades = self.array_concat(buyTrades, sellTrades)
@@ -470,12 +564,14 @@ class coinspot(Exchange, ImplicitAPI):
470
564
  def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
471
565
  """
472
566
  create a trade order
473
- :see: https://www.coinspot.com.au/api#placebuyorder
567
+
568
+ https://www.coinspot.com.au/api#placebuyorder
569
+
474
570
  :param str symbol: unified symbol of the market to create an order in
475
571
  :param str type: must be 'limit'
476
572
  :param str side: 'buy' or 'sell'
477
573
  :param float amount: how much of currency you want to trade in units of base currency
478
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
574
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
479
575
  :param dict [params]: extra parameters specific to the exchange API endpoint
480
576
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
481
577
  """
@@ -489,13 +585,16 @@ class coinspot(Exchange, ImplicitAPI):
489
585
  'amount': amount,
490
586
  'rate': price,
491
587
  }
492
- return getattr(self, method)(self.extend(request, params))
588
+ response = getattr(self, method)(self.extend(request, params))
589
+ return self.parse_order(response)
493
590
 
494
591
  def cancel_order(self, id: str, symbol: Str = None, params={}):
495
592
  """
496
593
  cancels an open order
497
- :see: https://www.coinspot.com.au/api#cancelbuyorder
498
- :see: https://www.coinspot.com.au/api#cancelsellorder
594
+
595
+ https://www.coinspot.com.au/api#cancelbuyorder
596
+ https://www.coinspot.com.au/api#cancelsellorder
597
+
499
598
  :param str id: order id
500
599
  :param str symbol: not used by coinspot cancelOrder()
501
600
  :param dict [params]: extra parameters specific to the exchange API endpoint