ccxt-ir 4.3.46.0.2__py2.py3-none-any.whl → 4.5.0__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 (528) hide show
  1. ccxt/__init__.py +39 -35
  2. ccxt/abantether.py +9 -9
  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 +7 -7
  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 +10 -10
  68. ccxt/async_support/afratether.py +9 -9
  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 +31 -37
  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 +25 -24
  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 +30 -27
  183. ccxt/async_support/sarmayex.py +9 -9
  184. ccxt/async_support/sarrafex.py +13 -13
  185. ccxt/async_support/tabdeal.py +14 -13
  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 +29 -35
  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 +22 -21
  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 +28 -25
  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 +12 -11
  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.2.dist-info → ccxt_ir-4.5.0.dist-info}/METADATA +225 -73
  435. ccxt_ir-4.5.0.dist-info/RECORD +743 -0
  436. {ccxt_ir-4.3.46.0.2.dist-info → ccxt_ir-4.5.0.dist-info}/WHEEL +1 -1
  437. ccxt/abstract/ace.py +0 -15
  438. ccxt/abstract/bitbay.py +0 -53
  439. ccxt/abstract/bitcoincom.py +0 -115
  440. ccxt/abstract/bitfinex2.py +0 -139
  441. ccxt/abstract/bitpanda.py +0 -35
  442. ccxt/abstract/bl3p.py +0 -19
  443. ccxt/abstract/coinlist.py +0 -54
  444. ccxt/abstract/currencycom.py +0 -68
  445. ccxt/abstract/hitbtc3.py +0 -115
  446. ccxt/abstract/idex.py +0 -26
  447. ccxt/abstract/kuna.py +0 -182
  448. ccxt/abstract/lykke.py +0 -29
  449. ccxt/abstract/poloniexfutures.py +0 -48
  450. ccxt/abstract/wazirx.py +0 -30
  451. ccxt/ace.py +0 -1012
  452. ccxt/async_support/ace.py +0 -1012
  453. ccxt/async_support/base/ws/aiohttp_client.py +0 -125
  454. ccxt/async_support/base/ws/fast_client.py +0 -96
  455. ccxt/async_support/bitbay.py +0 -17
  456. ccxt/async_support/bitcoincom.py +0 -17
  457. ccxt/async_support/bitfinex2.py +0 -3552
  458. ccxt/async_support/bitpanda.py +0 -16
  459. ccxt/async_support/bl3p.py +0 -485
  460. ccxt/async_support/coinlist.py +0 -2243
  461. ccxt/async_support/currencycom.py +0 -1950
  462. ccxt/async_support/hitbtc3.py +0 -16
  463. ccxt/async_support/idex.py +0 -1766
  464. ccxt/async_support/kuna.py +0 -1841
  465. ccxt/async_support/lykke.py +0 -1270
  466. ccxt/async_support/poloniexfutures.py +0 -1717
  467. ccxt/async_support/wazirx.py +0 -1224
  468. ccxt/bitbay.py +0 -17
  469. ccxt/bitcoincom.py +0 -17
  470. ccxt/bitfinex2.py +0 -3552
  471. ccxt/bitpanda.py +0 -16
  472. ccxt/bl3p.py +0 -485
  473. ccxt/coinlist.py +0 -2243
  474. ccxt/currencycom.py +0 -1950
  475. ccxt/hitbtc3.py +0 -16
  476. ccxt/idex.py +0 -1766
  477. ccxt/kuna.py +0 -1841
  478. ccxt/lykke.py +0 -1270
  479. ccxt/poloniexfutures.py +0 -1717
  480. ccxt/pro/bitcoincom.py +0 -34
  481. ccxt/pro/bitfinex2.py +0 -1083
  482. ccxt/pro/bitpanda.py +0 -15
  483. ccxt/pro/currencycom.py +0 -536
  484. ccxt/pro/idex.py +0 -672
  485. ccxt/pro/poloniexfutures.py +0 -990
  486. ccxt/pro/wazirx.py +0 -749
  487. ccxt/test/base/__init__.py +0 -29
  488. ccxt/test/base/test_account.py +0 -26
  489. ccxt/test/base/test_balance.py +0 -56
  490. ccxt/test/base/test_borrow_interest.py +0 -35
  491. ccxt/test/base/test_borrow_rate.py +0 -32
  492. ccxt/test/base/test_calculate_fee.py +0 -51
  493. ccxt/test/base/test_crypto.py +0 -127
  494. ccxt/test/base/test_currency.py +0 -76
  495. ccxt/test/base/test_datetime.py +0 -109
  496. ccxt/test/base/test_decimal_to_precision.py +0 -392
  497. ccxt/test/base/test_deep_extend.py +0 -68
  498. ccxt/test/base/test_deposit_withdrawal.py +0 -50
  499. ccxt/test/base/test_exchange_datetime_functions.py +0 -76
  500. ccxt/test/base/test_funding_rate_history.py +0 -29
  501. ccxt/test/base/test_last_price.py +0 -31
  502. ccxt/test/base/test_ledger_entry.py +0 -45
  503. ccxt/test/base/test_ledger_item.py +0 -48
  504. ccxt/test/base/test_leverage_tier.py +0 -33
  505. ccxt/test/base/test_liquidation.py +0 -50
  506. ccxt/test/base/test_margin_mode.py +0 -24
  507. ccxt/test/base/test_margin_modification.py +0 -35
  508. ccxt/test/base/test_market.py +0 -193
  509. ccxt/test/base/test_number.py +0 -411
  510. ccxt/test/base/test_ohlcv.py +0 -33
  511. ccxt/test/base/test_open_interest.py +0 -32
  512. ccxt/test/base/test_order.py +0 -64
  513. ccxt/test/base/test_order_book.py +0 -69
  514. ccxt/test/base/test_position.py +0 -60
  515. ccxt/test/base/test_shared_methods.py +0 -353
  516. ccxt/test/base/test_status.py +0 -24
  517. ccxt/test/base/test_throttle.py +0 -126
  518. ccxt/test/base/test_ticker.py +0 -92
  519. ccxt/test/base/test_trade.py +0 -47
  520. ccxt/test/base/test_trading_fee.py +0 -26
  521. ccxt/test/base/test_transaction.py +0 -39
  522. ccxt/test/test_async.py +0 -1649
  523. ccxt/test/test_sync.py +0 -1648
  524. ccxt/wazirx.py +0 -1224
  525. ccxt_ir-4.3.46.0.2.dist-info/RECORD +0 -772
  526. /ccxt/abstract/{huobijp.py → bittrade.py} +0 -0
  527. {ccxt_ir-4.3.46.0.2.dist-info → ccxt_ir-4.5.0.dist-info/licenses}/LICENSE.txt +0 -0
  528. {ccxt_ir-4.3.46.0.2.dist-info → ccxt_ir-4.5.0.dist-info}/top_level.txt +0 -0
@@ -5,11 +5,12 @@
5
5
 
6
6
  from ccxt.async_support.gate import gate
7
7
  from ccxt.abstract.gateio import ImplicitAPI
8
+ from ccxt.base.types import Any
8
9
 
9
10
 
10
11
  class gateio(gate, ImplicitAPI):
11
12
 
12
- def describe(self):
13
+ def describe(self) -> Any:
13
14
  return self.deep_extend(super(gateio, self).describe(), {
14
15
  'id': 'gateio',
15
16
  'alias': True,
@@ -7,7 +7,7 @@ from ccxt.async_support.base.exchange import Exchange
7
7
  from ccxt.abstract.gemini import ImplicitAPI
8
8
  import asyncio
9
9
  import hashlib
10
- from ccxt.base.types import Balances, Currencies, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFees, Transaction
10
+ from ccxt.base.types import Any, Balances, Currencies, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFees, Transaction
11
11
  from typing import List
12
12
  from ccxt.base.errors import ExchangeError
13
13
  from ccxt.base.errors import AuthenticationError
@@ -28,7 +28,7 @@ from ccxt.base.precise import Precise
28
28
 
29
29
  class gemini(Exchange, ImplicitAPI):
30
30
 
31
- def describe(self):
31
+ def describe(self) -> Any:
32
32
  return self.deep_extend(super(gemini, self).describe(), {
33
33
  'id': 'gemini',
34
34
  'name': 'Gemini',
@@ -62,6 +62,7 @@ class gemini(Exchange, ImplicitAPI):
62
62
  'fetchCrossBorrowRates': False,
63
63
  'fetchCurrencies': True,
64
64
  'fetchDepositAddress': True,
65
+ 'fetchDepositAddresses': False,
65
66
  'fetchDepositAddressesByNetwork': True,
66
67
  'fetchDepositsWithdrawals': True,
67
68
  'fetchFundingHistory': False,
@@ -200,6 +201,7 @@ class gemini(Exchange, ImplicitAPI):
200
201
  'v1/account/create': 1,
201
202
  'v1/account/list': 1,
202
203
  'v1/heartbeat': 1,
204
+ 'v1/roles': 1,
203
205
  },
204
206
  },
205
207
  },
@@ -274,7 +276,7 @@ class gemini(Exchange, ImplicitAPI):
274
276
  'fetchMarketFromWebRetries': 10,
275
277
  'fetchMarketsFromAPI': {
276
278
  'fetchDetailsForAllSymbols': False,
277
- 'quoteCurrencies': ['USDT', 'GUSD', 'USD', 'DAI', 'EUR', 'GBP', 'SGD', 'BTC', 'ETH', 'LTC', 'BCH'],
279
+ 'quoteCurrencies': ['USDT', 'GUSD', 'USD', 'DAI', 'EUR', 'GBP', 'SGD', 'BTC', 'ETH', 'LTC', 'BCH', 'SOL'],
278
280
  },
279
281
  'fetchMarkets': {
280
282
  'webApiEnable': True, # fetches from WEB
@@ -309,6 +311,72 @@ class gemini(Exchange, ImplicitAPI):
309
311
  },
310
312
  },
311
313
  },
314
+ 'features': {
315
+ 'default': {
316
+ 'sandbox': True,
317
+ 'createOrder': {
318
+ 'marginMode': False,
319
+ 'triggerPrice': True,
320
+ 'triggerPriceType': None,
321
+ 'triggerDirection': False,
322
+ 'stopLossPrice': False, # todo
323
+ 'takeProfitPrice': False, # todo
324
+ 'attachedStopLossTakeProfit': None,
325
+ 'timeInForce': {
326
+ 'IOC': True,
327
+ 'FOK': True,
328
+ 'PO': True,
329
+ 'GTD': False,
330
+ },
331
+ 'hedged': False,
332
+ 'trailing': False,
333
+ 'leverage': False,
334
+ 'marketBuyByCost': True,
335
+ 'marketBuyRequiresPrice': False,
336
+ 'selfTradePrevention': False,
337
+ 'iceberg': False,
338
+ },
339
+ 'createOrders': None,
340
+ 'fetchMyTrades': {
341
+ 'marginMode': False,
342
+ 'limit': 500,
343
+ 'daysBack': None,
344
+ 'untilDays': None,
345
+ 'symbolRequired': True,
346
+ },
347
+ 'fetchOrder': {
348
+ 'marginMode': False,
349
+ 'trigger': False,
350
+ 'trailing': False,
351
+ 'symbolRequired': False,
352
+ },
353
+ 'fetchOpenOrders': {
354
+ 'marginMode': False,
355
+ 'limit': None,
356
+ 'trigger': False,
357
+ 'trailing': False,
358
+ 'symbolRequired': False,
359
+ },
360
+ 'fetchOrders': None,
361
+ 'fetchClosedOrders': None, # todo: implement
362
+ 'fetchOHLCV': {
363
+ 'limit': None,
364
+ },
365
+ },
366
+ 'spot': {
367
+ 'extends': 'default',
368
+ },
369
+ 'swap': {
370
+ 'linear': {
371
+ 'extends': 'default',
372
+ },
373
+ 'inverse': None,
374
+ },
375
+ 'future': {
376
+ 'linear': None,
377
+ 'inverse': None,
378
+ },
379
+ },
312
380
  })
313
381
 
314
382
  async def fetch_currencies(self, params={}) -> Currencies:
@@ -321,7 +389,7 @@ class gemini(Exchange, ImplicitAPI):
321
389
 
322
390
  async def fetch_currencies_from_web(self, params={}):
323
391
  """
324
- * @ignore
392
+ @ignore
325
393
  fetches all available currencies on an exchange
326
394
  :param dict [params]: extra parameters specific to the endpoint
327
395
  :returns dict: an associative dictionary of currencies
@@ -363,7 +431,6 @@ class gemini(Exchange, ImplicitAPI):
363
431
  networkCode = None
364
432
  if networkId is not None:
365
433
  networkCode = self.network_id_to_code(networkId)
366
- if networkCode is not None:
367
434
  networks[networkCode] = {
368
435
  'info': currency,
369
436
  'id': networkId,
@@ -384,7 +451,7 @@ class gemini(Exchange, ImplicitAPI):
384
451
  },
385
452
  },
386
453
  }
387
- result[code] = {
454
+ result[code] = self.safe_currency_structure({
388
455
  'info': currency,
389
456
  'id': id,
390
457
  'code': code,
@@ -406,13 +473,15 @@ class gemini(Exchange, ImplicitAPI):
406
473
  },
407
474
  },
408
475
  'networks': networks,
409
- }
476
+ })
410
477
  return result
411
478
 
412
479
  async def fetch_markets(self, params={}) -> List[Market]:
413
480
  """
414
481
  retrieves data on all markets for gemini
415
- :see: https://docs.gemini.com/rest-api/#symbols
482
+
483
+ https://docs.gemini.com/rest-api/#symbols
484
+
416
485
  :param dict [params]: extra parameters specific to the exchange API endpoint
417
486
  :returns dict[]: an array of objects representing market data
418
487
  """
@@ -752,7 +821,9 @@ class gemini(Exchange, ImplicitAPI):
752
821
  async def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
753
822
  """
754
823
  fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
755
- :see: https://docs.gemini.com/rest-api/#current-order-book
824
+
825
+ https://docs.gemini.com/rest-api/#current-order-book
826
+
756
827
  :param str symbol: unified symbol of the market to fetch the order book for
757
828
  :param int [limit]: the maximum amount of order book entries to return
758
829
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -813,8 +884,9 @@ class gemini(Exchange, ImplicitAPI):
813
884
  return self.parse_ticker(response, market)
814
885
 
815
886
  async def fetch_ticker_v1_and_v2(self, symbol: str, params={}):
816
- tickerA = await self.fetch_ticker_v1(symbol, params)
817
- tickerB = await self.fetch_ticker_v2(symbol, params)
887
+ tickerPromiseA = self.fetch_ticker_v1(symbol, params)
888
+ tickerPromiseB = self.fetch_ticker_v2(symbol, params)
889
+ tickerA, tickerB = await asyncio.gather(*[tickerPromiseA, tickerPromiseB])
818
890
  return self.deep_extend(tickerA, {
819
891
  'open': tickerB['open'],
820
892
  'high': tickerB['high'],
@@ -828,8 +900,10 @@ class gemini(Exchange, ImplicitAPI):
828
900
  async def fetch_ticker(self, symbol: str, params={}) -> Ticker:
829
901
  """
830
902
  fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
831
- :see: https://docs.gemini.com/rest-api/#ticker
832
- :see: https://docs.gemini.com/rest-api/#ticker-v2
903
+
904
+ https://docs.gemini.com/rest-api/#ticker
905
+ https://docs.gemini.com/rest-api/#ticker-v2
906
+
833
907
  :param str symbol: unified symbol of the market to fetch the ticker for
834
908
  :param dict [params]: extra parameters specific to the exchange API endpoint
835
909
  :param dict [params.fetchTickerMethod]: 'fetchTickerV2', 'fetchTickerV1' or 'fetchTickerV1AndV2' - 'fetchTickerV1' for original ccxt.gemini.fetchTicker - 'fetchTickerV1AndV2' for 2 api calls to get the result of both fetchTicker methods - default = 'fetchTickerV1'
@@ -935,7 +1009,9 @@ class gemini(Exchange, ImplicitAPI):
935
1009
  async def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
936
1010
  """
937
1011
  fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
938
- :see: https://docs.gemini.com/rest-api/#price-feed
1012
+
1013
+ https://docs.gemini.com/rest-api/#price-feed
1014
+
939
1015
  :param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
940
1016
  :param dict [params]: extra parameters specific to the exchange API endpoint
941
1017
  :returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
@@ -1024,7 +1100,9 @@ class gemini(Exchange, ImplicitAPI):
1024
1100
  async def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
1025
1101
  """
1026
1102
  get the list of most recent trades for a particular symbol
1027
- :see: https://docs.gemini.com/rest-api/#trade-history
1103
+
1104
+ https://docs.gemini.com/rest-api/#trade-history
1105
+
1028
1106
  :param str symbol: unified symbol of the market to fetch trades for
1029
1107
  :param int [since]: timestamp in ms of the earliest trade to fetch
1030
1108
  :param int [limit]: the maximum amount of trades to fetch
@@ -1071,7 +1149,9 @@ class gemini(Exchange, ImplicitAPI):
1071
1149
  async def fetch_trading_fees(self, params={}) -> TradingFees:
1072
1150
  """
1073
1151
  fetch the trading fees for multiple markets
1074
- :see: https://docs.gemini.com/rest-api/#get-notional-volume
1152
+
1153
+ https://docs.gemini.com/rest-api/#get-notional-volume
1154
+
1075
1155
  :param dict [params]: extra parameters specific to the exchange API endpoint
1076
1156
  :returns dict: a dictionary of `fee structures <https://docs.ccxt.com/#/?id=fee-structure>` indexed by market symbols
1077
1157
  """
@@ -1127,7 +1207,9 @@ class gemini(Exchange, ImplicitAPI):
1127
1207
  async def fetch_balance(self, params={}) -> Balances:
1128
1208
  """
1129
1209
  query for balance and get the amount of funds available for trading or funds locked in orders
1130
- :see: https://docs.gemini.com/rest-api/#get-available-balances
1210
+
1211
+ https://docs.gemini.com/rest-api/#get-available-balances
1212
+
1131
1213
  :param dict [params]: extra parameters specific to the exchange API endpoint
1132
1214
  :returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
1133
1215
  """
@@ -1284,7 +1366,6 @@ class gemini(Exchange, ImplicitAPI):
1284
1366
  'postOnly': postOnly,
1285
1367
  'side': side,
1286
1368
  'price': price,
1287
- 'stopPrice': None,
1288
1369
  'triggerPrice': None,
1289
1370
  'average': average,
1290
1371
  'cost': None,
@@ -1298,7 +1379,10 @@ class gemini(Exchange, ImplicitAPI):
1298
1379
  async def fetch_order(self, id: str, symbol: Str = None, params={}):
1299
1380
  """
1300
1381
  fetches information on an order made by the user
1301
- :see: https://docs.gemini.com/rest-api/#order-status
1382
+
1383
+ https://docs.gemini.com/rest-api/#order-status
1384
+
1385
+ :param str id: order id
1302
1386
  :param str symbol: unified symbol of the market the order was made in
1303
1387
  :param dict [params]: extra parameters specific to the exchange API endpoint
1304
1388
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
@@ -1336,7 +1420,9 @@ class gemini(Exchange, ImplicitAPI):
1336
1420
  async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1337
1421
  """
1338
1422
  fetch all unfilled currently open orders
1339
- :see: https://docs.gemini.com/rest-api/#get-active-orders
1423
+
1424
+ https://docs.gemini.com/rest-api/#get-active-orders
1425
+
1340
1426
  :param str symbol: unified market symbol
1341
1427
  :param int [since]: the earliest time in ms to fetch open orders for
1342
1428
  :param int [limit]: the maximum number of open orders structures to retrieve
@@ -1378,12 +1464,14 @@ class gemini(Exchange, ImplicitAPI):
1378
1464
  async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
1379
1465
  """
1380
1466
  create a trade order
1381
- :see: https://docs.gemini.com/rest-api/#new-order
1467
+
1468
+ https://docs.gemini.com/rest-api/#new-order
1469
+
1382
1470
  :param str symbol: unified symbol of the market to create an order in
1383
1471
  :param str type: must be 'limit'
1384
1472
  :param str side: 'buy' or 'sell'
1385
1473
  :param float amount: how much of currency you want to trade in units of base currency
1386
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1474
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1387
1475
  :param dict [params]: extra parameters specific to the exchange API endpoint
1388
1476
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
1389
1477
  """
@@ -1408,12 +1496,12 @@ class gemini(Exchange, ImplicitAPI):
1408
1496
  }
1409
1497
  type = self.safe_string(params, 'type', type)
1410
1498
  params = self.omit(params, 'type')
1411
- rawStopPrice = self.safe_string_2(params, 'stop_price', 'stopPrice')
1412
- params = self.omit(params, ['stop_price', 'stopPrice', 'type'])
1499
+ triggerPrice = self.safe_string_n(params, ['triggerPrice', 'stop_price', 'stopPrice'])
1500
+ params = self.omit(params, ['triggerPrice', 'stop_price', 'stopPrice', 'type'])
1413
1501
  if type == 'stopLimit':
1414
- raise ArgumentsRequired(self.id + ' createOrder() requires a stopPrice parameter or a stop_price parameter for ' + type + ' orders')
1415
- if rawStopPrice is not None:
1416
- request['stop_price'] = self.price_to_precision(symbol, rawStopPrice)
1502
+ raise ArgumentsRequired(self.id + ' createOrder() requires a triggerPrice parameter or a stop_price parameter for ' + type + ' orders')
1503
+ if triggerPrice is not None:
1504
+ request['stop_price'] = self.price_to_precision(symbol, triggerPrice)
1417
1505
  request['type'] = 'exchange stop limit'
1418
1506
  else:
1419
1507
  # No options can be applied to stop-limit orders at self time.
@@ -1463,7 +1551,9 @@ class gemini(Exchange, ImplicitAPI):
1463
1551
  async def cancel_order(self, id: str, symbol: Str = None, params={}):
1464
1552
  """
1465
1553
  cancels an open order
1466
- :see: https://docs.gemini.com/rest-api/#cancel-order
1554
+
1555
+ https://docs.gemini.com/rest-api/#cancel-order
1556
+
1467
1557
  :param str id: order id
1468
1558
  :param str symbol: unified symbol of the market the order was made in
1469
1559
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -1503,7 +1593,9 @@ class gemini(Exchange, ImplicitAPI):
1503
1593
  async def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
1504
1594
  """
1505
1595
  fetch all trades made by the user
1506
- :see: https://docs.gemini.com/rest-api/#get-past-trades
1596
+
1597
+ https://docs.gemini.com/rest-api/#get-past-trades
1598
+
1507
1599
  :param str symbol: unified market symbol
1508
1600
  :param int [since]: the earliest time in ms to fetch trades for
1509
1601
  :param int [limit]: the maximum number of trades structures to retrieve
@@ -1524,10 +1616,12 @@ class gemini(Exchange, ImplicitAPI):
1524
1616
  response = await self.privatePostV1Mytrades(self.extend(request, params))
1525
1617
  return self.parse_trades(response, market, since, limit)
1526
1618
 
1527
- async def withdraw(self, code: str, amount: float, address: str, tag=None, params={}):
1619
+ async def withdraw(self, code: str, amount: float, address: str, tag: Str = None, params={}) -> Transaction:
1528
1620
  """
1529
1621
  make a withdrawal
1530
- :see: https://docs.gemini.com/rest-api/#withdraw-crypto-funds
1622
+
1623
+ https://docs.gemini.com/rest-api/#withdraw-crypto-funds
1624
+
1531
1625
  :param str code: unified currency code
1532
1626
  :param float amount: the amount to withdraw
1533
1627
  :param str address: the address to withdraw to
@@ -1582,7 +1676,9 @@ class gemini(Exchange, ImplicitAPI):
1582
1676
  async def fetch_deposits_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
1583
1677
  """
1584
1678
  fetch history of deposits and withdrawals
1585
- :see: https://docs.gemini.com/rest-api/#transfers
1679
+
1680
+ https://docs.gemini.com/rest-api/#transfers
1681
+
1586
1682
  :param str [code]: unified currency code for the currency of the deposit/withdrawals, default is None
1587
1683
  :param int [since]: timestamp in ms of the earliest deposit/withdrawal, default is None
1588
1684
  :param int [limit]: max number of deposit/withdrawals to return, default is None
@@ -1679,9 +1775,11 @@ class gemini(Exchange, ImplicitAPI):
1679
1775
  'info': depositAddress,
1680
1776
  }
1681
1777
 
1682
- async def fetch_deposit_address(self, code: str, params={}):
1778
+ async def fetch_deposit_address(self, code: str, params={}) -> DepositAddress:
1683
1779
  """
1684
- :see: https://docs.gemini.com/rest-api/#get-deposit-addresses
1780
+
1781
+ https://docs.gemini.com/rest-api/#get-deposit-addresses
1782
+
1685
1783
  fetch the deposit address for a currency associated with self account
1686
1784
  :param str code: unified currency code
1687
1785
  :param dict [params]: extra parameters specific to the endpoint
@@ -1695,10 +1793,12 @@ class gemini(Exchange, ImplicitAPI):
1695
1793
  networkGroup = self.index_by(self.safe_value(groupedByNetwork, networkCode), 'currency')
1696
1794
  return self.safe_value(networkGroup, code)
1697
1795
 
1698
- async def fetch_deposit_addresses_by_network(self, code: str, params={}):
1796
+ async def fetch_deposit_addresses_by_network(self, code: str, params={}) -> List[DepositAddress]:
1699
1797
  """
1700
1798
  fetch a dictionary of addresses for a currency, indexed by network
1701
- :see: https://docs.gemini.com/rest-api/#get-deposit-addresses
1799
+
1800
+ https://docs.gemini.com/rest-api/#get-deposit-addresses
1801
+
1702
1802
  :param str code: unified currency code of the currency for the deposit address
1703
1803
  :param dict [params]: extra parameters specific to the exchange API endpoint
1704
1804
  :param str [params.network]: *required* The chain of currency
@@ -1773,10 +1873,12 @@ class gemini(Exchange, ImplicitAPI):
1773
1873
  raise ExchangeError(feedback) # unknown message
1774
1874
  return None
1775
1875
 
1776
- async def create_deposit_address(self, code: str, params={}):
1876
+ async def create_deposit_address(self, code: str, params={}) -> DepositAddress:
1777
1877
  """
1778
1878
  create a currency deposit address
1779
- :see: https://docs.gemini.com/rest-api/#new-deposit-address
1879
+
1880
+ https://docs.gemini.com/rest-api/#new-deposit-address
1881
+
1780
1882
  :param str code: unified currency code of the currency for the deposit address
1781
1883
  :param dict [params]: extra parameters specific to the exchange API endpoint
1782
1884
  :returns dict: an `address structure <https://docs.ccxt.com/#/?id=address-structure>`
@@ -1793,13 +1895,16 @@ class gemini(Exchange, ImplicitAPI):
1793
1895
  'currency': code,
1794
1896
  'address': address,
1795
1897
  'tag': None,
1898
+ 'network': None,
1796
1899
  'info': response,
1797
1900
  }
1798
1901
 
1799
1902
  async def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
1800
1903
  """
1801
1904
  fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
1802
- :see: https://docs.gemini.com/rest-api/#candles
1905
+
1906
+ https://docs.gemini.com/rest-api/#candles
1907
+
1803
1908
  :param str symbol: unified symbol of the market to fetch OHLCV data for
1804
1909
  :param str timeframe: the length of time each candle represents
1805
1910
  :param int [since]: timestamp in ms of the earliest candle to fetch