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.
- ccxt/__init__.py +1 -1
- ccxt/ace.py +2 -1
- ccxt/alpaca.py +2 -1
- ccxt/ascendex.py +2 -1
- ccxt/async_support/__init__.py +1 -1
- ccxt/async_support/ace.py +2 -1
- ccxt/async_support/alpaca.py +2 -1
- ccxt/async_support/ascendex.py +2 -1
- ccxt/async_support/base/exchange.py +6 -6
- ccxt/async_support/bequant.py +2 -1
- ccxt/async_support/bigone.py +2 -1
- ccxt/async_support/binance.py +4 -3
- ccxt/async_support/binancecoinm.py +2 -1
- ccxt/async_support/binanceus.py +2 -1
- ccxt/async_support/binanceusdm.py +2 -1
- ccxt/async_support/bit2c.py +2 -1
- ccxt/async_support/bitbank.py +2 -1
- ccxt/async_support/bitbay.py +2 -1
- ccxt/async_support/bitbns.py +2 -1
- ccxt/async_support/bitcoincom.py +2 -1
- ccxt/async_support/bitfinex.py +2 -1
- ccxt/async_support/bitfinex2.py +2 -1
- ccxt/async_support/bitflyer.py +2 -1
- ccxt/async_support/bitforex.py +2 -1
- ccxt/async_support/bitget.py +19 -3
- ccxt/async_support/bithumb.py +2 -1
- ccxt/async_support/bitmart.py +2 -1
- ccxt/async_support/bitmex.py +3 -2
- ccxt/async_support/bitopro.py +2 -1
- ccxt/async_support/bitpanda.py +2 -1
- ccxt/async_support/bitrue.py +3 -2
- ccxt/async_support/bitso.py +2 -1
- ccxt/async_support/bitstamp.py +2 -1
- ccxt/async_support/bitstamp1.py +2 -1
- ccxt/async_support/bittrex.py +2 -1
- ccxt/async_support/bitvavo.py +3 -2
- ccxt/async_support/bkex.py +2 -1
- ccxt/async_support/bl3p.py +2 -1
- ccxt/async_support/blockchaincom.py +2 -1
- ccxt/async_support/btcalpha.py +2 -1
- ccxt/async_support/btcbox.py +4 -3
- ccxt/async_support/btcex.py +2 -1
- ccxt/async_support/btcmarkets.py +2 -1
- ccxt/async_support/btctradeua.py +2 -1
- ccxt/async_support/btcturk.py +2 -1
- ccxt/async_support/bybit.py +2 -1
- ccxt/async_support/cex.py +2 -1
- ccxt/async_support/coinbase.py +2 -1
- ccxt/async_support/coinbaseprime.py +2 -1
- ccxt/async_support/coinbasepro.py +4 -3
- ccxt/async_support/coincheck.py +2 -1
- ccxt/async_support/coinex.py +3 -2
- ccxt/async_support/coinfalcon.py +2 -1
- ccxt/async_support/coinmate.py +2 -1
- ccxt/async_support/coinone.py +2 -1
- ccxt/async_support/coinsph.py +3 -2
- ccxt/async_support/coinspot.py +2 -1
- ccxt/async_support/cryptocom.py +2 -1
- ccxt/async_support/currencycom.py +2 -1
- ccxt/async_support/delta.py +2 -1
- ccxt/async_support/deribit.py +2 -1
- ccxt/async_support/digifinex.py +4 -3
- ccxt/async_support/exmo.py +2 -1
- ccxt/async_support/fmfwio.py +2 -1
- ccxt/async_support/gate.py +2 -1
- ccxt/async_support/gateio.py +2 -1
- ccxt/async_support/gemini.py +2 -1
- ccxt/async_support/hitbtc.py +2 -1
- ccxt/async_support/hitbtc3.py +2 -1
- ccxt/async_support/hollaex.py +2 -1
- ccxt/async_support/huobi.py +2 -1
- ccxt/async_support/huobijp.py +2 -1
- ccxt/async_support/huobipro.py +2 -1
- ccxt/async_support/idex.py +3 -2
- ccxt/async_support/independentreserve.py +2 -1
- ccxt/async_support/indodax.py +2 -1
- ccxt/async_support/kraken.py +2 -1
- ccxt/async_support/krakenfutures.py +2 -1
- ccxt/async_support/kucoin.py +3 -2
- ccxt/async_support/kucoinfutures.py +147 -8
- ccxt/async_support/kuna.py +2 -1
- ccxt/async_support/latoken.py +2 -1
- ccxt/async_support/lbank.py +2 -1
- ccxt/async_support/lbank2.py +2 -1
- ccxt/async_support/luno.py +2 -1
- ccxt/async_support/lykke.py +2 -1
- ccxt/async_support/mercado.py +2 -1
- ccxt/async_support/mexc.py +4 -1
- ccxt/async_support/mexc3.py +2 -1
- ccxt/async_support/ndax.py +2 -1
- ccxt/async_support/novadax.py +2 -1
- ccxt/async_support/oceanex.py +2 -1
- ccxt/async_support/okcoin.py +2 -1
- ccxt/async_support/okex.py +2 -1
- ccxt/async_support/okex5.py +2 -1
- ccxt/async_support/okx.py +5 -1
- ccxt/async_support/paymium.py +2 -1
- ccxt/async_support/phemex.py +2 -1
- ccxt/async_support/poloniex.py +3 -1
- ccxt/async_support/poloniexfutures.py +2 -1
- ccxt/async_support/probit.py +2 -1
- ccxt/async_support/stex.py +3 -2
- ccxt/async_support/tidex.py +2 -1
- ccxt/async_support/timex.py +2 -1
- ccxt/async_support/tokocrypto.py +3 -2
- ccxt/async_support/upbit.py +2 -1
- ccxt/async_support/wavesexchange.py +2 -1
- ccxt/async_support/wazirx.py +2 -1
- ccxt/async_support/whitebit.py +2 -1
- ccxt/async_support/woo.py +2 -1
- ccxt/async_support/xt.py +2 -1
- ccxt/async_support/yobit.py +2 -1
- ccxt/async_support/zaif.py +2 -1
- ccxt/async_support/zonda.py +2 -1
- ccxt/base/exchange.py +6 -74
- ccxt/base/types.py +24 -0
- ccxt/bequant.py +2 -1
- ccxt/bigone.py +2 -1
- ccxt/binance.py +4 -3
- ccxt/binancecoinm.py +2 -1
- ccxt/binanceus.py +2 -1
- ccxt/binanceusdm.py +2 -1
- ccxt/bit2c.py +2 -1
- ccxt/bitbank.py +2 -1
- ccxt/bitbay.py +2 -1
- ccxt/bitbns.py +2 -1
- ccxt/bitcoincom.py +2 -1
- ccxt/bitfinex.py +2 -1
- ccxt/bitfinex2.py +2 -1
- ccxt/bitflyer.py +2 -1
- ccxt/bitforex.py +2 -1
- ccxt/bitget.py +19 -3
- ccxt/bithumb.py +2 -1
- ccxt/bitmart.py +2 -1
- ccxt/bitmex.py +3 -2
- ccxt/bitopro.py +2 -1
- ccxt/bitpanda.py +2 -1
- ccxt/bitrue.py +3 -2
- ccxt/bitso.py +2 -1
- ccxt/bitstamp.py +2 -1
- ccxt/bitstamp1.py +2 -1
- ccxt/bittrex.py +2 -1
- ccxt/bitvavo.py +3 -2
- ccxt/bkex.py +2 -1
- ccxt/bl3p.py +2 -1
- ccxt/blockchaincom.py +2 -1
- ccxt/btcalpha.py +2 -1
- ccxt/btcbox.py +4 -3
- ccxt/btcex.py +2 -1
- ccxt/btcmarkets.py +2 -1
- ccxt/btctradeua.py +2 -1
- ccxt/btcturk.py +2 -1
- ccxt/bybit.py +2 -1
- ccxt/cex.py +2 -1
- ccxt/coinbase.py +2 -1
- ccxt/coinbaseprime.py +2 -1
- ccxt/coinbasepro.py +4 -3
- ccxt/coincheck.py +2 -1
- ccxt/coinex.py +3 -2
- ccxt/coinfalcon.py +2 -1
- ccxt/coinmate.py +2 -1
- ccxt/coinone.py +2 -1
- ccxt/coinsph.py +3 -2
- ccxt/coinspot.py +2 -1
- ccxt/cryptocom.py +2 -1
- ccxt/currencycom.py +2 -1
- ccxt/delta.py +2 -1
- ccxt/deribit.py +2 -1
- ccxt/digifinex.py +4 -3
- ccxt/exmo.py +2 -1
- ccxt/fmfwio.py +2 -1
- ccxt/gate.py +2 -1
- ccxt/gateio.py +2 -1
- ccxt/gemini.py +2 -1
- ccxt/hitbtc.py +2 -1
- ccxt/hitbtc3.py +2 -1
- ccxt/hollaex.py +2 -1
- ccxt/huobi.py +2 -1
- ccxt/huobijp.py +2 -1
- ccxt/huobipro.py +2 -1
- ccxt/idex.py +3 -2
- ccxt/independentreserve.py +2 -1
- ccxt/indodax.py +2 -1
- ccxt/kraken.py +2 -1
- ccxt/krakenfutures.py +2 -1
- ccxt/kucoin.py +3 -2
- ccxt/kucoinfutures.py +147 -8
- ccxt/kuna.py +2 -1
- ccxt/latoken.py +2 -1
- ccxt/lbank.py +2 -1
- ccxt/lbank2.py +2 -1
- ccxt/luno.py +2 -1
- ccxt/lykke.py +2 -1
- ccxt/mercado.py +2 -1
- ccxt/mexc.py +4 -1
- ccxt/mexc3.py +2 -1
- ccxt/ndax.py +2 -1
- ccxt/novadax.py +2 -1
- ccxt/oceanex.py +2 -1
- ccxt/okcoin.py +2 -1
- ccxt/okex.py +2 -1
- ccxt/okex5.py +2 -1
- ccxt/okx.py +5 -1
- ccxt/paymium.py +2 -1
- ccxt/phemex.py +2 -1
- ccxt/poloniex.py +3 -1
- ccxt/poloniexfutures.py +2 -1
- ccxt/pro/__init__.py +1 -1
- ccxt/probit.py +2 -1
- ccxt/stex.py +3 -2
- ccxt/tidex.py +2 -1
- ccxt/timex.py +2 -1
- ccxt/tokocrypto.py +3 -2
- ccxt/upbit.py +2 -1
- ccxt/wavesexchange.py +2 -1
- ccxt/wazirx.py +2 -1
- ccxt/whitebit.py +2 -1
- ccxt/woo.py +2 -1
- ccxt/xt.py +2 -1
- ccxt/yobit.py +2 -1
- ccxt/zaif.py +2 -1
- ccxt/zonda.py +2 -1
- {ccxt-3.0.86.dist-info → ccxt-3.0.87.dist-info}/METADATA +4 -4
- ccxt-3.0.87.dist-info/RECORD +355 -0
- ccxt-3.0.86.dist-info/RECORD +0 -355
- {ccxt-3.0.86.dist-info → ccxt-3.0.87.dist-info}/WHEEL +0 -0
- {ccxt-3.0.86.dist-info → ccxt-3.0.87.dist-info}/top_level.txt +0 -0
ccxt/__init__.py
CHANGED
ccxt/ace.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.base.exchange import Exchange
|
7
|
+
from ccxt.abstract.ace 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 ace(Exchange):
|
20
|
+
class ace(Exchange, ImplicitAPI):
|
20
21
|
|
21
22
|
def describe(self):
|
22
23
|
return self.deep_extend(super(ace, self).describe(), {
|
ccxt/alpaca.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.base.exchange import Exchange
|
7
|
+
from ccxt.abstract.alpaca import ImplicitAPI
|
7
8
|
from ccxt.base.types import OrderSide
|
8
9
|
from typing import Optional
|
9
10
|
from ccxt.base.errors import ExchangeError
|
@@ -16,7 +17,7 @@ from ccxt.base.errors import NotSupported
|
|
16
17
|
from ccxt.base.decimal_to_precision import TICK_SIZE
|
17
18
|
|
18
19
|
|
19
|
-
class alpaca(Exchange):
|
20
|
+
class alpaca(Exchange, ImplicitAPI):
|
20
21
|
|
21
22
|
def describe(self):
|
22
23
|
return self.deep_extend(super(alpaca, self).describe(), {
|
ccxt/ascendex.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.base.exchange import Exchange
|
7
|
+
from ccxt.abstract.ascendex import ImplicitAPI
|
7
8
|
import hashlib
|
8
9
|
from ccxt.base.types import OrderSide
|
9
10
|
from typing import Optional
|
@@ -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 ascendex(Exchange):
|
24
|
+
class ascendex(Exchange, ImplicitAPI):
|
24
25
|
|
25
26
|
def describe(self):
|
26
27
|
return self.deep_extend(super(ascendex, self).describe(), {
|
ccxt/async_support/__init__.py
CHANGED
ccxt/async_support/ace.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.ace 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 ace(Exchange):
|
20
|
+
class ace(Exchange, ImplicitAPI):
|
20
21
|
|
21
22
|
def describe(self):
|
22
23
|
return self.deep_extend(super(ace, self).describe(), {
|
ccxt/async_support/alpaca.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.alpaca import ImplicitAPI
|
7
8
|
from ccxt.base.types import OrderSide
|
8
9
|
from typing import Optional
|
9
10
|
from ccxt.base.errors import ExchangeError
|
@@ -16,7 +17,7 @@ from ccxt.base.errors import NotSupported
|
|
16
17
|
from ccxt.base.decimal_to_precision import TICK_SIZE
|
17
18
|
|
18
19
|
|
19
|
-
class alpaca(Exchange):
|
20
|
+
class alpaca(Exchange, ImplicitAPI):
|
20
21
|
|
21
22
|
def describe(self):
|
22
23
|
return self.deep_extend(super(alpaca, self).describe(), {
|
ccxt/async_support/ascendex.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.ascendex import ImplicitAPI
|
7
8
|
import hashlib
|
8
9
|
from ccxt.base.types import OrderSide
|
9
10
|
from typing import Optional
|
@@ -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 ascendex(Exchange):
|
24
|
+
class ascendex(Exchange, ImplicitAPI):
|
24
25
|
|
25
26
|
def describe(self):
|
26
27
|
return self.deep_extend(super(ascendex, self).describe(), {
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# -----------------------------------------------------------------------------
|
4
4
|
|
5
|
-
__version__ = '3.0.
|
5
|
+
__version__ = '3.0.87'
|
6
6
|
|
7
7
|
# -----------------------------------------------------------------------------
|
8
8
|
|
@@ -1594,16 +1594,16 @@ class Exchange(BaseExchange):
|
|
1594
1594
|
results.append(objects[i])
|
1595
1595
|
return self.index_by(results, key) if indexed else results
|
1596
1596
|
|
1597
|
-
async def fetch2(self, path, api: Any = 'public', method='GET', params={}, headers: Optional[Any] = None, body: Optional[Any] = None, config={}
|
1597
|
+
async def fetch2(self, path, api: Any = 'public', method='GET', params={}, headers: Optional[Any] = None, body: Optional[Any] = None, config={}):
|
1598
1598
|
if self.enableRateLimit:
|
1599
|
-
cost = self.calculate_rate_limiter_cost(api, method, path, params, config
|
1599
|
+
cost = self.calculate_rate_limiter_cost(api, method, path, params, config)
|
1600
1600
|
await self.throttle(cost)
|
1601
1601
|
self.lastRestRequestTimestamp = self.milliseconds()
|
1602
1602
|
request = self.sign(path, api, method, params, headers, body)
|
1603
1603
|
return await self.fetch(request['url'], request['method'], request['headers'], request['body'])
|
1604
1604
|
|
1605
|
-
async def request(self, path, api: Any = 'public', method='GET', params={}, headers: Optional[Any] = None, body: Optional[Any] = None, config={}
|
1606
|
-
return await self.fetch2(path, api, method, params, headers, body, config
|
1605
|
+
async def request(self, path, api: Any = 'public', method='GET', params={}, headers: Optional[Any] = None, body: Optional[Any] = None, config={}):
|
1606
|
+
return await self.fetch2(path, api, method, params, headers, body, config)
|
1607
1607
|
|
1608
1608
|
async def load_accounts(self, reload=False, params={}):
|
1609
1609
|
if reload:
|
@@ -1931,7 +1931,7 @@ class Exchange(BaseExchange):
|
|
1931
1931
|
# raise NotSupported(self.id + ' handleErrors() not implemented yet')
|
1932
1932
|
return None
|
1933
1933
|
|
1934
|
-
def calculate_rate_limiter_cost(self, api, method, path, params, config={}
|
1934
|
+
def calculate_rate_limiter_cost(self, api, method, path, params, config={}):
|
1935
1935
|
return self.safe_value(config, 'cost', 1)
|
1936
1936
|
|
1937
1937
|
async def fetch_ticker(self, symbol: str, params={}):
|
ccxt/async_support/bequant.py
CHANGED
@@ -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.bequant import ImplicitAPI
|
7
8
|
|
8
9
|
|
9
|
-
class bequant(hitbtc):
|
10
|
+
class bequant(hitbtc, ImplicitAPI):
|
10
11
|
|
11
12
|
def describe(self):
|
12
13
|
return self.deep_extend(super(bequant, self).describe(), {
|
ccxt/async_support/bigone.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.bigone import ImplicitAPI
|
7
8
|
from ccxt.base.types import OrderSide
|
8
9
|
from typing import Optional
|
9
10
|
from typing import List
|
@@ -19,7 +20,7 @@ from ccxt.base.errors import AuthenticationError
|
|
19
20
|
from ccxt.base.decimal_to_precision import TICK_SIZE
|
20
21
|
|
21
22
|
|
22
|
-
class bigone(Exchange):
|
23
|
+
class bigone(Exchange, ImplicitAPI):
|
23
24
|
|
24
25
|
def describe(self):
|
25
26
|
return self.deep_extend(super(bigone, self).describe(), {
|
ccxt/async_support/binance.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.binance import ImplicitAPI
|
7
8
|
import asyncio
|
8
9
|
import hashlib
|
9
10
|
import json
|
@@ -36,7 +37,7 @@ from ccxt.base.decimal_to_precision import DECIMAL_PLACES
|
|
36
37
|
from ccxt.base.precise import Precise
|
37
38
|
|
38
39
|
|
39
|
-
class binance(Exchange):
|
40
|
+
class binance(Exchange, ImplicitAPI):
|
40
41
|
|
41
42
|
def describe(self):
|
42
43
|
return self.deep_extend(super(binance, self).describe(), {
|
@@ -7125,7 +7126,7 @@ class binance(Exchange):
|
|
7125
7126
|
raise ExchangeError(self.id + ' ' + body)
|
7126
7127
|
return None
|
7127
7128
|
|
7128
|
-
def calculate_rate_limiter_cost(self, api, method, path, params, config={}
|
7129
|
+
def calculate_rate_limiter_cost(self, api, method, path, params, config={}):
|
7129
7130
|
if ('noCoin' in config) and not ('coin' in params):
|
7130
7131
|
return config['noCoin']
|
7131
7132
|
elif ('noSymbol' in config) and not ('symbol' in params):
|
@@ -7142,7 +7143,7 @@ class binance(Exchange):
|
|
7142
7143
|
return self.safe_value(config, 'cost', 1)
|
7143
7144
|
|
7144
7145
|
async def request(self, path, api='public', method='GET', params={}, headers=None, body=None, config={}, context={}):
|
7145
|
-
response = await self.fetch2(path, api, method, params, headers, body, config
|
7146
|
+
response = await self.fetch2(path, api, method, params, headers, body, config)
|
7146
7147
|
# a workaround for {"code":-2015,"msg":"Invalid API-key, IP, or permissions for action."}
|
7147
7148
|
if (api == 'private') or (api == 'wapi'):
|
7148
7149
|
self.options['hasAlreadyAuthenticatedSuccessfully'] = True
|
@@ -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.binance import binance
|
7
|
+
from ccxt.abstract.binancecoinm import ImplicitAPI
|
7
8
|
|
8
9
|
|
9
|
-
class binancecoinm(binance):
|
10
|
+
class binancecoinm(binance, ImplicitAPI):
|
10
11
|
|
11
12
|
def describe(self):
|
12
13
|
return self.deep_extend(super(binancecoinm, self).describe(), {
|
ccxt/async_support/binanceus.py
CHANGED
@@ -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.binance import binance
|
7
|
+
from ccxt.abstract.binanceus import ImplicitAPI
|
7
8
|
|
8
9
|
|
9
|
-
class binanceus(binance):
|
10
|
+
class binanceus(binance, ImplicitAPI):
|
10
11
|
|
11
12
|
def describe(self):
|
12
13
|
return self.deep_extend(super(binanceus, self).describe(), {
|
@@ -4,10 +4,11 @@
|
|
4
4
|
# https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
5
5
|
|
6
6
|
from ccxt.async_support.binance import binance
|
7
|
+
from ccxt.abstract.binanceusdm import ImplicitAPI
|
7
8
|
from ccxt.base.errors import InvalidOrder
|
8
9
|
|
9
10
|
|
10
|
-
class binanceusdm(binance):
|
11
|
+
class binanceusdm(binance, ImplicitAPI):
|
11
12
|
|
12
13
|
def describe(self):
|
13
14
|
return self.deep_extend(super(binanceusdm, self).describe(), {
|
ccxt/async_support/bit2c.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.bit2c 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 bit2c(Exchange):
|
22
|
+
class bit2c(Exchange, ImplicitAPI):
|
22
23
|
|
23
24
|
def describe(self):
|
24
25
|
return self.deep_extend(super(bit2c, self).describe(), {
|
ccxt/async_support/bitbank.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.bitbank 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.errors import AuthenticationError
|
|
17
18
|
from ccxt.base.decimal_to_precision import TICK_SIZE
|
18
19
|
|
19
20
|
|
20
|
-
class bitbank(Exchange):
|
21
|
+
class bitbank(Exchange, ImplicitAPI):
|
21
22
|
|
22
23
|
def describe(self):
|
23
24
|
return self.deep_extend(super(bitbank, self).describe(), {
|
ccxt/async_support/bitbay.py
CHANGED
@@ -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.zonda import zonda
|
7
|
+
from ccxt.abstract.bitbay import ImplicitAPI
|
7
8
|
|
8
9
|
|
9
|
-
class bitbay(zonda):
|
10
|
+
class bitbay(zonda, ImplicitAPI):
|
10
11
|
|
11
12
|
def describe(self):
|
12
13
|
return self.deep_extend(super(bitbay, self).describe(), {
|
ccxt/async_support/bitbns.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.bitbns 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 bitbns(Exchange):
|
22
|
+
class bitbns(Exchange, ImplicitAPI):
|
22
23
|
|
23
24
|
def describe(self):
|
24
25
|
return self.deep_extend(super(bitbns, self).describe(), {
|
ccxt/async_support/bitcoincom.py
CHANGED
@@ -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.fmfwio import fmfwio
|
7
|
+
from ccxt.abstract.bitcoincom import ImplicitAPI
|
7
8
|
|
8
9
|
|
9
|
-
class bitcoincom(fmfwio):
|
10
|
+
class bitcoincom(fmfwio, ImplicitAPI):
|
10
11
|
|
11
12
|
def describe(self):
|
12
13
|
return self.deep_extend(super(bitcoincom, self).describe(), {
|
ccxt/async_support/bitfinex.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.bitfinex import ImplicitAPI
|
7
8
|
import hashlib
|
8
9
|
from ccxt.base.types import OrderSide
|
9
10
|
from typing import Optional
|
@@ -27,7 +28,7 @@ from ccxt.base.decimal_to_precision import SIGNIFICANT_DIGITS
|
|
27
28
|
from ccxt.base.precise import Precise
|
28
29
|
|
29
30
|
|
30
|
-
class bitfinex(Exchange):
|
31
|
+
class bitfinex(Exchange, ImplicitAPI):
|
31
32
|
|
32
33
|
def describe(self):
|
33
34
|
return self.deep_extend(super(bitfinex, self).describe(), {
|
ccxt/async_support/bitfinex2.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.bitfinex2 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 bitfinex2(Exchange):
|
33
|
+
class bitfinex2(Exchange, ImplicitAPI):
|
33
34
|
|
34
35
|
def describe(self):
|
35
36
|
return self.deep_extend(super(bitfinex2, self).describe(), {
|
ccxt/async_support/bitflyer.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.bitflyer import ImplicitAPI
|
7
8
|
import hashlib
|
8
9
|
from ccxt.base.types import OrderSide
|
9
10
|
from typing import Optional
|
@@ -14,7 +15,7 @@ from ccxt.base.errors import OrderNotFound
|
|
14
15
|
from ccxt.base.decimal_to_precision import TICK_SIZE
|
15
16
|
|
16
17
|
|
17
|
-
class bitflyer(Exchange):
|
18
|
+
class bitflyer(Exchange, ImplicitAPI):
|
18
19
|
|
19
20
|
def describe(self):
|
20
21
|
return self.deep_extend(super(bitflyer, self).describe(), {
|
ccxt/async_support/bitforex.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.bitforex import ImplicitAPI
|
7
8
|
import hashlib
|
8
9
|
from ccxt.base.types import OrderSide
|
9
10
|
from typing import Optional
|
@@ -19,7 +20,7 @@ from ccxt.base.errors import AuthenticationError
|
|
19
20
|
from ccxt.base.decimal_to_precision import TICK_SIZE
|
20
21
|
|
21
22
|
|
22
|
-
class bitforex(Exchange):
|
23
|
+
class bitforex(Exchange, ImplicitAPI):
|
23
24
|
|
24
25
|
def describe(self):
|
25
26
|
return self.deep_extend(super(bitforex, self).describe(), {
|
ccxt/async_support/bitget.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.bitget import ImplicitAPI
|
7
8
|
import asyncio
|
8
9
|
import hashlib
|
9
10
|
import json
|
@@ -33,7 +34,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
|
|
33
34
|
from ccxt.base.precise import Precise
|
34
35
|
|
35
36
|
|
36
|
-
class bitget(Exchange):
|
37
|
+
class bitget(Exchange, ImplicitAPI):
|
37
38
|
|
38
39
|
def describe(self):
|
39
40
|
return self.deep_extend(super(bitget, self).describe(), {
|
@@ -136,6 +137,7 @@ class bitget(Exchange):
|
|
136
137
|
'api': {
|
137
138
|
'spot': 'https://api.{hostname}',
|
138
139
|
'mix': 'https://api.{hostname}',
|
140
|
+
'p2p': 'https://api.{hostname}',
|
139
141
|
},
|
140
142
|
'www': 'https://www.bitget.com',
|
141
143
|
'doc': [
|
@@ -281,6 +283,14 @@ class bitget(Exchange):
|
|
281
283
|
'trace/followerSetTpsl': 2,
|
282
284
|
},
|
283
285
|
},
|
286
|
+
'p2p': {
|
287
|
+
'get': {
|
288
|
+
'merchant/merchantList': 1,
|
289
|
+
'merchant/merchantInfo': 1,
|
290
|
+
'merchant/advList': 1,
|
291
|
+
'merchant/orderList': 1,
|
292
|
+
},
|
293
|
+
},
|
284
294
|
},
|
285
295
|
},
|
286
296
|
'fees': {
|
@@ -3543,7 +3553,7 @@ class bitget(Exchange):
|
|
3543
3553
|
rates.append({
|
3544
3554
|
'info': entry,
|
3545
3555
|
'symbol': symbolInner,
|
3546
|
-
'fundingRate': self.
|
3556
|
+
'fundingRate': self.safe_number(entry, 'fundingRate'),
|
3547
3557
|
'timestamp': timestamp,
|
3548
3558
|
'datetime': self.iso8601(timestamp),
|
3549
3559
|
})
|
@@ -4129,7 +4139,13 @@ class bitget(Exchange):
|
|
4129
4139
|
def sign(self, path, api=[], method='GET', params={}, headers=None, body=None):
|
4130
4140
|
signed = api[0] == 'private'
|
4131
4141
|
endpoint = api[1]
|
4132
|
-
pathPart = '
|
4142
|
+
pathPart = ''
|
4143
|
+
if endpoint == 'spot':
|
4144
|
+
pathPart = '/api/spot/v1'
|
4145
|
+
elif endpoint == 'mix':
|
4146
|
+
pathPart = '/api/mix/v1'
|
4147
|
+
else:
|
4148
|
+
pathPart = '/api/p2p/v1'
|
4133
4149
|
request = '/' + self.implode_params(path, params)
|
4134
4150
|
payload = pathPart + request
|
4135
4151
|
url = self.implode_hostname(self.urls['api'][endpoint]) + payload
|
ccxt/async_support/bithumb.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.bithumb import ImplicitAPI
|
7
8
|
import hashlib
|
8
9
|
from ccxt.base.types import OrderSide
|
9
10
|
from typing import Optional
|
@@ -22,7 +23,7 @@ from ccxt.base.decimal_to_precision import SIGNIFICANT_DIGITS
|
|
22
23
|
from ccxt.base.precise import Precise
|
23
24
|
|
24
25
|
|
25
|
-
class bithumb(Exchange):
|
26
|
+
class bithumb(Exchange, ImplicitAPI):
|
26
27
|
|
27
28
|
def describe(self):
|
28
29
|
return self.deep_extend(super(bithumb, self).describe(), {
|
ccxt/async_support/bitmart.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.bitmart 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 bitmart(Exchange):
|
32
|
+
class bitmart(Exchange, ImplicitAPI):
|
32
33
|
|
33
34
|
def describe(self):
|
34
35
|
return self.deep_extend(super(bitmart, self).describe(), {
|
ccxt/async_support/bitmex.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.bitmex 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 bitmex(Exchange):
|
27
|
+
class bitmex(Exchange, ImplicitAPI):
|
27
28
|
|
28
29
|
def describe(self):
|
29
30
|
return self.deep_extend(super(bitmex, self).describe(), {
|
@@ -2587,7 +2588,7 @@ class bitmex(Exchange):
|
|
2587
2588
|
'info': response,
|
2588
2589
|
}
|
2589
2590
|
|
2590
|
-
def calculate_rate_limiter_cost(self, api, method, path, params, config={}
|
2591
|
+
def calculate_rate_limiter_cost(self, api, method, path, params, config={}):
|
2591
2592
|
isAuthenticated = self.check_required_credentials(False)
|
2592
2593
|
cost = self.safe_value(config, 'cost', 1)
|
2593
2594
|
if cost != 1: # trading endpoints
|
ccxt/async_support/bitopro.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.bitopro import ImplicitAPI
|
7
8
|
import hashlib
|
8
9
|
import math
|
9
10
|
from ccxt.base.types import OrderSide
|
@@ -19,7 +20,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
|
|
19
20
|
from ccxt.base.precise import Precise
|
20
21
|
|
21
22
|
|
22
|
-
class bitopro(Exchange):
|
23
|
+
class bitopro(Exchange, ImplicitAPI):
|
23
24
|
|
24
25
|
def describe(self):
|
25
26
|
return self.deep_extend(super(bitopro, self).describe(), {
|
ccxt/async_support/bitpanda.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.bitpanda import ImplicitAPI
|
7
8
|
from ccxt.base.types import OrderSide
|
8
9
|
from typing import Optional
|
9
10
|
from typing import List
|
@@ -22,7 +23,7 @@ from ccxt.base.decimal_to_precision import TICK_SIZE
|
|
22
23
|
from ccxt.base.precise import Precise
|
23
24
|
|
24
25
|
|
25
|
-
class bitpanda(Exchange):
|
26
|
+
class bitpanda(Exchange, ImplicitAPI):
|
26
27
|
|
27
28
|
def describe(self):
|
28
29
|
return self.deep_extend(super(bitpanda, self).describe(), {
|
ccxt/async_support/bitrue.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.bitrue import ImplicitAPI
|
7
8
|
import hashlib
|
8
9
|
import json
|
9
10
|
from ccxt.base.types import OrderSide
|
@@ -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 bitrue(Exchange):
|
34
|
+
class bitrue(Exchange, ImplicitAPI):
|
34
35
|
|
35
36
|
def describe(self):
|
36
37
|
return self.deep_extend(super(bitrue, self).describe(), {
|
@@ -1910,7 +1911,7 @@ class bitrue(Exchange):
|
|
1910
1911
|
raise ExchangeError(self.id + ' ' + body)
|
1911
1912
|
return None
|
1912
1913
|
|
1913
|
-
def calculate_rate_limiter_cost(self, api, method, path, params, config={}
|
1914
|
+
def calculate_rate_limiter_cost(self, api, method, path, params, config={}):
|
1914
1915
|
if ('noSymbol' in config) and not ('symbol' in params):
|
1915
1916
|
return config['noSymbol']
|
1916
1917
|
elif ('byLimit' in config) and ('limit' in params):
|
ccxt/async_support/bitso.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.bitso 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 bitso(Exchange):
|
22
|
+
class bitso(Exchange, ImplicitAPI):
|
22
23
|
|
23
24
|
def describe(self):
|
24
25
|
return self.deep_extend(super(bitso, self).describe(), {
|
ccxt/async_support/bitstamp.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.bitstamp 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 bitstamp(Exchange):
|
27
|
+
class bitstamp(Exchange, ImplicitAPI):
|
27
28
|
|
28
29
|
def describe(self):
|
29
30
|
return self.deep_extend(super(bitstamp, self).describe(), {
|
ccxt/async_support/bitstamp1.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.bitstamp1 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.decimal_to_precision import TICK_SIZE
|
|
13
14
|
from ccxt.base.precise import Precise
|
14
15
|
|
15
16
|
|
16
|
-
class bitstamp1(Exchange):
|
17
|
+
class bitstamp1(Exchange, ImplicitAPI):
|
17
18
|
|
18
19
|
def describe(self):
|
19
20
|
return self.deep_extend(super(bitstamp1, self).describe(), {
|