ccxt 4.3.17__py2.py3-none-any.whl → 4.3.19__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.
- ccxt/__init__.py +3 -1
- ccxt/abstract/bybit.py +1 -0
- ccxt/abstract/okx.py +1 -0
- ccxt/abstract/woofipro.py +119 -0
- ccxt/ace.py +1 -1
- ccxt/ascendex.py +7 -8
- ccxt/async_support/__init__.py +3 -1
- ccxt/async_support/ace.py +1 -1
- ccxt/async_support/ascendex.py +7 -8
- ccxt/async_support/base/exchange.py +23 -2
- ccxt/async_support/bigone.py +4 -4
- ccxt/async_support/binance.py +34 -17
- ccxt/async_support/bingx.py +4 -4
- ccxt/async_support/bit2c.py +1 -1
- ccxt/async_support/bitbank.py +1 -1
- ccxt/async_support/bitbns.py +1 -1
- ccxt/async_support/bitfinex.py +28 -4
- ccxt/async_support/bitfinex2.py +62 -54
- ccxt/async_support/bitflyer.py +1 -1
- ccxt/async_support/bitget.py +8 -11
- ccxt/async_support/bithumb.py +1 -1
- ccxt/async_support/bitmart.py +8 -8
- ccxt/async_support/bitmex.py +2 -2
- ccxt/async_support/bitopro.py +1 -1
- ccxt/async_support/bitrue.py +3 -3
- ccxt/async_support/bitso.py +1 -1
- ccxt/async_support/bitstamp.py +3 -5
- ccxt/async_support/bitteam.py +1 -1
- ccxt/async_support/bitvavo.py +1 -1
- ccxt/async_support/bl3p.py +1 -1
- ccxt/async_support/blockchaincom.py +1 -1
- ccxt/async_support/blofin.py +3 -3
- ccxt/async_support/btcalpha.py +1 -1
- ccxt/async_support/btcbox.py +1 -1
- ccxt/async_support/btcmarkets.py +1 -1
- ccxt/async_support/btcturk.py +1 -1
- ccxt/async_support/bybit.py +9 -8
- ccxt/async_support/cex.py +1 -1
- ccxt/async_support/coinbase.py +2 -2
- ccxt/async_support/coinbasepro.py +1 -1
- ccxt/async_support/coincheck.py +1 -1
- ccxt/async_support/coinex.py +320 -520
- ccxt/async_support/coinlist.py +6 -7
- ccxt/async_support/coinmate.py +1 -1
- ccxt/async_support/coinmetro.py +1 -1
- ccxt/async_support/coinone.py +1 -1
- ccxt/async_support/coinsph.py +1 -1
- ccxt/async_support/coinspot.py +1 -1
- ccxt/async_support/cryptocom.py +1 -1
- ccxt/async_support/currencycom.py +2 -2
- ccxt/async_support/delta.py +4 -4
- ccxt/async_support/deribit.py +8 -8
- ccxt/async_support/digifinex.py +5 -5
- ccxt/async_support/exmo.py +1 -1
- ccxt/async_support/gate.py +5 -5
- ccxt/async_support/gemini.py +1 -1
- ccxt/async_support/hitbtc.py +3 -3
- ccxt/async_support/hollaex.py +4 -4
- ccxt/async_support/htx.py +4 -4
- ccxt/async_support/huobijp.py +1 -1
- ccxt/async_support/idex.py +1 -1
- ccxt/async_support/independentreserve.py +1 -1
- ccxt/async_support/indodax.py +2 -2
- ccxt/async_support/kraken.py +2 -2
- ccxt/async_support/krakenfutures.py +3 -3
- ccxt/async_support/kucoin.py +3 -3
- ccxt/async_support/kucoinfutures.py +3 -3
- ccxt/async_support/kuna.py +1 -1
- ccxt/async_support/latoken.py +6 -6
- ccxt/async_support/lbank.py +1 -1
- ccxt/async_support/luno.py +1 -1
- ccxt/async_support/lykke.py +1 -1
- ccxt/async_support/mercado.py +1 -1
- ccxt/async_support/mexc.py +7 -7
- ccxt/async_support/ndax.py +1 -1
- ccxt/async_support/novadax.py +3 -4
- ccxt/async_support/okcoin.py +3 -3
- ccxt/async_support/okx.py +27 -10
- ccxt/async_support/onetrading.py +1 -1
- ccxt/async_support/paymium.py +3 -3
- ccxt/async_support/phemex.py +5 -5
- ccxt/async_support/poloniex.py +3 -4
- ccxt/async_support/poloniexfutures.py +1 -1
- ccxt/async_support/probit.py +1 -1
- ccxt/async_support/timex.py +1 -1
- ccxt/async_support/tokocrypto.py +1 -1
- ccxt/async_support/upbit.py +1 -1
- ccxt/async_support/wavesexchange.py +3 -3
- ccxt/async_support/wazirx.py +1 -1
- ccxt/async_support/whitebit.py +2 -2
- ccxt/async_support/woo.py +25 -10
- ccxt/async_support/woofipro.py +2524 -0
- ccxt/async_support/yobit.py +1 -1
- ccxt/async_support/zaif.py +1 -1
- ccxt/async_support/zonda.py +3 -3
- ccxt/base/exchange.py +63 -17
- ccxt/base/types.py +20 -0
- ccxt/bigone.py +4 -4
- ccxt/binance.py +34 -17
- ccxt/bingx.py +4 -4
- ccxt/bit2c.py +1 -1
- ccxt/bitbank.py +1 -1
- ccxt/bitbns.py +1 -1
- ccxt/bitfinex.py +28 -4
- ccxt/bitfinex2.py +62 -54
- ccxt/bitflyer.py +1 -1
- ccxt/bitget.py +8 -11
- ccxt/bithumb.py +1 -1
- ccxt/bitmart.py +8 -8
- ccxt/bitmex.py +2 -2
- ccxt/bitopro.py +1 -1
- ccxt/bitrue.py +3 -3
- ccxt/bitso.py +1 -1
- ccxt/bitstamp.py +3 -5
- ccxt/bitteam.py +1 -1
- ccxt/bitvavo.py +1 -1
- ccxt/bl3p.py +1 -1
- ccxt/blockchaincom.py +1 -1
- ccxt/blofin.py +3 -3
- ccxt/btcalpha.py +1 -1
- ccxt/btcbox.py +1 -1
- ccxt/btcmarkets.py +1 -1
- ccxt/btcturk.py +1 -1
- ccxt/bybit.py +9 -8
- ccxt/cex.py +1 -1
- ccxt/coinbase.py +2 -2
- ccxt/coinbasepro.py +1 -1
- ccxt/coincheck.py +1 -1
- ccxt/coinex.py +320 -520
- ccxt/coinlist.py +6 -7
- ccxt/coinmate.py +1 -1
- ccxt/coinmetro.py +1 -1
- ccxt/coinone.py +1 -1
- ccxt/coinsph.py +1 -1
- ccxt/coinspot.py +1 -1
- ccxt/cryptocom.py +1 -1
- ccxt/currencycom.py +2 -2
- ccxt/delta.py +4 -4
- ccxt/deribit.py +8 -8
- ccxt/digifinex.py +5 -5
- ccxt/exmo.py +1 -1
- ccxt/gate.py +5 -5
- ccxt/gemini.py +1 -1
- ccxt/hitbtc.py +3 -3
- ccxt/hollaex.py +4 -4
- ccxt/htx.py +4 -4
- ccxt/huobijp.py +1 -1
- ccxt/idex.py +1 -1
- ccxt/independentreserve.py +1 -1
- ccxt/indodax.py +2 -2
- ccxt/kraken.py +2 -2
- ccxt/krakenfutures.py +3 -3
- ccxt/kucoin.py +3 -3
- ccxt/kucoinfutures.py +3 -3
- ccxt/kuna.py +1 -1
- ccxt/latoken.py +6 -6
- ccxt/lbank.py +1 -1
- ccxt/luno.py +1 -1
- ccxt/lykke.py +1 -1
- ccxt/mercado.py +1 -1
- ccxt/mexc.py +7 -7
- ccxt/ndax.py +1 -1
- ccxt/novadax.py +3 -4
- ccxt/okcoin.py +3 -3
- ccxt/okx.py +27 -10
- ccxt/onetrading.py +1 -1
- ccxt/paymium.py +3 -3
- ccxt/phemex.py +5 -5
- ccxt/poloniex.py +3 -4
- ccxt/poloniexfutures.py +1 -1
- ccxt/pro/__init__.py +3 -1
- ccxt/pro/bitget.py +127 -190
- ccxt/pro/bitvavo.py +1 -1
- ccxt/pro/bybit.py +4 -3
- ccxt/pro/coinbaseinternational.py +11 -4
- ccxt/pro/okx.py +79 -1
- ccxt/pro/woofipro.py +1183 -0
- ccxt/probit.py +1 -1
- ccxt/test/test_async.py +31 -1
- ccxt/test/test_sync.py +31 -1
- ccxt/timex.py +1 -1
- ccxt/tokocrypto.py +1 -1
- ccxt/upbit.py +1 -1
- ccxt/wavesexchange.py +3 -3
- ccxt/wazirx.py +1 -1
- ccxt/whitebit.py +2 -2
- ccxt/woo.py +25 -10
- ccxt/woofipro.py +2524 -0
- ccxt/yobit.py +1 -1
- ccxt/zaif.py +1 -1
- ccxt/zonda.py +3 -3
- {ccxt-4.3.17.dist-info → ccxt-4.3.19.dist-info}/METADATA +8 -6
- {ccxt-4.3.17.dist-info → ccxt-4.3.19.dist-info}/RECORD +195 -191
- {ccxt-4.3.17.dist-info → ccxt-4.3.19.dist-info}/WHEEL +0 -0
- {ccxt-4.3.17.dist-info → ccxt-4.3.19.dist-info}/top_level.txt +0 -0
ccxt/coinlist.py
CHANGED
@@ -7,7 +7,7 @@ from ccxt.base.exchange import Exchange
|
|
7
7
|
from ccxt.abstract.coinlist import ImplicitAPI
|
8
8
|
import hashlib
|
9
9
|
import math
|
10
|
-
from ccxt.base.types import Account, Balances, Currencies, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFees, Transaction, TransferEntry
|
10
|
+
from ccxt.base.types import Account, Balances, Currencies, Currency, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFees, Transaction, TransferEntry, TransferEntries
|
11
11
|
from typing import List
|
12
12
|
from ccxt.base.errors import ExchangeError
|
13
13
|
from ccxt.base.errors import AuthenticationError
|
@@ -567,7 +567,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
567
567
|
#
|
568
568
|
return self.parse_ticker(ticker, market)
|
569
569
|
|
570
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
570
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
571
571
|
#
|
572
572
|
# {
|
573
573
|
# "type":"spot",
|
@@ -1652,10 +1652,9 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1652
1652
|
"""
|
1653
1653
|
self.load_markets()
|
1654
1654
|
currency = self.currency(code)
|
1655
|
-
amount = self.currency_to_precision(code, amount)
|
1656
1655
|
request = {
|
1657
1656
|
'asset': currency['id'],
|
1658
|
-
'amount': amount,
|
1657
|
+
'amount': self.currency_to_precision(code, amount),
|
1659
1658
|
}
|
1660
1659
|
accountsByType = self.safe_value(self.options, 'accountsByType', {})
|
1661
1660
|
fromAcc = self.safe_string(accountsByType, fromAccount, fromAccount)
|
@@ -1686,7 +1685,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1686
1685
|
transfer = self.parse_transfer(response, currency)
|
1687
1686
|
return transfer
|
1688
1687
|
|
1689
|
-
def fetch_transfers(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
1688
|
+
def fetch_transfers(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> TransferEntries:
|
1690
1689
|
"""
|
1691
1690
|
fetch a history of internal transfers between CoinList.co and CoinList Pro. It does not return external deposits or withdrawals
|
1692
1691
|
:see: https://trade-docs.coinlist.co/?javascript--nodejs#list-transfers
|
@@ -1736,7 +1735,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1736
1735
|
transfers = self.safe_list(response, 'transfers', [])
|
1737
1736
|
return self.parse_transfers(transfers, currency, since, limit)
|
1738
1737
|
|
1739
|
-
def parse_transfer(self, transfer, currency: Currency = None):
|
1738
|
+
def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry:
|
1740
1739
|
#
|
1741
1740
|
# fetchTransfers
|
1742
1741
|
# {
|
@@ -1791,7 +1790,7 @@ class coinlist(Exchange, ImplicitAPI):
|
|
1791
1790
|
'status': self.parse_transfer_status(status),
|
1792
1791
|
}
|
1793
1792
|
|
1794
|
-
def parse_transfer_status(self, status):
|
1793
|
+
def parse_transfer_status(self, status: Str) -> Str:
|
1795
1794
|
statuses = {
|
1796
1795
|
'confirmed': 'ok',
|
1797
1796
|
}
|
ccxt/coinmate.py
CHANGED
@@ -440,7 +440,7 @@ class coinmate(Exchange, ImplicitAPI):
|
|
440
440
|
result[market['symbol']] = ticker
|
441
441
|
return self.filter_by_array_tickers(result, 'symbol', symbols)
|
442
442
|
|
443
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
443
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
444
444
|
#
|
445
445
|
# {
|
446
446
|
# "last": "0.001337",
|
ccxt/coinmetro.py
CHANGED
@@ -856,7 +856,7 @@ class coinmetro(Exchange, ImplicitAPI):
|
|
856
856
|
latestPrices = self.safe_list(response, 'latestPrices', [])
|
857
857
|
return self.parse_tickers(latestPrices, symbols)
|
858
858
|
|
859
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
859
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
860
860
|
#
|
861
861
|
# {
|
862
862
|
# "pair": "PERPUSD",
|
ccxt/coinone.py
CHANGED
@@ -561,7 +561,7 @@ class coinone(Exchange, ImplicitAPI):
|
|
561
561
|
ticker = self.safe_dict(data, 0, {})
|
562
562
|
return self.parse_ticker(ticker, market)
|
563
563
|
|
564
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
564
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
565
565
|
#
|
566
566
|
# {
|
567
567
|
# "quote_currency": "krw",
|
ccxt/coinsph.py
CHANGED
@@ -674,7 +674,7 @@ class coinsph(Exchange, ImplicitAPI):
|
|
674
674
|
ticker = self.publicGetOpenapiQuoteV1Ticker24hr(self.extend(request, params))
|
675
675
|
return self.parse_ticker(ticker, market)
|
676
676
|
|
677
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
677
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
678
678
|
#
|
679
679
|
# publicGetOpenapiQuoteV1Ticker24hr
|
680
680
|
# {
|
ccxt/coinspot.py
CHANGED
@@ -216,7 +216,7 @@ class coinspot(Exchange, ImplicitAPI):
|
|
216
216
|
orderbook = self.privatePostOrders(self.extend(request, params))
|
217
217
|
return self.parse_order_book(orderbook, market['symbol'], None, 'buyorders', 'sellorders', 'rate', 'amount')
|
218
218
|
|
219
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
219
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
220
220
|
#
|
221
221
|
# {
|
222
222
|
# "btc":{
|
ccxt/cryptocom.py
CHANGED
@@ -1759,7 +1759,7 @@ class cryptocom(Exchange, ImplicitAPI):
|
|
1759
1759
|
withdrawalList = self.safe_list(data, 'withdrawal_list', [])
|
1760
1760
|
return self.parse_transactions(withdrawalList, currency, since, limit)
|
1761
1761
|
|
1762
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
1762
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
1763
1763
|
#
|
1764
1764
|
# fetchTicker
|
1765
1765
|
#
|
ccxt/currencycom.py
CHANGED
@@ -780,7 +780,7 @@ class currencycom(Exchange, ImplicitAPI):
|
|
780
780
|
orderbook['nonce'] = self.safe_integer(response, 'lastUpdateId')
|
781
781
|
return orderbook
|
782
782
|
|
783
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
783
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
784
784
|
#
|
785
785
|
# fetchTicker
|
786
786
|
#
|
@@ -1737,7 +1737,7 @@ class currencycom(Exchange, ImplicitAPI):
|
|
1737
1737
|
#
|
1738
1738
|
return self.parse_leverage(response, market)
|
1739
1739
|
|
1740
|
-
def parse_leverage(self, leverage, market=None) -> Leverage:
|
1740
|
+
def parse_leverage(self, leverage: dict, market: Market = None) -> Leverage:
|
1741
1741
|
leverageValue = self.safe_integer(leverage, 'value')
|
1742
1742
|
return {
|
1743
1743
|
'info': leverage,
|
ccxt/delta.py
CHANGED
@@ -805,7 +805,7 @@ class delta(Exchange, ImplicitAPI):
|
|
805
805
|
})
|
806
806
|
return result
|
807
807
|
|
808
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
808
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
809
809
|
#
|
810
810
|
# spot: fetchTicker, fetchTickers
|
811
811
|
#
|
@@ -2739,7 +2739,7 @@ class delta(Exchange, ImplicitAPI):
|
|
2739
2739
|
result = self.safe_dict(response, 'result', {})
|
2740
2740
|
return self.parse_leverage(result, market)
|
2741
2741
|
|
2742
|
-
def parse_leverage(self, leverage, market=None) -> Leverage:
|
2742
|
+
def parse_leverage(self, leverage: dict, market: Market = None) -> Leverage:
|
2743
2743
|
marketId = self.safe_string(leverage, 'index_symbol')
|
2744
2744
|
leverageValue = self.safe_integer(leverage, 'leverage')
|
2745
2745
|
return {
|
@@ -3002,7 +3002,7 @@ class delta(Exchange, ImplicitAPI):
|
|
3002
3002
|
result = self.safe_dict(response, 'result', {})
|
3003
3003
|
return self.parse_greeks(result, market)
|
3004
3004
|
|
3005
|
-
def parse_greeks(self, greeks, market: Market = None):
|
3005
|
+
def parse_greeks(self, greeks: dict, market: Market = None) -> Greeks:
|
3006
3006
|
#
|
3007
3007
|
# {
|
3008
3008
|
# "close": 6793.0,
|
@@ -3258,7 +3258,7 @@ class delta(Exchange, ImplicitAPI):
|
|
3258
3258
|
result = self.safe_dict(response, 'result', {})
|
3259
3259
|
return self.parse_option(result, None, market)
|
3260
3260
|
|
3261
|
-
def parse_option(self, chain, currency: Currency = None, market: Market = None):
|
3261
|
+
def parse_option(self, chain: dict, currency: Currency = None, market: Market = None) -> Option:
|
3262
3262
|
#
|
3263
3263
|
# {
|
3264
3264
|
# "close": 6793.0,
|
ccxt/deribit.py
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.base.exchange import Exchange
|
7
7
|
from ccxt.abstract.deribit import ImplicitAPI
|
8
8
|
import hashlib
|
9
|
-
from ccxt.base.types import Account, Balances, Currencies, Currency, Greeks, Int, Market, MarketInterface, Num, Option, OptionChain, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFees, Transaction, TransferEntry
|
9
|
+
from ccxt.base.types import Account, Balances, Currencies, Currency, Greeks, Int, Market, MarketInterface, Num, Option, OptionChain, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFees, Transaction, TransferEntry, TransferEntries
|
10
10
|
from typing import List
|
11
11
|
from ccxt.base.errors import ExchangeError
|
12
12
|
from ccxt.base.errors import AuthenticationError
|
@@ -1061,7 +1061,7 @@ class deribit(Exchange, ImplicitAPI):
|
|
1061
1061
|
'info': response,
|
1062
1062
|
}
|
1063
1063
|
|
1064
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
1064
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
1065
1065
|
#
|
1066
1066
|
# fetchTicker /public/ticker
|
1067
1067
|
#
|
@@ -2604,7 +2604,7 @@ class deribit(Exchange, ImplicitAPI):
|
|
2604
2604
|
})
|
2605
2605
|
return result
|
2606
2606
|
|
2607
|
-
def fetch_transfers(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
2607
|
+
def fetch_transfers(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> TransferEntries:
|
2608
2608
|
"""
|
2609
2609
|
fetch a history of internal transfers made on an account
|
2610
2610
|
:see: https://docs.deribit.com/#private-get_transfers
|
@@ -2710,7 +2710,7 @@ class deribit(Exchange, ImplicitAPI):
|
|
2710
2710
|
result = self.safe_dict(response, 'result', {})
|
2711
2711
|
return self.parse_transfer(result, currency)
|
2712
2712
|
|
2713
|
-
def parse_transfer(self, transfer, currency: Currency = None):
|
2713
|
+
def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry:
|
2714
2714
|
#
|
2715
2715
|
# {
|
2716
2716
|
# "updated_timestamp": 1550232862350,
|
@@ -2734,14 +2734,14 @@ class deribit(Exchange, ImplicitAPI):
|
|
2734
2734
|
'id': self.safe_string(transfer, 'id'),
|
2735
2735
|
'status': self.parse_transfer_status(status),
|
2736
2736
|
'amount': self.safe_number(transfer, 'amount'),
|
2737
|
-
'
|
2737
|
+
'currency': self.safe_currency_code(currencyId, currency),
|
2738
2738
|
'fromAccount': direction != account if 'payment' else None,
|
2739
2739
|
'toAccount': direction == account if 'payment' else None,
|
2740
2740
|
'timestamp': timestamp,
|
2741
2741
|
'datetime': self.iso8601(timestamp),
|
2742
2742
|
}
|
2743
2743
|
|
2744
|
-
def parse_transfer_status(self, status):
|
2744
|
+
def parse_transfer_status(self, status: Str) -> Str:
|
2745
2745
|
statuses = {
|
2746
2746
|
'prepared': 'pending',
|
2747
2747
|
'confirmed': 'ok',
|
@@ -3172,7 +3172,7 @@ class deribit(Exchange, ImplicitAPI):
|
|
3172
3172
|
result = self.safe_value(response, 'result', {})
|
3173
3173
|
return self.parse_greeks(result, market)
|
3174
3174
|
|
3175
|
-
def parse_greeks(self, greeks, market: Market = None):
|
3175
|
+
def parse_greeks(self, greeks: dict, market: Market = None) -> Greeks:
|
3176
3176
|
#
|
3177
3177
|
# {
|
3178
3178
|
# "estimated_delivery_price": 36552.72,
|
@@ -3338,7 +3338,7 @@ class deribit(Exchange, ImplicitAPI):
|
|
3338
3338
|
result = self.safe_list(response, 'result', [])
|
3339
3339
|
return self.parse_option_chain(result, 'base_currency', 'instrument_name')
|
3340
3340
|
|
3341
|
-
def parse_option(self, chain, currency: Currency = None, market: Market = None):
|
3341
|
+
def parse_option(self, chain: dict, currency: Currency = None, market: Market = None) -> Option:
|
3342
3342
|
#
|
3343
3343
|
# {
|
3344
3344
|
# "mid_price": 0.04025,
|
ccxt/digifinex.py
CHANGED
@@ -7,7 +7,7 @@ from ccxt.base.exchange import Exchange
|
|
7
7
|
from ccxt.abstract.digifinex import ImplicitAPI
|
8
8
|
import hashlib
|
9
9
|
import json
|
10
|
-
from ccxt.base.types import Balances, CrossBorrowRate, CrossBorrowRates, Currencies, Currency, Int, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, Transaction, TransferEntry
|
10
|
+
from ccxt.base.types import Balances, CrossBorrowRate, CrossBorrowRates, Currencies, Currency, Int, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, Transaction, TransferEntry, TransferEntries
|
11
11
|
from typing import List
|
12
12
|
from ccxt.base.errors import ExchangeError
|
13
13
|
from ccxt.base.errors import AuthenticationError
|
@@ -1094,7 +1094,7 @@ class digifinex(Exchange, ImplicitAPI):
|
|
1094
1094
|
result = self.extend({'date': date}, firstTicker)
|
1095
1095
|
return self.parse_ticker(result, market)
|
1096
1096
|
|
1097
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
1097
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
1098
1098
|
#
|
1099
1099
|
# spot: fetchTicker, fetchTickers
|
1100
1100
|
#
|
@@ -2679,13 +2679,13 @@ class digifinex(Exchange, ImplicitAPI):
|
|
2679
2679
|
'fee': fee,
|
2680
2680
|
}
|
2681
2681
|
|
2682
|
-
def parse_transfer_status(self, status):
|
2682
|
+
def parse_transfer_status(self, status: Str) -> Str:
|
2683
2683
|
statuses = {
|
2684
2684
|
'0': 'ok',
|
2685
2685
|
}
|
2686
2686
|
return self.safe_string(statuses, status, status)
|
2687
2687
|
|
2688
|
-
def parse_transfer(self, transfer, currency: Currency = None):
|
2688
|
+
def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry:
|
2689
2689
|
#
|
2690
2690
|
# transfer
|
2691
2691
|
#
|
@@ -3438,7 +3438,7 @@ class digifinex(Exchange, ImplicitAPI):
|
|
3438
3438
|
# }
|
3439
3439
|
#
|
3440
3440
|
|
3441
|
-
def fetch_transfers(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
3441
|
+
def fetch_transfers(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> TransferEntries:
|
3442
3442
|
"""
|
3443
3443
|
fetch the transfer history, only transfers between spot and swap accounts are supported
|
3444
3444
|
:see: https://docs.digifinex.com/en-ww/swap/v2/rest.html#transferrecord
|
ccxt/exmo.py
CHANGED
@@ -1010,7 +1010,7 @@ class exmo(Exchange, ImplicitAPI):
|
|
1010
1010
|
result[symbol] = self.parse_order_book(response[marketId], symbol, None, 'bid', 'ask')
|
1011
1011
|
return result
|
1012
1012
|
|
1013
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
1013
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
1014
1014
|
#
|
1015
1015
|
# {
|
1016
1016
|
# "buy_price":"0.00002996",
|
ccxt/gate.py
CHANGED
@@ -2382,7 +2382,7 @@ class gate(Exchange, ImplicitAPI):
|
|
2382
2382
|
ticker = self.safe_value(response, 0)
|
2383
2383
|
return self.parse_ticker(ticker, market)
|
2384
2384
|
|
2385
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
2385
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
2386
2386
|
#
|
2387
2387
|
# SPOT
|
2388
2388
|
#
|
@@ -4802,7 +4802,7 @@ class gate(Exchange, ImplicitAPI):
|
|
4802
4802
|
#
|
4803
4803
|
return self.parse_transfer(response, currency)
|
4804
4804
|
|
4805
|
-
def parse_transfer(self, transfer, currency: Currency = None):
|
4805
|
+
def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry:
|
4806
4806
|
#
|
4807
4807
|
# {
|
4808
4808
|
# "currency": "BTC",
|
@@ -6489,7 +6489,7 @@ class gate(Exchange, ImplicitAPI):
|
|
6489
6489
|
return self.parse_greeks(entry, market)
|
6490
6490
|
return None
|
6491
6491
|
|
6492
|
-
def parse_greeks(self, greeks, market: Market = None):
|
6492
|
+
def parse_greeks(self, greeks: dict, market: Market = None) -> Greeks:
|
6493
6493
|
#
|
6494
6494
|
# {
|
6495
6495
|
# "vega": "1.78992",
|
@@ -6702,7 +6702,7 @@ class gate(Exchange, ImplicitAPI):
|
|
6702
6702
|
#
|
6703
6703
|
return self.parse_leverages(response, symbols, marketIdRequest, 'spot')
|
6704
6704
|
|
6705
|
-
def parse_leverage(self, leverage, market=None) -> Leverage:
|
6705
|
+
def parse_leverage(self, leverage: dict, market: Market = None) -> Leverage:
|
6706
6706
|
marketId = self.safe_string_2(leverage, 'currency_pair', 'id')
|
6707
6707
|
leverageValue = self.safe_integer(leverage, 'leverage')
|
6708
6708
|
return {
|
@@ -6829,7 +6829,7 @@ class gate(Exchange, ImplicitAPI):
|
|
6829
6829
|
#
|
6830
6830
|
return self.parse_option_chain(response, None, 'name')
|
6831
6831
|
|
6832
|
-
def parse_option(self, chain, currency: Currency = None, market: Market = None):
|
6832
|
+
def parse_option(self, chain: dict, currency: Currency = None, market: Market = None) -> Option:
|
6833
6833
|
#
|
6834
6834
|
# {
|
6835
6835
|
# "is_active": True,
|
ccxt/gemini.py
CHANGED
@@ -841,7 +841,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
841
841
|
return self.fetch_ticker_v2(symbol, params)
|
842
842
|
return self.fetch_ticker_v1_and_v2(symbol, params)
|
843
843
|
|
844
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
844
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
845
845
|
#
|
846
846
|
# fetchTickers
|
847
847
|
#
|
ccxt/hitbtc.py
CHANGED
@@ -1104,7 +1104,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
1104
1104
|
result[symbol] = self.parse_ticker(entry, market)
|
1105
1105
|
return self.filter_by_array_tickers(result, 'symbol', symbols)
|
1106
1106
|
|
1107
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
1107
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
1108
1108
|
#
|
1109
1109
|
# {
|
1110
1110
|
# "ask": "62756.01",
|
@@ -2448,7 +2448,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
2448
2448
|
#
|
2449
2449
|
return self.parse_transfer(response, currency)
|
2450
2450
|
|
2451
|
-
def parse_transfer(self, transfer, currency: Currency = None):
|
2451
|
+
def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry:
|
2452
2452
|
#
|
2453
2453
|
# transfer
|
2454
2454
|
#
|
@@ -3187,7 +3187,7 @@ class hitbtc(Exchange, ImplicitAPI):
|
|
3187
3187
|
#
|
3188
3188
|
return self.parse_leverage(response, market)
|
3189
3189
|
|
3190
|
-
def parse_leverage(self, leverage, market=None) -> Leverage:
|
3190
|
+
def parse_leverage(self, leverage: dict, market: Market = None) -> Leverage:
|
3191
3191
|
marketId = self.safe_string(leverage, 'symbol')
|
3192
3192
|
leverageValue = self.safe_integer(leverage, 'leverage')
|
3193
3193
|
return {
|
ccxt/hollaex.py
CHANGED
@@ -527,19 +527,19 @@ class hollaex(Exchange, ImplicitAPI):
|
|
527
527
|
#
|
528
528
|
return self.parse_tickers(response, symbols)
|
529
529
|
|
530
|
-
def parse_tickers(self,
|
530
|
+
def parse_tickers(self, tickers, symbols: Strings = None, params={}) -> Tickers:
|
531
531
|
result = {}
|
532
|
-
keys = list(
|
532
|
+
keys = list(tickers.keys())
|
533
533
|
for i in range(0, len(keys)):
|
534
534
|
key = keys[i]
|
535
|
-
ticker =
|
535
|
+
ticker = tickers[key]
|
536
536
|
marketId = self.safe_string(ticker, 'symbol', key)
|
537
537
|
market = self.safe_market(marketId, None, '-')
|
538
538
|
symbol = market['symbol']
|
539
539
|
result[symbol] = self.extend(self.parse_ticker(ticker, market), params)
|
540
540
|
return self.filter_by_array_tickers(result, 'symbol', symbols)
|
541
541
|
|
542
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
542
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
543
543
|
#
|
544
544
|
# fetchTicker
|
545
545
|
#
|
ccxt/htx.py
CHANGED
@@ -1930,7 +1930,7 @@ class htx(Exchange, ImplicitAPI):
|
|
1930
1930
|
self.options['futureMarketIdsForSymbols'][symbolOrMarketId] = symbolOrMarketId
|
1931
1931
|
return symbolOrMarketId
|
1932
1932
|
|
1933
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
1933
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
1934
1934
|
#
|
1935
1935
|
# fetchTicker
|
1936
1936
|
#
|
@@ -3123,7 +3123,7 @@ class htx(Exchange, ImplicitAPI):
|
|
3123
3123
|
}
|
3124
3124
|
return result
|
3125
3125
|
|
3126
|
-
def network_id_to_code(self, networkId, currencyCode=None):
|
3126
|
+
def network_id_to_code(self, networkId: Str = None, currencyCode: Str = None):
|
3127
3127
|
# here network-id is provided pair of currency & chain(i.e. trc20usdt)
|
3128
3128
|
keys = list(self.options['networkNamesByChainIds'].keys())
|
3129
3129
|
keysLength = len(keys)
|
@@ -3132,7 +3132,7 @@ class htx(Exchange, ImplicitAPI):
|
|
3132
3132
|
networkTitle = self.safe_value(self.options['networkNamesByChainIds'], networkId, networkId)
|
3133
3133
|
return super(htx, self).network_id_to_code(networkTitle)
|
3134
3134
|
|
3135
|
-
def network_code_to_id(self, networkCode, currencyCode=None):
|
3135
|
+
def network_code_to_id(self, networkCode: str, currencyCode: Str = None):
|
3136
3136
|
if currencyCode is None:
|
3137
3137
|
raise ArgumentsRequired(self.id + ' networkCodeToId() requires a currencyCode argument')
|
3138
3138
|
keys = list(self.options['networkChainIdsByNames'].keys())
|
@@ -6030,7 +6030,7 @@ class htx(Exchange, ImplicitAPI):
|
|
6030
6030
|
#
|
6031
6031
|
return self.parse_transaction(response, currency)
|
6032
6032
|
|
6033
|
-
def parse_transfer(self, transfer, currency: Currency = None):
|
6033
|
+
def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry:
|
6034
6034
|
#
|
6035
6035
|
# transfer
|
6036
6036
|
#
|
ccxt/huobijp.py
CHANGED
ccxt/idex.py
CHANGED
@@ -402,7 +402,7 @@ class idex(Exchange, ImplicitAPI):
|
|
402
402
|
response = self.publicGetTickers(params)
|
403
403
|
return self.parse_tickers(response, symbols)
|
404
404
|
|
405
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
405
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
406
406
|
# {
|
407
407
|
# "market": "DIL-ETH",
|
408
408
|
# "time": 1598367493008,
|
ccxt/independentreserve.py
CHANGED
@@ -265,7 +265,7 @@ class independentreserve(Exchange, ImplicitAPI):
|
|
265
265
|
timestamp = self.parse8601(self.safe_string(response, 'CreatedTimestampUtc'))
|
266
266
|
return self.parse_order_book(response, market['symbol'], timestamp, 'BuyOrders', 'SellOrders', 'Price', 'Volume')
|
267
267
|
|
268
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
268
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
269
269
|
# {
|
270
270
|
# "DayHighestPrice":43489.49,
|
271
271
|
# "DayLowestPrice":41998.32,
|
ccxt/indodax.py
CHANGED
@@ -407,7 +407,7 @@ class indodax(Exchange, ImplicitAPI):
|
|
407
407
|
orderbook = self.publicGetApiDepthPair(self.extend(request, params))
|
408
408
|
return self.parse_order_book(orderbook, market['symbol'], None, 'buy', 'sell')
|
409
409
|
|
410
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
410
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
411
411
|
#
|
412
412
|
# {
|
413
413
|
# "high":"0.01951",
|
@@ -505,7 +505,7 @@ class indodax(Exchange, ImplicitAPI):
|
|
505
505
|
# }
|
506
506
|
#
|
507
507
|
response = self.publicGetApiTickerAll(params)
|
508
|
-
tickers = self.
|
508
|
+
tickers = self.safe_dict(response, 'tickers', {})
|
509
509
|
return self.parse_tickers(tickers, symbols)
|
510
510
|
|
511
511
|
def parse_trade(self, trade, market: Market = None) -> Trade:
|
ccxt/kraken.py
CHANGED
@@ -818,7 +818,7 @@ class kraken(Exchange, ImplicitAPI):
|
|
818
818
|
orderbook = self.safe_value(result, wsName, orderbook)
|
819
819
|
return self.parse_order_book(orderbook, symbol)
|
820
820
|
|
821
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
821
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
822
822
|
#
|
823
823
|
# {
|
824
824
|
# "a":["2432.77000","1","1.000"],
|
@@ -2730,7 +2730,7 @@ class kraken(Exchange, ImplicitAPI):
|
|
2730
2730
|
'toAccount': toAccount,
|
2731
2731
|
})
|
2732
2732
|
|
2733
|
-
def parse_transfer(self, transfer, currency: Currency = None):
|
2733
|
+
def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry:
|
2734
2734
|
#
|
2735
2735
|
# transfer
|
2736
2736
|
#
|
ccxt/krakenfutures.py
CHANGED
@@ -541,7 +541,7 @@ class krakenfutures(Exchange, ImplicitAPI):
|
|
541
541
|
tickers = self.safe_list(response, 'tickers')
|
542
542
|
return self.parse_tickers(tickers, symbols)
|
543
543
|
|
544
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
544
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
545
545
|
#
|
546
546
|
# {
|
547
547
|
# "tag": 'semiannual', # 'month', 'quarter', "perpetual", "semiannual",
|
@@ -2308,7 +2308,7 @@ class krakenfutures(Exchange, ImplicitAPI):
|
|
2308
2308
|
})
|
2309
2309
|
return tiers
|
2310
2310
|
|
2311
|
-
def parse_transfer(self, transfer, currency: Currency = None):
|
2311
|
+
def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry:
|
2312
2312
|
#
|
2313
2313
|
# transfer
|
2314
2314
|
#
|
@@ -2480,7 +2480,7 @@ class krakenfutures(Exchange, ImplicitAPI):
|
|
2480
2480
|
data = self.safe_dict(leveragePreferences, 0, {})
|
2481
2481
|
return self.parse_leverage(data, market)
|
2482
2482
|
|
2483
|
-
def parse_leverage(self, leverage, market=None) -> Leverage:
|
2483
|
+
def parse_leverage(self, leverage: dict, market: Market = None) -> Leverage:
|
2484
2484
|
marketId = self.safe_string(leverage, 'symbol')
|
2485
2485
|
leverageValue = self.safe_integer(leverage, 'maxLeverage')
|
2486
2486
|
return {
|
ccxt/kucoin.py
CHANGED
@@ -1465,7 +1465,7 @@ class kucoin(Exchange, ImplicitAPI):
|
|
1465
1465
|
params = self.omit(params, 'type')
|
1466
1466
|
return(type == 'contract') or (type == 'future') or (type == 'futures') # * (type == 'futures') deprecated, use(type == 'future')
|
1467
1467
|
|
1468
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
1468
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
1469
1469
|
#
|
1470
1470
|
# {
|
1471
1471
|
# "symbol": "BTC-USDT", # symbol
|
@@ -3624,7 +3624,7 @@ class kucoin(Exchange, ImplicitAPI):
|
|
3624
3624
|
data = self.safe_dict(response, 'data')
|
3625
3625
|
return self.parse_transfer(data, currency)
|
3626
3626
|
|
3627
|
-
def parse_transfer(self, transfer, currency: Currency = None):
|
3627
|
+
def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry:
|
3628
3628
|
#
|
3629
3629
|
# transfer(spot)
|
3630
3630
|
#
|
@@ -3679,7 +3679,7 @@ class kucoin(Exchange, ImplicitAPI):
|
|
3679
3679
|
'info': transfer,
|
3680
3680
|
}
|
3681
3681
|
|
3682
|
-
def parse_transfer_status(self, status):
|
3682
|
+
def parse_transfer_status(self, status: Str) -> Str:
|
3683
3683
|
statuses = {
|
3684
3684
|
'PROCESSING': 'pending',
|
3685
3685
|
}
|
ccxt/kucoinfutures.py
CHANGED
@@ -818,7 +818,7 @@ class kucoinfutures(kucoin, ImplicitAPI):
|
|
818
818
|
tickers = self.parse_tickers(data, symbols)
|
819
819
|
return self.filter_by_array_tickers(tickers, 'symbol', symbols)
|
820
820
|
|
821
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
821
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
822
822
|
#
|
823
823
|
# {
|
824
824
|
# "code": "200000",
|
@@ -2146,7 +2146,7 @@ class kucoinfutures(kucoin, ImplicitAPI):
|
|
2146
2146
|
'toAccount': 'spot',
|
2147
2147
|
})
|
2148
2148
|
|
2149
|
-
def parse_transfer(self, transfer, currency: Currency = None):
|
2149
|
+
def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry:
|
2150
2150
|
#
|
2151
2151
|
# transfer
|
2152
2152
|
#
|
@@ -2167,7 +2167,7 @@ class kucoinfutures(kucoin, ImplicitAPI):
|
|
2167
2167
|
'info': transfer,
|
2168
2168
|
}
|
2169
2169
|
|
2170
|
-
def parse_transfer_status(self, status):
|
2170
|
+
def parse_transfer_status(self, status: Str) -> Str:
|
2171
2171
|
statuses = {
|
2172
2172
|
'PROCESSING': 'pending',
|
2173
2173
|
}
|
ccxt/kuna.py
CHANGED
@@ -653,7 +653,7 @@ class kuna(Exchange, ImplicitAPI):
|
|
653
653
|
data = self.safe_dict(response, 'data', {})
|
654
654
|
return self.parse_order_book(data, market['symbol'], None, 'bids', 'asks', 0, 1)
|
655
655
|
|
656
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
656
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
657
657
|
#
|
658
658
|
# {
|
659
659
|
# "pair": "BTC_USDT", # Traded pair
|