ccxt 3.0.86__py2.py3-none-any.whl → 3.0.87__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.

Potentially problematic release.


This version of ccxt might be problematic. Click here for more details.

Files changed (227) hide show
  1. ccxt/__init__.py +1 -1
  2. ccxt/ace.py +2 -1
  3. ccxt/alpaca.py +2 -1
  4. ccxt/ascendex.py +2 -1
  5. ccxt/async_support/__init__.py +1 -1
  6. ccxt/async_support/ace.py +2 -1
  7. ccxt/async_support/alpaca.py +2 -1
  8. ccxt/async_support/ascendex.py +2 -1
  9. ccxt/async_support/base/exchange.py +6 -6
  10. ccxt/async_support/bequant.py +2 -1
  11. ccxt/async_support/bigone.py +2 -1
  12. ccxt/async_support/binance.py +4 -3
  13. ccxt/async_support/binancecoinm.py +2 -1
  14. ccxt/async_support/binanceus.py +2 -1
  15. ccxt/async_support/binanceusdm.py +2 -1
  16. ccxt/async_support/bit2c.py +2 -1
  17. ccxt/async_support/bitbank.py +2 -1
  18. ccxt/async_support/bitbay.py +2 -1
  19. ccxt/async_support/bitbns.py +2 -1
  20. ccxt/async_support/bitcoincom.py +2 -1
  21. ccxt/async_support/bitfinex.py +2 -1
  22. ccxt/async_support/bitfinex2.py +2 -1
  23. ccxt/async_support/bitflyer.py +2 -1
  24. ccxt/async_support/bitforex.py +2 -1
  25. ccxt/async_support/bitget.py +19 -3
  26. ccxt/async_support/bithumb.py +2 -1
  27. ccxt/async_support/bitmart.py +2 -1
  28. ccxt/async_support/bitmex.py +3 -2
  29. ccxt/async_support/bitopro.py +2 -1
  30. ccxt/async_support/bitpanda.py +2 -1
  31. ccxt/async_support/bitrue.py +3 -2
  32. ccxt/async_support/bitso.py +2 -1
  33. ccxt/async_support/bitstamp.py +2 -1
  34. ccxt/async_support/bitstamp1.py +2 -1
  35. ccxt/async_support/bittrex.py +2 -1
  36. ccxt/async_support/bitvavo.py +3 -2
  37. ccxt/async_support/bkex.py +2 -1
  38. ccxt/async_support/bl3p.py +2 -1
  39. ccxt/async_support/blockchaincom.py +2 -1
  40. ccxt/async_support/btcalpha.py +2 -1
  41. ccxt/async_support/btcbox.py +4 -3
  42. ccxt/async_support/btcex.py +2 -1
  43. ccxt/async_support/btcmarkets.py +2 -1
  44. ccxt/async_support/btctradeua.py +2 -1
  45. ccxt/async_support/btcturk.py +2 -1
  46. ccxt/async_support/bybit.py +2 -1
  47. ccxt/async_support/cex.py +2 -1
  48. ccxt/async_support/coinbase.py +2 -1
  49. ccxt/async_support/coinbaseprime.py +2 -1
  50. ccxt/async_support/coinbasepro.py +4 -3
  51. ccxt/async_support/coincheck.py +2 -1
  52. ccxt/async_support/coinex.py +3 -2
  53. ccxt/async_support/coinfalcon.py +2 -1
  54. ccxt/async_support/coinmate.py +2 -1
  55. ccxt/async_support/coinone.py +2 -1
  56. ccxt/async_support/coinsph.py +3 -2
  57. ccxt/async_support/coinspot.py +2 -1
  58. ccxt/async_support/cryptocom.py +2 -1
  59. ccxt/async_support/currencycom.py +2 -1
  60. ccxt/async_support/delta.py +2 -1
  61. ccxt/async_support/deribit.py +2 -1
  62. ccxt/async_support/digifinex.py +4 -3
  63. ccxt/async_support/exmo.py +2 -1
  64. ccxt/async_support/fmfwio.py +2 -1
  65. ccxt/async_support/gate.py +2 -1
  66. ccxt/async_support/gateio.py +2 -1
  67. ccxt/async_support/gemini.py +2 -1
  68. ccxt/async_support/hitbtc.py +2 -1
  69. ccxt/async_support/hitbtc3.py +2 -1
  70. ccxt/async_support/hollaex.py +2 -1
  71. ccxt/async_support/huobi.py +2 -1
  72. ccxt/async_support/huobijp.py +2 -1
  73. ccxt/async_support/huobipro.py +2 -1
  74. ccxt/async_support/idex.py +3 -2
  75. ccxt/async_support/independentreserve.py +2 -1
  76. ccxt/async_support/indodax.py +2 -1
  77. ccxt/async_support/kraken.py +2 -1
  78. ccxt/async_support/krakenfutures.py +2 -1
  79. ccxt/async_support/kucoin.py +3 -2
  80. ccxt/async_support/kucoinfutures.py +147 -8
  81. ccxt/async_support/kuna.py +2 -1
  82. ccxt/async_support/latoken.py +2 -1
  83. ccxt/async_support/lbank.py +2 -1
  84. ccxt/async_support/lbank2.py +2 -1
  85. ccxt/async_support/luno.py +2 -1
  86. ccxt/async_support/lykke.py +2 -1
  87. ccxt/async_support/mercado.py +2 -1
  88. ccxt/async_support/mexc.py +4 -1
  89. ccxt/async_support/mexc3.py +2 -1
  90. ccxt/async_support/ndax.py +2 -1
  91. ccxt/async_support/novadax.py +2 -1
  92. ccxt/async_support/oceanex.py +2 -1
  93. ccxt/async_support/okcoin.py +2 -1
  94. ccxt/async_support/okex.py +2 -1
  95. ccxt/async_support/okex5.py +2 -1
  96. ccxt/async_support/okx.py +5 -1
  97. ccxt/async_support/paymium.py +2 -1
  98. ccxt/async_support/phemex.py +2 -1
  99. ccxt/async_support/poloniex.py +3 -1
  100. ccxt/async_support/poloniexfutures.py +2 -1
  101. ccxt/async_support/probit.py +2 -1
  102. ccxt/async_support/stex.py +3 -2
  103. ccxt/async_support/tidex.py +2 -1
  104. ccxt/async_support/timex.py +2 -1
  105. ccxt/async_support/tokocrypto.py +3 -2
  106. ccxt/async_support/upbit.py +2 -1
  107. ccxt/async_support/wavesexchange.py +2 -1
  108. ccxt/async_support/wazirx.py +2 -1
  109. ccxt/async_support/whitebit.py +2 -1
  110. ccxt/async_support/woo.py +2 -1
  111. ccxt/async_support/xt.py +2 -1
  112. ccxt/async_support/yobit.py +2 -1
  113. ccxt/async_support/zaif.py +2 -1
  114. ccxt/async_support/zonda.py +2 -1
  115. ccxt/base/exchange.py +6 -74
  116. ccxt/base/types.py +24 -0
  117. ccxt/bequant.py +2 -1
  118. ccxt/bigone.py +2 -1
  119. ccxt/binance.py +4 -3
  120. ccxt/binancecoinm.py +2 -1
  121. ccxt/binanceus.py +2 -1
  122. ccxt/binanceusdm.py +2 -1
  123. ccxt/bit2c.py +2 -1
  124. ccxt/bitbank.py +2 -1
  125. ccxt/bitbay.py +2 -1
  126. ccxt/bitbns.py +2 -1
  127. ccxt/bitcoincom.py +2 -1
  128. ccxt/bitfinex.py +2 -1
  129. ccxt/bitfinex2.py +2 -1
  130. ccxt/bitflyer.py +2 -1
  131. ccxt/bitforex.py +2 -1
  132. ccxt/bitget.py +19 -3
  133. ccxt/bithumb.py +2 -1
  134. ccxt/bitmart.py +2 -1
  135. ccxt/bitmex.py +3 -2
  136. ccxt/bitopro.py +2 -1
  137. ccxt/bitpanda.py +2 -1
  138. ccxt/bitrue.py +3 -2
  139. ccxt/bitso.py +2 -1
  140. ccxt/bitstamp.py +2 -1
  141. ccxt/bitstamp1.py +2 -1
  142. ccxt/bittrex.py +2 -1
  143. ccxt/bitvavo.py +3 -2
  144. ccxt/bkex.py +2 -1
  145. ccxt/bl3p.py +2 -1
  146. ccxt/blockchaincom.py +2 -1
  147. ccxt/btcalpha.py +2 -1
  148. ccxt/btcbox.py +4 -3
  149. ccxt/btcex.py +2 -1
  150. ccxt/btcmarkets.py +2 -1
  151. ccxt/btctradeua.py +2 -1
  152. ccxt/btcturk.py +2 -1
  153. ccxt/bybit.py +2 -1
  154. ccxt/cex.py +2 -1
  155. ccxt/coinbase.py +2 -1
  156. ccxt/coinbaseprime.py +2 -1
  157. ccxt/coinbasepro.py +4 -3
  158. ccxt/coincheck.py +2 -1
  159. ccxt/coinex.py +3 -2
  160. ccxt/coinfalcon.py +2 -1
  161. ccxt/coinmate.py +2 -1
  162. ccxt/coinone.py +2 -1
  163. ccxt/coinsph.py +3 -2
  164. ccxt/coinspot.py +2 -1
  165. ccxt/cryptocom.py +2 -1
  166. ccxt/currencycom.py +2 -1
  167. ccxt/delta.py +2 -1
  168. ccxt/deribit.py +2 -1
  169. ccxt/digifinex.py +4 -3
  170. ccxt/exmo.py +2 -1
  171. ccxt/fmfwio.py +2 -1
  172. ccxt/gate.py +2 -1
  173. ccxt/gateio.py +2 -1
  174. ccxt/gemini.py +2 -1
  175. ccxt/hitbtc.py +2 -1
  176. ccxt/hitbtc3.py +2 -1
  177. ccxt/hollaex.py +2 -1
  178. ccxt/huobi.py +2 -1
  179. ccxt/huobijp.py +2 -1
  180. ccxt/huobipro.py +2 -1
  181. ccxt/idex.py +3 -2
  182. ccxt/independentreserve.py +2 -1
  183. ccxt/indodax.py +2 -1
  184. ccxt/kraken.py +2 -1
  185. ccxt/krakenfutures.py +2 -1
  186. ccxt/kucoin.py +3 -2
  187. ccxt/kucoinfutures.py +147 -8
  188. ccxt/kuna.py +2 -1
  189. ccxt/latoken.py +2 -1
  190. ccxt/lbank.py +2 -1
  191. ccxt/lbank2.py +2 -1
  192. ccxt/luno.py +2 -1
  193. ccxt/lykke.py +2 -1
  194. ccxt/mercado.py +2 -1
  195. ccxt/mexc.py +4 -1
  196. ccxt/mexc3.py +2 -1
  197. ccxt/ndax.py +2 -1
  198. ccxt/novadax.py +2 -1
  199. ccxt/oceanex.py +2 -1
  200. ccxt/okcoin.py +2 -1
  201. ccxt/okex.py +2 -1
  202. ccxt/okex5.py +2 -1
  203. ccxt/okx.py +5 -1
  204. ccxt/paymium.py +2 -1
  205. ccxt/phemex.py +2 -1
  206. ccxt/poloniex.py +3 -1
  207. ccxt/poloniexfutures.py +2 -1
  208. ccxt/pro/__init__.py +1 -1
  209. ccxt/probit.py +2 -1
  210. ccxt/stex.py +3 -2
  211. ccxt/tidex.py +2 -1
  212. ccxt/timex.py +2 -1
  213. ccxt/tokocrypto.py +3 -2
  214. ccxt/upbit.py +2 -1
  215. ccxt/wavesexchange.py +2 -1
  216. ccxt/wazirx.py +2 -1
  217. ccxt/whitebit.py +2 -1
  218. ccxt/woo.py +2 -1
  219. ccxt/xt.py +2 -1
  220. ccxt/yobit.py +2 -1
  221. ccxt/zaif.py +2 -1
  222. ccxt/zonda.py +2 -1
  223. {ccxt-3.0.86.dist-info → ccxt-3.0.87.dist-info}/METADATA +4 -4
  224. ccxt-3.0.87.dist-info/RECORD +355 -0
  225. ccxt-3.0.86.dist-info/RECORD +0 -355
  226. {ccxt-3.0.86.dist-info → ccxt-3.0.87.dist-info}/WHEEL +0 -0
  227. {ccxt-3.0.86.dist-info → ccxt-3.0.87.dist-info}/top_level.txt +0 -0
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.bittrex import ImplicitAPI
7
8
  import hashlib
8
9
  from ccxt.base.types import OrderSide
9
10
  from typing import Optional
@@ -26,7 +27,7 @@ from ccxt.base.decimal_to_precision import TRUNCATE
26
27
  from ccxt.base.decimal_to_precision import TICK_SIZE
27
28
 
28
29
 
29
- class bittrex(Exchange):
30
+ class bittrex(Exchange, ImplicitAPI):
30
31
 
31
32
  def describe(self):
32
33
  return self.deep_extend(super(bittrex, self).describe(), {
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.bitvavo import ImplicitAPI
7
8
  import hashlib
8
9
  from ccxt.base.types import OrderSide
9
10
  from typing import Optional
@@ -29,7 +30,7 @@ from ccxt.base.decimal_to_precision import SIGNIFICANT_DIGITS
29
30
  from ccxt.base.precise import Precise
30
31
 
31
32
 
32
- class bitvavo(Exchange):
33
+ class bitvavo(Exchange, ImplicitAPI):
33
34
 
34
35
  def describe(self):
35
36
  return self.deep_extend(super(bitvavo, self).describe(), {
@@ -1674,7 +1675,7 @@ class bitvavo(Exchange):
1674
1675
  raise ExchangeError(feedback) # unknown message
1675
1676
  return None
1676
1677
 
1677
- def calculate_rate_limiter_cost(self, api, method, path, params, config={}, context={}):
1678
+ def calculate_rate_limiter_cost(self, api, method, path, params, config={}):
1678
1679
  if ('noMarket' in config) and not ('market' in params):
1679
1680
  return config['noMarket']
1680
1681
  return self.safe_value(config, 'cost', 1)
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.bkex import ImplicitAPI
7
8
  import asyncio
8
9
  import hashlib
9
10
  from ccxt.base.types import OrderSide
@@ -17,7 +18,7 @@ from ccxt.base.errors import InvalidOrder
17
18
  from ccxt.base.decimal_to_precision import TICK_SIZE
18
19
 
19
20
 
20
- class bkex(Exchange):
21
+ class bkex(Exchange, ImplicitAPI):
21
22
 
22
23
  def describe(self):
23
24
  return self.deep_extend(super(bkex, self).describe(), {
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.bl3p import ImplicitAPI
7
8
  import hashlib
8
9
  from ccxt.base.types import OrderSide
9
10
  from typing import Optional
@@ -11,7 +12,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
11
12
  from ccxt.base.precise import Precise
12
13
 
13
14
 
14
- class bl3p(Exchange):
15
+ class bl3p(Exchange, ImplicitAPI):
15
16
 
16
17
  def describe(self):
17
18
  return self.deep_extend(super(bl3p, self).describe(), {
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.blockchaincom import ImplicitAPI
7
8
  from ccxt.base.types import OrderSide
8
9
  from typing import Optional
9
10
  from typing import List
@@ -16,7 +17,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
16
17
  from ccxt.base.precise import Precise
17
18
 
18
19
 
19
- class blockchaincom(Exchange):
20
+ class blockchaincom(Exchange, ImplicitAPI):
20
21
 
21
22
  def describe(self):
22
23
  return self.deep_extend(super(blockchaincom, self).describe(), {
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.btcalpha import ImplicitAPI
7
8
  import hashlib
8
9
  from ccxt.base.types import OrderSide
9
10
  from typing import Optional
@@ -17,7 +18,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
17
18
  from ccxt.base.precise import Precise
18
19
 
19
20
 
20
- class btcalpha(Exchange):
21
+ class btcalpha(Exchange, ImplicitAPI):
21
22
 
22
23
  def describe(self):
23
24
  return self.deep_extend(super(btcalpha, self).describe(), {
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.btcbox import ImplicitAPI
7
8
  import hashlib
8
9
  import json
9
10
  from ccxt.base.types import OrderSide
@@ -20,7 +21,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
20
21
  from ccxt.base.precise import Precise
21
22
 
22
23
 
23
- class btcbox(Exchange):
24
+ class btcbox(Exchange, ImplicitAPI):
24
25
 
25
26
  def describe(self):
26
27
  return self.deep_extend(super(btcbox, self).describe(), {
@@ -516,8 +517,8 @@ class btcbox(Exchange):
516
517
  self.throw_exactly_matched_exception(self.exceptions, code, feedback)
517
518
  raise ExchangeError(feedback) # unknown message
518
519
 
519
- async def request(self, path, api='public', method='GET', params={}, headers=None, body=None, config={}, context={}):
520
- response = await self.fetch2(path, api, method, params, headers, body, config, context)
520
+ async def request(self, path, api='public', method='GET', params={}, headers=None, body=None, config={}):
521
+ response = await self.fetch2(path, api, method, params, headers, body, config)
521
522
  if isinstance(response, str):
522
523
  # sometimes the exchange returns whitespace prepended to json
523
524
  response = self.strip(response)
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.btcex import ImplicitAPI
7
8
  from ccxt.base.types import OrderSide
8
9
  from typing import Optional
9
10
  from typing import List
@@ -24,7 +25,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
24
25
  from ccxt.base.precise import Precise
25
26
 
26
27
 
27
- class btcex(Exchange):
28
+ class btcex(Exchange, ImplicitAPI):
28
29
 
29
30
  def describe(self):
30
31
  return self.deep_extend(super(btcex, self).describe(), {
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.btcmarkets import ImplicitAPI
7
8
  import hashlib
8
9
  from ccxt.base.types import OrderSide
9
10
  from typing import Optional
@@ -18,7 +19,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
18
19
  from ccxt.base.precise import Precise
19
20
 
20
21
 
21
- class btcmarkets(Exchange):
22
+ class btcmarkets(Exchange, ImplicitAPI):
22
23
 
23
24
  def describe(self):
24
25
  return self.deep_extend(super(btcmarkets, self).describe(), {
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.btctradeua import ImplicitAPI
7
8
  from ccxt.base.types import OrderSide
8
9
  from typing import Optional
9
10
  from ccxt.base.errors import ExchangeError
@@ -12,7 +13,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
12
13
  from ccxt.base.precise import Precise
13
14
 
14
15
 
15
- class btctradeua(Exchange):
16
+ class btctradeua(Exchange, ImplicitAPI):
16
17
 
17
18
  def describe(self):
18
19
  return self.deep_extend(super(btctradeua, self).describe(), {
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.btcturk import ImplicitAPI
7
8
  import hashlib
8
9
  import math
9
10
  from ccxt.base.types import OrderSide
@@ -17,7 +18,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
17
18
  from ccxt.base.precise import Precise
18
19
 
19
20
 
20
- class btcturk(Exchange):
21
+ class btcturk(Exchange, ImplicitAPI):
21
22
 
22
23
  def describe(self):
23
24
  return self.deep_extend(super(btcturk, self).describe(), {
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.bybit import ImplicitAPI
7
8
  import asyncio
8
9
  import hashlib
9
10
  from ccxt.base.types import OrderSide
@@ -25,7 +26,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
25
26
  from ccxt.base.precise import Precise
26
27
 
27
28
 
28
- class bybit(Exchange):
29
+ class bybit(Exchange, ImplicitAPI):
29
30
 
30
31
  def describe(self):
31
32
  return self.deep_extend(super(bybit, self).describe(), {
ccxt/async_support/cex.py CHANGED
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.cex import ImplicitAPI
7
8
  import hashlib
8
9
  import json
9
10
  from ccxt.base.types import OrderSide
@@ -24,7 +25,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
24
25
  from ccxt.base.precise import Precise
25
26
 
26
27
 
27
- class cex(Exchange):
28
+ class cex(Exchange, ImplicitAPI):
28
29
 
29
30
  def describe(self):
30
31
  return self.deep_extend(super(cex, self).describe(), {
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.coinbase import ImplicitAPI
7
8
  import hashlib
8
9
  from ccxt.base.types import OrderSide
9
10
  from typing import Optional
@@ -23,7 +24,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
23
24
  from ccxt.base.precise import Precise
24
25
 
25
26
 
26
- class coinbase(Exchange):
27
+ class coinbase(Exchange, ImplicitAPI):
27
28
 
28
29
  def describe(self):
29
30
  return self.deep_extend(super(coinbase, self).describe(), {
@@ -4,9 +4,10 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.coinbasepro import coinbasepro
7
+ from ccxt.abstract.coinbaseprime import ImplicitAPI
7
8
 
8
9
 
9
- class coinbaseprime(coinbasepro):
10
+ class coinbaseprime(coinbasepro, ImplicitAPI):
10
11
 
11
12
  def describe(self):
12
13
  return self.deep_extend(super(coinbaseprime, self).describe(), {
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.coinbasepro import ImplicitAPI
7
8
  import hashlib
8
9
  from ccxt.base.types import OrderSide
9
10
  from typing import Optional
@@ -23,7 +24,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
23
24
  from ccxt.base.precise import Precise
24
25
 
25
26
 
26
- class coinbasepro(Exchange):
27
+ class coinbasepro(Exchange, ImplicitAPI):
27
28
 
28
29
  def describe(self):
29
30
  return self.deep_extend(super(coinbasepro, self).describe(), {
@@ -1672,8 +1673,8 @@ class coinbasepro(Exchange):
1672
1673
  raise ExchangeError(self.id + ' ' + body)
1673
1674
  return None
1674
1675
 
1675
- async def request(self, path, api='public', method='GET', params={}, headers=None, body=None, config={}, context={}):
1676
- response = await self.fetch2(path, api, method, params, headers, body, config, context)
1676
+ async def request(self, path, api='public', method='GET', params={}, headers=None, body=None, config={}):
1677
+ response = await self.fetch2(path, api, method, params, headers, body, config)
1677
1678
  if not isinstance(response, str):
1678
1679
  if 'message' in response:
1679
1680
  raise ExchangeError(self.id + ' ' + self.json(response))
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.coincheck import ImplicitAPI
7
8
  import hashlib
8
9
  from ccxt.base.types import OrderSide
9
10
  from typing import Optional
@@ -13,7 +14,7 @@ from ccxt.base.errors import AuthenticationError
13
14
  from ccxt.base.decimal_to_precision import TICK_SIZE
14
15
 
15
16
 
16
- class coincheck(Exchange):
17
+ class coincheck(Exchange, ImplicitAPI):
17
18
 
18
19
  def describe(self):
19
20
  return self.deep_extend(super(coincheck, self).describe(), {
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.coinex import ImplicitAPI
7
8
  import asyncio
8
9
  from ccxt.base.types import OrderSide
9
10
  from typing import Optional
@@ -25,7 +26,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
25
26
  from ccxt.base.precise import Precise
26
27
 
27
28
 
28
- class coinex(Exchange):
29
+ class coinex(Exchange, ImplicitAPI):
29
30
 
30
31
  def describe(self):
31
32
  return self.deep_extend(super(coinex, self).describe(), {
@@ -3579,7 +3580,7 @@ class coinex(Exchange):
3579
3580
  rates.append({
3580
3581
  'info': entry,
3581
3582
  'symbol': symbolInner,
3582
- 'fundingRate': self.safe_string(entry, 'funding_rate'),
3583
+ 'fundingRate': self.safe_number(entry, 'funding_rate'),
3583
3584
  'timestamp': timestamp,
3584
3585
  'datetime': self.iso8601(timestamp),
3585
3586
  })
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.coinfalcon import ImplicitAPI
7
8
  import hashlib
8
9
  from ccxt.base.types import OrderSide
9
10
  from typing import Optional
@@ -16,7 +17,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
16
17
  from ccxt.base.precise import Precise
17
18
 
18
19
 
19
- class coinfalcon(Exchange):
20
+ class coinfalcon(Exchange, ImplicitAPI):
20
21
 
21
22
  def describe(self):
22
23
  return self.deep_extend(super(coinfalcon, self).describe(), {
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.coinmate import ImplicitAPI
7
8
  import hashlib
8
9
  from ccxt.base.types import OrderSide
9
10
  from typing import Optional
@@ -18,7 +19,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
18
19
  from ccxt.base.precise import Precise
19
20
 
20
21
 
21
- class coinmate(Exchange):
22
+ class coinmate(Exchange, ImplicitAPI):
22
23
 
23
24
  def describe(self):
24
25
  return self.deep_extend(super(coinmate, self).describe(), {
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.coinone import ImplicitAPI
7
8
  import hashlib
8
9
  from ccxt.base.types import OrderSide
9
10
  from typing import Optional
@@ -18,7 +19,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
18
19
  from ccxt.base.precise import Precise
19
20
 
20
21
 
21
- class coinone(Exchange):
22
+ class coinone(Exchange, ImplicitAPI):
22
23
 
23
24
  def describe(self):
24
25
  return self.deep_extend(super(coinone, self).describe(), {
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.coinsph import ImplicitAPI
7
8
  import hashlib
8
9
  from ccxt.base.types import OrderSide
9
10
  from typing import Optional
@@ -28,7 +29,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
28
29
  from ccxt.base.precise import Precise
29
30
 
30
31
 
31
- class coinsph(Exchange):
32
+ class coinsph(Exchange, ImplicitAPI):
32
33
 
33
34
  def describe(self):
34
35
  return self.deep_extend(super(coinsph, self).describe(), {
@@ -387,7 +388,7 @@ class coinsph(Exchange):
387
388
  },
388
389
  })
389
390
 
390
- def calculate_rate_limiter_cost(self, api, method, path, params, config={}, context={}):
391
+ def calculate_rate_limiter_cost(self, api, method, path, params, config={}):
391
392
  if ('noSymbol' in config) and not ('symbol' in params):
392
393
  return config['noSymbol']
393
394
  elif ('noSymbolAndNoSymbols' in config) and not ('symbol' in params) and not ('symbols' in params):
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.coinspot import ImplicitAPI
7
8
  import hashlib
8
9
  from ccxt.base.types import OrderSide
9
10
  from typing import Optional
@@ -13,7 +14,7 @@ from ccxt.base.errors import ArgumentsRequired
13
14
  from ccxt.base.decimal_to_precision import TICK_SIZE
14
15
 
15
16
 
16
- class coinspot(Exchange):
17
+ class coinspot(Exchange, ImplicitAPI):
17
18
 
18
19
  def describe(self):
19
20
  return self.deep_extend(super(coinspot, self).describe(), {
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.cryptocom import ImplicitAPI
7
8
  import asyncio
8
9
  import hashlib
9
10
  from ccxt.base.types import OrderSide
@@ -26,7 +27,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
26
27
  from ccxt.base.precise import Precise
27
28
 
28
29
 
29
- class cryptocom(Exchange):
30
+ class cryptocom(Exchange, ImplicitAPI):
30
31
 
31
32
  def describe(self):
32
33
  return self.deep_extend(super(cryptocom, self).describe(), {
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.currencycom import ImplicitAPI
7
8
  import hashlib
8
9
  from ccxt.base.types import OrderSide
9
10
  from typing import Optional
@@ -23,7 +24,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
23
24
  from ccxt.base.precise import Precise
24
25
 
25
26
 
26
- class currencycom(Exchange):
27
+ class currencycom(Exchange, ImplicitAPI):
27
28
 
28
29
  def describe(self):
29
30
  return self.deep_extend(super(currencycom, self).describe(), {
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.delta import ImplicitAPI
7
8
  import hashlib
8
9
  from ccxt.base.types import OrderSide
9
10
  from typing import Optional
@@ -21,7 +22,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
21
22
  from ccxt.base.precise import Precise
22
23
 
23
24
 
24
- class delta(Exchange):
25
+ class delta(Exchange, ImplicitAPI):
25
26
 
26
27
  def describe(self):
27
28
  return self.deep_extend(super(delta, self).describe(), {
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.deribit import ImplicitAPI
7
8
  import hashlib
8
9
  from ccxt.base.types import OrderSide
9
10
  from typing import Optional
@@ -25,7 +26,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
25
26
  from ccxt.base.precise import Precise
26
27
 
27
28
 
28
- class deribit(Exchange):
29
+ class deribit(Exchange, ImplicitAPI):
29
30
 
30
31
  def describe(self):
31
32
  return self.deep_extend(super(deribit, self).describe(), {
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.digifinex import ImplicitAPI
7
8
  import asyncio
8
9
  import hashlib
9
10
  import json
@@ -30,7 +31,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
30
31
  from ccxt.base.precise import Precise
31
32
 
32
33
 
33
- class digifinex(Exchange):
34
+ class digifinex(Exchange, ImplicitAPI):
34
35
 
35
36
  def describe(self):
36
37
  return self.deep_extend(super(digifinex, self).describe(), {
@@ -2835,7 +2836,7 @@ class digifinex(Exchange):
2835
2836
  'estimatedSettlePrice': None,
2836
2837
  'timestamp': None,
2837
2838
  'datetime': None,
2838
- 'fundingRate': self.safe_string(contract, 'funding_rate'),
2839
+ 'fundingRate': self.safe_number(contract, 'funding_rate'),
2839
2840
  'fundingTimestamp': timestamp,
2840
2841
  'fundingDatetime': self.iso8601(timestamp),
2841
2842
  'nextFundingRate': self.safe_string(contract, 'next_funding_rate'),
@@ -2894,7 +2895,7 @@ class digifinex(Exchange):
2894
2895
  rates.append({
2895
2896
  'info': entry,
2896
2897
  'symbol': symbolInner,
2897
- 'fundingRate': self.safe_string(entry, 'rate'),
2898
+ 'fundingRate': self.safe_number(entry, 'rate'),
2898
2899
  'timestamp': timestamp,
2899
2900
  'datetime': self.iso8601(timestamp),
2900
2901
  })
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.exmo import ImplicitAPI
7
8
  import hashlib
8
9
  from ccxt.base.types import OrderSide
9
10
  from typing import Optional
@@ -23,7 +24,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
23
24
  from ccxt.base.precise import Precise
24
25
 
25
26
 
26
- class exmo(Exchange):
27
+ class exmo(Exchange, ImplicitAPI):
27
28
 
28
29
  def describe(self):
29
30
  return self.deep_extend(super(exmo, self).describe(), {
@@ -4,9 +4,10 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.hitbtc import hitbtc
7
+ from ccxt.abstract.fmfwio import ImplicitAPI
7
8
 
8
9
 
9
- class fmfwio(hitbtc):
10
+ class fmfwio(hitbtc, ImplicitAPI):
10
11
 
11
12
  def describe(self):
12
13
  return self.deep_extend(super(fmfwio, self).describe(), {
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.gate import ImplicitAPI
7
8
  import asyncio
8
9
  import hashlib
9
10
  from ccxt.base.types import OrderSide
@@ -29,7 +30,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
29
30
  from ccxt.base.precise import Precise
30
31
 
31
32
 
32
- class gate(Exchange):
33
+ class gate(Exchange, ImplicitAPI):
33
34
 
34
35
  def describe(self):
35
36
  return self.deep_extend(super(gate, self).describe(), {
@@ -4,9 +4,10 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.gate import gate
7
+ from ccxt.abstract.gateio import ImplicitAPI
7
8
 
8
9
 
9
- class gateio(gate):
10
+ class gateio(gate, ImplicitAPI):
10
11
 
11
12
  def describe(self):
12
13
  return self.deep_extend(super(gateio, self).describe(), {
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.gemini import ImplicitAPI
7
8
  import asyncio
8
9
  import hashlib
9
10
  from ccxt.base.types import OrderSide
@@ -26,7 +27,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
26
27
  from ccxt.base.precise import Precise
27
28
 
28
29
 
29
- class gemini(Exchange):
30
+ class gemini(Exchange, ImplicitAPI):
30
31
 
31
32
  def describe(self):
32
33
  return self.deep_extend(super(gemini, self).describe(), {
@@ -4,6 +4,7 @@
4
4
  # https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
+ from ccxt.abstract.hitbtc import ImplicitAPI
7
8
  from ccxt.base.types import OrderSide
8
9
  from typing import Optional
9
10
  from typing import List
@@ -21,7 +22,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
21
22
  from ccxt.base.precise import Precise
22
23
 
23
24
 
24
- class hitbtc(Exchange):
25
+ class hitbtc(Exchange, ImplicitAPI):
25
26
 
26
27
  def describe(self):
27
28
  return self.deep_extend(super(hitbtc, self).describe(), {