ccxt 4.1.54__py2.py3-none-any.whl → 4.1.56__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 +2 -2
- ccxt/abstract/binance.py +1 -0
- ccxt/abstract/binancecoinm.py +1 -0
- ccxt/abstract/binanceus.py +1 -0
- ccxt/abstract/binanceusdm.py +1 -0
- ccxt/abstract/bitbank.py +1 -0
- ccxt/abstract/coinbase.py +2 -0
- ccxt/abstract/htx.py +3 -0
- ccxt/abstract/huobi.py +3 -0
- ccxt/abstract/huobipro.py +3 -0
- ccxt/abstract/okex.py +3 -1
- ccxt/abstract/okex5.py +3 -1
- ccxt/abstract/okx.py +3 -1
- ccxt/ace.py +23 -23
- ccxt/alpaca.py +8 -8
- ccxt/ascendex.py +26 -26
- ccxt/async_support/__init__.py +2 -2
- ccxt/async_support/ace.py +23 -23
- ccxt/async_support/alpaca.py +8 -8
- ccxt/async_support/ascendex.py +26 -26
- ccxt/async_support/base/exchange.py +4 -2216
- ccxt/async_support/bigone.py +21 -24
- ccxt/async_support/binance.py +61 -54
- ccxt/async_support/bingx.py +28 -28
- ccxt/async_support/bit2c.py +9 -9
- ccxt/async_support/bitbank.py +11 -10
- ccxt/async_support/bitbns.py +11 -11
- ccxt/async_support/bitfinex.py +15 -15
- ccxt/async_support/bitfinex2.py +22 -22
- ccxt/async_support/bitflyer.py +13 -13
- ccxt/async_support/bitforex.py +10 -10
- ccxt/async_support/bitget.py +44 -44
- ccxt/async_support/bithumb.py +9 -9
- ccxt/async_support/bitmart.py +85 -104
- ccxt/async_support/bitmex.py +27 -27
- ccxt/async_support/bitopro.py +18 -18
- ccxt/async_support/bitpanda.py +18 -18
- ccxt/async_support/bitrue.py +14 -14
- ccxt/async_support/bitso.py +17 -17
- ccxt/async_support/bitstamp.py +17 -17
- ccxt/async_support/bittrex.py +22 -24
- ccxt/async_support/bitvavo.py +15 -15
- ccxt/async_support/bl3p.py +4 -4
- ccxt/async_support/blockchaincom.py +17 -17
- ccxt/async_support/btcalpha.py +14 -14
- ccxt/async_support/btcbox.py +9 -9
- ccxt/async_support/btcmarkets.py +17 -17
- ccxt/async_support/btcturk.py +9 -9
- ccxt/async_support/bybit.py +46 -46
- ccxt/async_support/cex.py +10 -10
- ccxt/async_support/coinbase.py +69 -25
- ccxt/async_support/coinbasepro.py +19 -19
- ccxt/async_support/coincheck.py +10 -10
- ccxt/async_support/coinex.py +57 -66
- ccxt/async_support/coinlist.py +22 -22
- ccxt/async_support/coinmate.py +10 -10
- ccxt/async_support/coinone.py +10 -10
- ccxt/async_support/coinsph.py +17 -17
- ccxt/async_support/coinspot.py +5 -5
- ccxt/async_support/cryptocom.py +27 -27
- ccxt/async_support/currencycom.py +18 -18
- ccxt/async_support/delta.py +21 -21
- ccxt/async_support/deribit.py +24 -24
- ccxt/async_support/digifinex.py +35 -35
- ccxt/async_support/exmo.py +19 -19
- ccxt/async_support/gate.py +38 -38
- ccxt/async_support/gemini.py +11 -11
- ccxt/async_support/hitbtc.py +27 -27
- ccxt/async_support/hollaex.py +19 -19
- ccxt/async_support/htx.py +47 -44
- ccxt/async_support/huobijp.py +22 -22
- ccxt/async_support/idex.py +20 -20
- ccxt/async_support/independentreserve.py +9 -9
- ccxt/async_support/indodax.py +10 -10
- ccxt/async_support/kraken.py +25 -25
- ccxt/async_support/krakenfutures.py +17 -17
- ccxt/async_support/kucoin.py +27 -27
- ccxt/async_support/kucoinfutures.py +20 -20
- ccxt/async_support/kuna.py +19 -19
- ccxt/async_support/latoken.py +14 -14
- ccxt/async_support/lbank.py +18 -18
- ccxt/async_support/luno.py +14 -14
- ccxt/async_support/lykke.py +12 -12
- ccxt/async_support/mercado.py +11 -11
- ccxt/async_support/mexc.py +36 -36
- ccxt/async_support/ndax.py +18 -18
- ccxt/async_support/novadax.py +17 -17
- ccxt/async_support/oceanex.py +12 -12
- ccxt/async_support/okcoin.py +19 -19
- ccxt/async_support/okx.py +48 -45
- ccxt/async_support/p2b.py +6 -6
- ccxt/async_support/paymium.py +6 -6
- ccxt/async_support/phemex.py +57 -57
- ccxt/async_support/poloniex.py +31 -30
- ccxt/async_support/poloniexfutures.py +16 -16
- ccxt/async_support/probit.py +22 -22
- ccxt/async_support/tidex.py +15 -15
- ccxt/async_support/timex.py +20 -20
- ccxt/async_support/tokocrypto.py +16 -16
- ccxt/async_support/upbit.py +15 -15
- ccxt/async_support/wavesexchange.py +12 -12
- ccxt/async_support/wazirx.py +13 -13
- ccxt/async_support/whitebit.py +26 -26
- ccxt/async_support/woo.py +47 -47
- ccxt/async_support/yobit.py +8 -8
- ccxt/async_support/zaif.py +10 -10
- ccxt/async_support/zonda.py +16 -16
- ccxt/base/errors.py +17 -16
- ccxt/base/exchange.py +57 -97
- ccxt/base/types.py +138 -139
- ccxt/bigone.py +21 -24
- ccxt/binance.py +61 -54
- ccxt/bingx.py +28 -28
- ccxt/bit2c.py +9 -9
- ccxt/bitbank.py +11 -10
- ccxt/bitbns.py +11 -11
- ccxt/bitfinex.py +15 -15
- ccxt/bitfinex2.py +22 -22
- ccxt/bitflyer.py +13 -13
- ccxt/bitforex.py +10 -10
- ccxt/bitget.py +44 -44
- ccxt/bithumb.py +9 -9
- ccxt/bitmart.py +85 -104
- ccxt/bitmex.py +27 -27
- ccxt/bitopro.py +18 -18
- ccxt/bitpanda.py +18 -18
- ccxt/bitrue.py +14 -14
- ccxt/bitso.py +17 -17
- ccxt/bitstamp.py +17 -17
- ccxt/bittrex.py +22 -24
- ccxt/bitvavo.py +15 -15
- ccxt/bl3p.py +4 -4
- ccxt/blockchaincom.py +17 -17
- ccxt/btcalpha.py +14 -14
- ccxt/btcbox.py +9 -9
- ccxt/btcmarkets.py +17 -17
- ccxt/btcturk.py +9 -9
- ccxt/bybit.py +46 -46
- ccxt/cex.py +10 -10
- ccxt/coinbase.py +69 -25
- ccxt/coinbasepro.py +19 -19
- ccxt/coincheck.py +10 -10
- ccxt/coinex.py +57 -66
- ccxt/coinlist.py +22 -22
- ccxt/coinmate.py +10 -10
- ccxt/coinone.py +10 -10
- ccxt/coinsph.py +17 -17
- ccxt/coinspot.py +5 -5
- ccxt/cryptocom.py +27 -27
- ccxt/currencycom.py +18 -18
- ccxt/delta.py +21 -21
- ccxt/deribit.py +24 -24
- ccxt/digifinex.py +35 -35
- ccxt/exmo.py +19 -19
- ccxt/gate.py +38 -38
- ccxt/gemini.py +11 -11
- ccxt/hitbtc.py +27 -27
- ccxt/hollaex.py +19 -19
- ccxt/htx.py +47 -44
- ccxt/huobijp.py +22 -22
- ccxt/idex.py +20 -20
- ccxt/independentreserve.py +9 -9
- ccxt/indodax.py +10 -10
- ccxt/kraken.py +25 -25
- ccxt/krakenfutures.py +17 -17
- ccxt/kucoin.py +27 -27
- ccxt/kucoinfutures.py +20 -20
- ccxt/kuna.py +19 -19
- ccxt/latoken.py +14 -14
- ccxt/lbank.py +18 -18
- ccxt/luno.py +14 -14
- ccxt/lykke.py +12 -12
- ccxt/mercado.py +11 -11
- ccxt/mexc.py +36 -36
- ccxt/ndax.py +18 -18
- ccxt/novadax.py +17 -17
- ccxt/oceanex.py +12 -12
- ccxt/okcoin.py +19 -19
- ccxt/okx.py +48 -45
- ccxt/p2b.py +6 -6
- ccxt/paymium.py +6 -6
- ccxt/phemex.py +57 -57
- ccxt/poloniex.py +31 -30
- ccxt/poloniexfutures.py +16 -16
- ccxt/pro/__init__.py +1 -1
- ccxt/pro/alpaca.py +3 -3
- ccxt/pro/ascendex.py +2 -2
- ccxt/pro/binance.py +9 -9
- ccxt/pro/bingx.py +3 -3
- ccxt/pro/bitfinex.py +3 -3
- ccxt/pro/bitfinex2.py +3 -3
- ccxt/pro/bitget.py +3 -3
- ccxt/pro/bitmart.py +2 -2
- ccxt/pro/bitmex.py +3 -3
- ccxt/pro/bitpanda.py +3 -3
- ccxt/pro/bitrue.py +2 -2
- ccxt/pro/bitstamp.py +2 -2
- ccxt/pro/bittrex.py +3 -3
- ccxt/pro/bitvavo.py +3 -3
- ccxt/pro/blockchaincom.py +2 -2
- ccxt/pro/bybit.py +4 -4
- ccxt/pro/cex.py +3 -3
- ccxt/pro/coinbasepro.py +3 -3
- ccxt/pro/coinex.py +2 -2
- ccxt/pro/cryptocom.py +5 -5
- ccxt/pro/deribit.py +3 -3
- ccxt/pro/exmo.py +2 -2
- ccxt/pro/gate.py +3 -3
- ccxt/pro/gemini.py +2 -2
- ccxt/pro/hitbtc.py +4 -4
- ccxt/pro/hollaex.py +3 -3
- ccxt/pro/htx.py +3 -3
- ccxt/pro/idex.py +3 -3
- ccxt/pro/kraken.py +7 -7
- ccxt/pro/krakenfutures.py +4 -4
- ccxt/pro/kucoin.py +3 -3
- ccxt/pro/kucoinfutures.py +3 -3
- ccxt/pro/mexc.py +3 -3
- ccxt/pro/okcoin.py +2 -2
- ccxt/pro/okx.py +6 -6
- ccxt/pro/phemex.py +3 -3
- ccxt/pro/poloniex.py +3 -3
- ccxt/pro/poloniexfutures.py +3 -3
- ccxt/pro/probit.py +3 -3
- ccxt/pro/wazirx.py +3 -3
- ccxt/pro/whitebit.py +3 -3
- ccxt/pro/woo.py +2 -2
- ccxt/probit.py +22 -22
- ccxt/test/base/test_shared_methods.py +3 -3
- ccxt/test/test_async.py +543 -535
- ccxt/test/test_sync.py +542 -534
- ccxt/tidex.py +15 -15
- ccxt/timex.py +20 -20
- ccxt/tokocrypto.py +16 -16
- ccxt/upbit.py +15 -15
- ccxt/wavesexchange.py +12 -12
- ccxt/wazirx.py +13 -13
- ccxt/whitebit.py +26 -26
- ccxt/woo.py +47 -47
- ccxt/yobit.py +8 -8
- ccxt/zaif.py +10 -10
- ccxt/zonda.py +16 -16
- {ccxt-4.1.54.dist-info → ccxt-4.1.56.dist-info}/METADATA +10 -8
- ccxt-4.1.56.dist-info/RECORD +449 -0
- ccxt/async_support/bitstamp1.py +0 -402
- ccxt/async_support/lbank2.py +0 -2620
- ccxt/bitstamp1.py +0 -402
- ccxt/lbank2.py +0 -2619
- ccxt-4.1.54.dist-info/RECORD +0 -453
- {ccxt-4.1.54.dist-info → ccxt-4.1.56.dist-info}/WHEEL +0 -0
- {ccxt-4.1.54.dist-info → ccxt-4.1.56.dist-info}/top_level.txt +0 -0
ccxt/async_support/tokocrypto.py
CHANGED
@@ -7,7 +7,7 @@ from ccxt.async_support.base.exchange import Exchange
|
|
7
7
|
from ccxt.abstract.tokocrypto import ImplicitAPI
|
8
8
|
import hashlib
|
9
9
|
import json
|
10
|
-
from ccxt.base.types import Balances, Int, Order, OrderBook, OrderSide, OrderType,
|
10
|
+
from ccxt.base.types import Balances, Currency, Int, Market, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
|
11
11
|
from typing import List
|
12
12
|
from ccxt.base.errors import ExchangeError
|
13
13
|
from ccxt.base.errors import PermissionDenied
|
@@ -843,7 +843,7 @@ class tokocrypto(Exchange, ImplicitAPI):
|
|
843
843
|
orderbook['nonce'] = self.safe_integer(data, 'lastUpdateId')
|
844
844
|
return orderbook
|
845
845
|
|
846
|
-
def parse_trade(self, trade, market=None) -> Trade:
|
846
|
+
def parse_trade(self, trade, market: Market = None) -> Trade:
|
847
847
|
#
|
848
848
|
# aggregate trades
|
849
849
|
# https://github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md#compressedaggregate-trades-list
|
@@ -945,10 +945,10 @@ class tokocrypto(Exchange, ImplicitAPI):
|
|
945
945
|
symbol = self.safe_symbol(marketId, market)
|
946
946
|
id = self.safe_string_2(trade, 't', 'a')
|
947
947
|
id = self.safe_string_2(trade, 'id', 'tradeId', id)
|
948
|
-
side = None
|
948
|
+
side: Str = None
|
949
949
|
orderId = self.safe_string(trade, 'orderId')
|
950
950
|
buyerMaker = self.safe_value_2(trade, 'm', 'isBuyerMaker')
|
951
|
-
takerOrMaker = None
|
951
|
+
takerOrMaker: Str = None
|
952
952
|
if buyerMaker is not None:
|
953
953
|
side = 'sell' if buyerMaker else 'buy' # self is reversed intentionally
|
954
954
|
takerOrMaker = 'taker'
|
@@ -1059,7 +1059,7 @@ class tokocrypto(Exchange, ImplicitAPI):
|
|
1059
1059
|
#
|
1060
1060
|
return self.parse_trades(response, market, since, limit)
|
1061
1061
|
|
1062
|
-
def parse_ticker(self, ticker, market=None) -> Ticker:
|
1062
|
+
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
1063
1063
|
#
|
1064
1064
|
# {
|
1065
1065
|
# "symbol": "ETHBTC",
|
@@ -1192,7 +1192,7 @@ class tokocrypto(Exchange, ImplicitAPI):
|
|
1192
1192
|
response = await self.binanceGetTickerBookTicker(params)
|
1193
1193
|
return self.parse_tickers(response, symbols)
|
1194
1194
|
|
1195
|
-
def parse_ohlcv(self, ohlcv, market=None) -> list:
|
1195
|
+
def parse_ohlcv(self, ohlcv, market: Market = None) -> list:
|
1196
1196
|
# when api method = publicGetKlines or fapiPublicGetKlines or dapiPublicGetKlines
|
1197
1197
|
# [
|
1198
1198
|
# 1591478520000, # open time
|
@@ -1369,7 +1369,7 @@ class tokocrypto(Exchange, ImplicitAPI):
|
|
1369
1369
|
}
|
1370
1370
|
return self.safe_string(statuses, status, status)
|
1371
1371
|
|
1372
|
-
def parse_order(self, order, market=None) -> Order:
|
1372
|
+
def parse_order(self, order, market: Market = None) -> Order:
|
1373
1373
|
#
|
1374
1374
|
# spot
|
1375
1375
|
#
|
@@ -1680,7 +1680,7 @@ class tokocrypto(Exchange, ImplicitAPI):
|
|
1680
1680
|
rawOrder = self.safe_value(response, 'data', {})
|
1681
1681
|
return self.parse_order(rawOrder, market)
|
1682
1682
|
|
1683
|
-
async def fetch_order(self, id: str, symbol:
|
1683
|
+
async def fetch_order(self, id: str, symbol: Str = None, params={}):
|
1684
1684
|
"""
|
1685
1685
|
:see: https://www.tokocrypto.com/apidocs/#all-orders-signed
|
1686
1686
|
fetches information on an order made by the user
|
@@ -1727,7 +1727,7 @@ class tokocrypto(Exchange, ImplicitAPI):
|
|
1727
1727
|
rawOrder = self.safe_value(list, 0, {})
|
1728
1728
|
return self.parse_order(rawOrder)
|
1729
1729
|
|
1730
|
-
async def fetch_orders(self, symbol:
|
1730
|
+
async def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
1731
1731
|
"""
|
1732
1732
|
:see: https://www.tokocrypto.com/apidocs/#all-orders-signed
|
1733
1733
|
fetches information on multiple orders made by the user
|
@@ -1792,7 +1792,7 @@ class tokocrypto(Exchange, ImplicitAPI):
|
|
1792
1792
|
orders = self.safe_value(data, 'list', [])
|
1793
1793
|
return self.parse_orders(orders, market, since, limit)
|
1794
1794
|
|
1795
|
-
async def fetch_open_orders(self, symbol:
|
1795
|
+
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
1796
1796
|
"""
|
1797
1797
|
:see: https://www.tokocrypto.com/apidocs/#all-orders-signed
|
1798
1798
|
fetch all unfilled currently open orders
|
@@ -1805,7 +1805,7 @@ class tokocrypto(Exchange, ImplicitAPI):
|
|
1805
1805
|
request = {'type': 1} # -1 = all, 1 = open, 2 = closed
|
1806
1806
|
return await self.fetch_orders(symbol, since, limit, self.extend(request, params))
|
1807
1807
|
|
1808
|
-
async def fetch_closed_orders(self, symbol:
|
1808
|
+
async def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
1809
1809
|
"""
|
1810
1810
|
:see: https://www.tokocrypto.com/apidocs/#all-orders-signed
|
1811
1811
|
fetches information on multiple closed orders made by the user
|
@@ -1818,7 +1818,7 @@ class tokocrypto(Exchange, ImplicitAPI):
|
|
1818
1818
|
request = {'type': 2} # -1 = all, 1 = open, 2 = closed
|
1819
1819
|
return await self.fetch_orders(symbol, since, limit, self.extend(request, params))
|
1820
1820
|
|
1821
|
-
async def cancel_order(self, id: str, symbol:
|
1821
|
+
async def cancel_order(self, id: str, symbol: Str = None, params={}):
|
1822
1822
|
"""
|
1823
1823
|
:see: https://www.tokocrypto.com/apidocs/#cancel-order-signed
|
1824
1824
|
cancels an open order
|
@@ -1861,7 +1861,7 @@ class tokocrypto(Exchange, ImplicitAPI):
|
|
1861
1861
|
rawOrder = self.safe_value(response, 'data', {})
|
1862
1862
|
return self.parse_order(rawOrder)
|
1863
1863
|
|
1864
|
-
async def fetch_my_trades(self, symbol:
|
1864
|
+
async def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
1865
1865
|
"""
|
1866
1866
|
:see: https://www.tokocrypto.com/apidocs/#account-trade-list-signed
|
1867
1867
|
fetch all trades made by the user
|
@@ -1967,7 +1967,7 @@ class tokocrypto(Exchange, ImplicitAPI):
|
|
1967
1967
|
'info': response,
|
1968
1968
|
}
|
1969
1969
|
|
1970
|
-
async def fetch_deposits(self, code:
|
1970
|
+
async def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
1971
1971
|
"""
|
1972
1972
|
:see: https://www.tokocrypto.com/apidocs/#deposit-history-signed
|
1973
1973
|
fetch all deposits made to an account
|
@@ -2022,7 +2022,7 @@ class tokocrypto(Exchange, ImplicitAPI):
|
|
2022
2022
|
deposits = self.safe_value(data, 'list', [])
|
2023
2023
|
return self.parse_transactions(deposits, currency, since, limit)
|
2024
2024
|
|
2025
|
-
async def fetch_withdrawals(self, code:
|
2025
|
+
async def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
2026
2026
|
"""
|
2027
2027
|
:see: https://www.tokocrypto.com/apidocs/#withdraw-signed
|
2028
2028
|
fetch all withdrawals made from an account
|
@@ -2093,7 +2093,7 @@ class tokocrypto(Exchange, ImplicitAPI):
|
|
2093
2093
|
statuses = self.safe_value(statusesByType, type, {})
|
2094
2094
|
return self.safe_string(statuses, status, status)
|
2095
2095
|
|
2096
|
-
def parse_transaction(self, transaction, currency=None) -> Transaction:
|
2096
|
+
def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
|
2097
2097
|
#
|
2098
2098
|
# fetchDeposits
|
2099
2099
|
#
|
ccxt/async_support/upbit.py
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.upbit import ImplicitAPI
|
8
|
-
from ccxt.base.types import Balances, Int, Market, Order, OrderBook, OrderSide, OrderType,
|
8
|
+
from ccxt.base.types import Balances, Currency, Int, Market, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
|
9
9
|
from typing import List
|
10
10
|
from ccxt.base.errors import ExchangeError
|
11
11
|
from ccxt.base.errors import PermissionDenied
|
@@ -592,7 +592,7 @@ class upbit(Exchange, ImplicitAPI):
|
|
592
592
|
orderbooks = await self.fetch_order_books([symbol], limit, params)
|
593
593
|
return self.safe_value(orderbooks, symbol)
|
594
594
|
|
595
|
-
def parse_ticker(self, ticker, market=None) -> Ticker:
|
595
|
+
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
596
596
|
#
|
597
597
|
# { market: "BTC-ETH",
|
598
598
|
# "trade_date": "20181122",
|
@@ -718,7 +718,7 @@ class upbit(Exchange, ImplicitAPI):
|
|
718
718
|
tickers = await self.fetch_tickers([symbol], params)
|
719
719
|
return self.safe_value(tickers, symbol)
|
720
720
|
|
721
|
-
def parse_trade(self, trade, market=None) -> Trade:
|
721
|
+
def parse_trade(self, trade, market: Market = None) -> Trade:
|
722
722
|
#
|
723
723
|
# fetchTrades
|
724
724
|
#
|
@@ -892,7 +892,7 @@ class upbit(Exchange, ImplicitAPI):
|
|
892
892
|
'tierBased': False,
|
893
893
|
}
|
894
894
|
|
895
|
-
def parse_ohlcv(self, ohlcv, market=None) -> list:
|
895
|
+
def parse_ohlcv(self, ohlcv, market: Market = None) -> list:
|
896
896
|
#
|
897
897
|
# {
|
898
898
|
# "market": "BTC-ETH",
|
@@ -1052,7 +1052,7 @@ class upbit(Exchange, ImplicitAPI):
|
|
1052
1052
|
#
|
1053
1053
|
return self.parse_order(response)
|
1054
1054
|
|
1055
|
-
async def cancel_order(self, id: str, symbol:
|
1055
|
+
async def cancel_order(self, id: str, symbol: Str = None, params={}):
|
1056
1056
|
"""
|
1057
1057
|
:see: https://docs.upbit.com/reference/%EC%A3%BC%EB%AC%B8-%EC%B7%A8%EC%86%8C
|
1058
1058
|
cancels an open order
|
@@ -1087,7 +1087,7 @@ class upbit(Exchange, ImplicitAPI):
|
|
1087
1087
|
#
|
1088
1088
|
return self.parse_order(response)
|
1089
1089
|
|
1090
|
-
async def fetch_deposits(self, code:
|
1090
|
+
async def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
1091
1091
|
"""
|
1092
1092
|
:see: https://docs.upbit.com/reference/%EC%9E%85%EA%B8%88-%EB%A6%AC%EC%8A%A4%ED%8A%B8-%EC%A1%B0%ED%9A%8C
|
1093
1093
|
fetch all deposits made to an account
|
@@ -1127,7 +1127,7 @@ class upbit(Exchange, ImplicitAPI):
|
|
1127
1127
|
#
|
1128
1128
|
return self.parse_transactions(response, currency, since, limit)
|
1129
1129
|
|
1130
|
-
async def fetch_withdrawals(self, code:
|
1130
|
+
async def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
|
1131
1131
|
"""
|
1132
1132
|
:see: https://docs.upbit.com/reference/%EC%A0%84%EC%B2%B4-%EC%B6%9C%EA%B8%88-%EC%A1%B0%ED%9A%8C
|
1133
1133
|
fetch all withdrawals made from an account
|
@@ -1180,7 +1180,7 @@ class upbit(Exchange, ImplicitAPI):
|
|
1180
1180
|
}
|
1181
1181
|
return self.safe_string(statuses, status, status)
|
1182
1182
|
|
1183
|
-
def parse_transaction(self, transaction, currency=None) -> Transaction:
|
1183
|
+
def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
|
1184
1184
|
#
|
1185
1185
|
# fetchDeposits
|
1186
1186
|
#
|
@@ -1260,7 +1260,7 @@ class upbit(Exchange, ImplicitAPI):
|
|
1260
1260
|
}
|
1261
1261
|
return self.safe_string(statuses, status, status)
|
1262
1262
|
|
1263
|
-
def parse_order(self, order, market=None) -> Order:
|
1263
|
+
def parse_order(self, order, market: Market = None) -> Order:
|
1264
1264
|
#
|
1265
1265
|
# {
|
1266
1266
|
# "uuid": "a08f09b1-1718-42e2-9358-f0e5e083d3ee",
|
@@ -1381,7 +1381,7 @@ class upbit(Exchange, ImplicitAPI):
|
|
1381
1381
|
'trades': trades,
|
1382
1382
|
})
|
1383
1383
|
|
1384
|
-
async def fetch_orders_by_state(self, state, symbol:
|
1384
|
+
async def fetch_orders_by_state(self, state, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
1385
1385
|
await self.load_markets()
|
1386
1386
|
request = {
|
1387
1387
|
# 'market': self.market_id(symbol),
|
@@ -1417,7 +1417,7 @@ class upbit(Exchange, ImplicitAPI):
|
|
1417
1417
|
#
|
1418
1418
|
return self.parse_orders(response, market, since, limit)
|
1419
1419
|
|
1420
|
-
async def fetch_open_orders(self, symbol:
|
1420
|
+
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
1421
1421
|
"""
|
1422
1422
|
:see: https://docs.upbit.com/reference/%EC%A3%BC%EB%AC%B8-%EB%A6%AC%EC%8A%A4%ED%8A%B8-%EC%A1%B0%ED%9A%8C
|
1423
1423
|
fetch all unfilled currently open orders
|
@@ -1429,7 +1429,7 @@ class upbit(Exchange, ImplicitAPI):
|
|
1429
1429
|
"""
|
1430
1430
|
return await self.fetch_orders_by_state('wait', symbol, since, limit, params)
|
1431
1431
|
|
1432
|
-
async def fetch_closed_orders(self, symbol:
|
1432
|
+
async def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
1433
1433
|
"""
|
1434
1434
|
:see: https://docs.upbit.com/reference/%EC%A3%BC%EB%AC%B8-%EB%A6%AC%EC%8A%A4%ED%8A%B8-%EC%A1%B0%ED%9A%8C
|
1435
1435
|
fetches information on multiple closed orders made by the user
|
@@ -1441,7 +1441,7 @@ class upbit(Exchange, ImplicitAPI):
|
|
1441
1441
|
"""
|
1442
1442
|
return await self.fetch_orders_by_state('done', symbol, since, limit, params)
|
1443
1443
|
|
1444
|
-
async def fetch_canceled_orders(self, symbol:
|
1444
|
+
async def fetch_canceled_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
1445
1445
|
"""
|
1446
1446
|
:see: https://docs.upbit.com/reference/%EC%A3%BC%EB%AC%B8-%EB%A6%AC%EC%8A%A4%ED%8A%B8-%EC%A1%B0%ED%9A%8C
|
1447
1447
|
fetches information on multiple canceled orders made by the user
|
@@ -1453,7 +1453,7 @@ class upbit(Exchange, ImplicitAPI):
|
|
1453
1453
|
"""
|
1454
1454
|
return await self.fetch_orders_by_state('cancel', symbol, since, limit, params)
|
1455
1455
|
|
1456
|
-
async def fetch_order(self, id: str, symbol:
|
1456
|
+
async def fetch_order(self, id: str, symbol: Str = None, params={}):
|
1457
1457
|
"""
|
1458
1458
|
:see: https://docs.upbit.com/reference/%EA%B0%9C%EB%B3%84-%EC%A3%BC%EB%AC%B8-%EC%A1%B0%ED%9A%8C
|
1459
1459
|
fetches information on an order made by the user
|
@@ -1542,7 +1542,7 @@ class upbit(Exchange, ImplicitAPI):
|
|
1542
1542
|
#
|
1543
1543
|
return self.parse_deposit_addresses(response, codes)
|
1544
1544
|
|
1545
|
-
def parse_deposit_address(self, depositAddress, currency=None):
|
1545
|
+
def parse_deposit_address(self, depositAddress, currency: Currency = None):
|
1546
1546
|
#
|
1547
1547
|
# {
|
1548
1548
|
# "currency": "BTC",
|
@@ -7,7 +7,7 @@ from ccxt.async_support.base.exchange import Exchange
|
|
7
7
|
from ccxt.abstract.wavesexchange import ImplicitAPI
|
8
8
|
import asyncio
|
9
9
|
import json
|
10
|
-
from ccxt.base.types import Balances, Int, Order, OrderBook, OrderSide, OrderType,
|
10
|
+
from ccxt.base.types import Balances, Currency, Int, Market, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
|
11
11
|
from typing import List
|
12
12
|
from typing import Any
|
13
13
|
from ccxt.base.errors import ExchangeError
|
@@ -745,7 +745,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
745
745
|
return self.options['accessToken']
|
746
746
|
return None
|
747
747
|
|
748
|
-
def parse_ticker(self, ticker, market=None) -> Ticker:
|
748
|
+
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
749
749
|
#
|
750
750
|
# {
|
751
751
|
# "symbol": "WAVES/BTC",
|
@@ -982,7 +982,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
982
982
|
result.append(ohlcvs[i])
|
983
983
|
return result
|
984
984
|
|
985
|
-
def parse_ohlcv(self, ohlcv, market=None) -> list:
|
985
|
+
def parse_ohlcv(self, ohlcv, market: Market = None) -> list:
|
986
986
|
#
|
987
987
|
# {
|
988
988
|
# "__type": "candle",
|
@@ -1388,7 +1388,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1388
1388
|
value = self.safe_value(response, 'message')
|
1389
1389
|
return self.parse_order(value, market)
|
1390
1390
|
|
1391
|
-
async def cancel_order(self, id: str, symbol:
|
1391
|
+
async def cancel_order(self, id: str, symbol: Str = None, params={}):
|
1392
1392
|
"""
|
1393
1393
|
cancels an open order
|
1394
1394
|
:param str id: order id
|
@@ -1434,7 +1434,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1434
1434
|
'trades': None,
|
1435
1435
|
}
|
1436
1436
|
|
1437
|
-
async def fetch_order(self, id: str, symbol:
|
1437
|
+
async def fetch_order(self, id: str, symbol: Str = None, params={}):
|
1438
1438
|
"""
|
1439
1439
|
fetches information on an order made by the user
|
1440
1440
|
:param str symbol: unified symbol of the market the order was made in
|
@@ -1464,7 +1464,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1464
1464
|
response = await self.matcherGetMatcherOrderbookPublicKeyOrderId(self.extend(request, params))
|
1465
1465
|
return self.parse_order(response, market)
|
1466
1466
|
|
1467
|
-
async def fetch_orders(self, symbol:
|
1467
|
+
async def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
1468
1468
|
"""
|
1469
1469
|
fetches information on multiple orders made by the user
|
1470
1470
|
:param str symbol: unified market symbol of the market orders were made in
|
@@ -1512,7 +1512,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1512
1512
|
# "avgWeighedPrice": 0}, ...]
|
1513
1513
|
return self.parse_orders(response, market, since, limit)
|
1514
1514
|
|
1515
|
-
async def fetch_open_orders(self, symbol:
|
1515
|
+
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
1516
1516
|
"""
|
1517
1517
|
fetch all unfilled currently open orders
|
1518
1518
|
:param str symbol: unified market symbol
|
@@ -1534,7 +1534,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1534
1534
|
response = await self.forwardGetMatcherOrdersAddress(request)
|
1535
1535
|
return self.parse_orders(response, market, since, limit)
|
1536
1536
|
|
1537
|
-
async def fetch_closed_orders(self, symbol:
|
1537
|
+
async def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
1538
1538
|
"""
|
1539
1539
|
fetches information on multiple closed orders made by the user
|
1540
1540
|
:param str symbol: unified market symbol of the market orders were made in
|
@@ -1591,7 +1591,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1591
1591
|
quoteId = self.safe_string(assetPair, 'priceAsset', 'WAVES')
|
1592
1592
|
return self.safe_currency_code(baseId) + '/' + self.safe_currency_code(quoteId)
|
1593
1593
|
|
1594
|
-
def parse_order(self, order, market=None) -> Order:
|
1594
|
+
def parse_order(self, order, market: Market = None) -> Order:
|
1595
1595
|
#
|
1596
1596
|
# createOrder
|
1597
1597
|
#
|
@@ -1864,7 +1864,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
1864
1864
|
result['datetime'] = self.iso8601(timestamp)
|
1865
1865
|
return self.safe_balance(result)
|
1866
1866
|
|
1867
|
-
async def fetch_my_trades(self, symbol:
|
1867
|
+
async def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
|
1868
1868
|
"""
|
1869
1869
|
fetch all trades made by the user
|
1870
1870
|
:param str symbol: unified market symbol
|
@@ -2042,7 +2042,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
2042
2042
|
#
|
2043
2043
|
return self.parse_trades(data, market, since, limit)
|
2044
2044
|
|
2045
|
-
def parse_trade(self, trade, market=None) -> Trade:
|
2045
|
+
def parse_trade(self, trade, market: Market = None) -> Trade:
|
2046
2046
|
#
|
2047
2047
|
# {__type: "transaction",
|
2048
2048
|
# "data":
|
@@ -2411,7 +2411,7 @@ class wavesexchange(Exchange, ImplicitAPI):
|
|
2411
2411
|
#
|
2412
2412
|
return self.parse_transaction(result, currency)
|
2413
2413
|
|
2414
|
-
def parse_transaction(self, transaction, currency=None) -> Transaction:
|
2414
|
+
def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
|
2415
2415
|
#
|
2416
2416
|
# withdraw
|
2417
2417
|
#
|
ccxt/async_support/wazirx.py
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.async_support.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.wazirx import ImplicitAPI
|
8
8
|
import hashlib
|
9
|
-
from ccxt.base.types import Balances, Int, Market, Order, OrderBook, OrderSide, OrderType,
|
9
|
+
from ccxt.base.types import Balances, Int, Market, Order, OrderBook, OrderSide, OrderType, Num, Str, Strings, Ticker, Tickers, Trade
|
10
10
|
from typing import List
|
11
11
|
from ccxt.base.errors import ExchangeError
|
12
12
|
from ccxt.base.errors import PermissionDenied
|
@@ -229,16 +229,16 @@ class wazirx(Exchange, ImplicitAPI):
|
|
229
229
|
quote = self.safe_currency_code(quoteId)
|
230
230
|
isSpot = self.safe_value(market, 'isSpotTradingAllowed')
|
231
231
|
filters = self.safe_value(market, 'filters')
|
232
|
-
minPrice = None
|
232
|
+
minPrice: Num = None
|
233
233
|
for j in range(0, len(filters)):
|
234
234
|
filter = filters[j]
|
235
235
|
filterType = self.safe_string(filter, 'filterType')
|
236
236
|
if filterType == 'PRICE_FILTER':
|
237
237
|
minPrice = self.safe_number(filter, 'minPrice')
|
238
238
|
fee = self.safe_value(self.fees, quote, {})
|
239
|
-
takerString = self.safe_string(fee, 'taker', '0.2')
|
239
|
+
takerString: Str = self.safe_string(fee, 'taker', '0.2')
|
240
240
|
takerString = Precise.string_div(takerString, '100')
|
241
|
-
makerString = self.safe_string(fee, 'maker', '0.2')
|
241
|
+
makerString: Str = self.safe_string(fee, 'maker', '0.2')
|
242
242
|
makerString = Precise.string_div(makerString, '100')
|
243
243
|
status = self.safe_string(market, 'status')
|
244
244
|
return {
|
@@ -328,7 +328,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
328
328
|
#
|
329
329
|
return self.parse_ohlcvs(response, market, timeframe, since, limit)
|
330
330
|
|
331
|
-
def parse_ohlcv(self, ohlcv, market=None) -> list:
|
331
|
+
def parse_ohlcv(self, ohlcv, market: Market = None) -> list:
|
332
332
|
#
|
333
333
|
# [1669014300,1402001,1402001,1402001,1402001,0],
|
334
334
|
#
|
@@ -471,7 +471,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
471
471
|
# ]
|
472
472
|
return self.parse_trades(response, market, since, limit)
|
473
473
|
|
474
|
-
def parse_trade(self, trade, market=None) -> Trade:
|
474
|
+
def parse_trade(self, trade, market: Market = None) -> Trade:
|
475
475
|
#
|
476
476
|
# {
|
477
477
|
# "id":322307791,
|
@@ -545,7 +545,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
545
545
|
#
|
546
546
|
return self.safe_integer(response, 'serverTime')
|
547
547
|
|
548
|
-
def parse_ticker(self, ticker, market=None) -> Ticker:
|
548
|
+
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
549
549
|
#
|
550
550
|
# {
|
551
551
|
# "symbol":"btcinr",
|
@@ -627,7 +627,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
627
627
|
#
|
628
628
|
return self.parse_balance(response)
|
629
629
|
|
630
|
-
async def fetch_orders(self, symbol:
|
630
|
+
async def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
631
631
|
"""
|
632
632
|
:see: https://docs.wazirx.com/#all-orders-user_data
|
633
633
|
fetches information on multiple orders made by the user
|
@@ -681,7 +681,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
681
681
|
orders = self.filter_by(orders, 'symbol', symbol)
|
682
682
|
return orders
|
683
683
|
|
684
|
-
async def fetch_open_orders(self, symbol:
|
684
|
+
async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
|
685
685
|
"""
|
686
686
|
:see: https://docs.wazirx.com/#current-open-orders-user_data
|
687
687
|
fetch all unfilled currently open orders
|
@@ -693,7 +693,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
693
693
|
"""
|
694
694
|
await self.load_markets()
|
695
695
|
request = {}
|
696
|
-
market = None
|
696
|
+
market: Market = None
|
697
697
|
if symbol is not None:
|
698
698
|
market = self.market(symbol)
|
699
699
|
request['symbol'] = market['id']
|
@@ -728,7 +728,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
728
728
|
orders = self.parse_orders(response, market, since, limit)
|
729
729
|
return orders
|
730
730
|
|
731
|
-
async def cancel_all_orders(self, symbol:
|
731
|
+
async def cancel_all_orders(self, symbol: Str = None, params={}):
|
732
732
|
"""
|
733
733
|
:see: https://docs.wazirx.com/#cancel-all-open-orders-on-a-symbol-trade
|
734
734
|
cancel all open orders in a market
|
@@ -744,7 +744,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
744
744
|
}
|
745
745
|
return await self.privateDeleteOpenOrders(self.extend(request, params))
|
746
746
|
|
747
|
-
async def cancel_order(self, id: str, symbol:
|
747
|
+
async def cancel_order(self, id: str, symbol: Str = None, params={}):
|
748
748
|
"""
|
749
749
|
:see: https://docs.wazirx.com/#cancel-order-trade
|
750
750
|
cancels an open order
|
@@ -808,7 +808,7 @@ class wazirx(Exchange, ImplicitAPI):
|
|
808
808
|
# }
|
809
809
|
return self.parse_order(response, market)
|
810
810
|
|
811
|
-
def parse_order(self, order, market=None) -> Order:
|
811
|
+
def parse_order(self, order, market: Market = None) -> Order:
|
812
812
|
# {
|
813
813
|
# "id":1949417813,
|
814
814
|
# "symbol":"ltcusdt",
|