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/async_support/coinlist.py
CHANGED
@@ -7,7 +7,7 @@ from ccxt.async_support.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
|
await 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
|
-
async def fetch_transfers(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
1688
|
+
async 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/async_support/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/async_support/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/async_support/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/async_support/coinsph.py
CHANGED
@@ -674,7 +674,7 @@ class coinsph(Exchange, ImplicitAPI):
|
|
674
674
|
ticker = await 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/async_support/coinspot.py
CHANGED
@@ -216,7 +216,7 @@ class coinspot(Exchange, ImplicitAPI):
|
|
216
216
|
orderbook = await 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/async_support/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
|
#
|
@@ -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/async_support/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/async_support/deribit.py
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
from ccxt.async_support.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
|
-
async def fetch_transfers(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
2607
|
+
async 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/async_support/digifinex.py
CHANGED
@@ -8,7 +8,7 @@ from ccxt.abstract.digifinex import ImplicitAPI
|
|
8
8
|
import asyncio
|
9
9
|
import hashlib
|
10
10
|
import json
|
11
|
-
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
|
11
|
+
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
|
12
12
|
from typing import List
|
13
13
|
from ccxt.base.errors import ExchangeError
|
14
14
|
from ccxt.base.errors import AuthenticationError
|
@@ -1095,7 +1095,7 @@ class digifinex(Exchange, ImplicitAPI):
|
|
1095
1095
|
result = self.extend({'date': date}, firstTicker)
|
1096
1096
|
return self.parse_ticker(result, market)
|
1097
1097
|
|
1098
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
1098
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
1099
1099
|
#
|
1100
1100
|
# spot: fetchTicker, fetchTickers
|
1101
1101
|
#
|
@@ -2680,13 +2680,13 @@ class digifinex(Exchange, ImplicitAPI):
|
|
2680
2680
|
'fee': fee,
|
2681
2681
|
}
|
2682
2682
|
|
2683
|
-
def parse_transfer_status(self, status):
|
2683
|
+
def parse_transfer_status(self, status: Str) -> Str:
|
2684
2684
|
statuses = {
|
2685
2685
|
'0': 'ok',
|
2686
2686
|
}
|
2687
2687
|
return self.safe_string(statuses, status, status)
|
2688
2688
|
|
2689
|
-
def parse_transfer(self, transfer, currency: Currency = None):
|
2689
|
+
def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry:
|
2690
2690
|
#
|
2691
2691
|
# transfer
|
2692
2692
|
#
|
@@ -3439,7 +3439,7 @@ class digifinex(Exchange, ImplicitAPI):
|
|
3439
3439
|
# }
|
3440
3440
|
#
|
3441
3441
|
|
3442
|
-
async def fetch_transfers(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
|
3442
|
+
async def fetch_transfers(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> TransferEntries:
|
3443
3443
|
"""
|
3444
3444
|
fetch the transfer history, only transfers between spot and swap accounts are supported
|
3445
3445
|
:see: https://docs.digifinex.com/en-ww/swap/v2/rest.html#transferrecord
|
ccxt/async_support/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/async_support/gate.py
CHANGED
@@ -2383,7 +2383,7 @@ class gate(Exchange, ImplicitAPI):
|
|
2383
2383
|
ticker = self.safe_value(response, 0)
|
2384
2384
|
return self.parse_ticker(ticker, market)
|
2385
2385
|
|
2386
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
2386
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
2387
2387
|
#
|
2388
2388
|
# SPOT
|
2389
2389
|
#
|
@@ -4803,7 +4803,7 @@ class gate(Exchange, ImplicitAPI):
|
|
4803
4803
|
#
|
4804
4804
|
return self.parse_transfer(response, currency)
|
4805
4805
|
|
4806
|
-
def parse_transfer(self, transfer, currency: Currency = None):
|
4806
|
+
def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry:
|
4807
4807
|
#
|
4808
4808
|
# {
|
4809
4809
|
# "currency": "BTC",
|
@@ -6490,7 +6490,7 @@ class gate(Exchange, ImplicitAPI):
|
|
6490
6490
|
return self.parse_greeks(entry, market)
|
6491
6491
|
return None
|
6492
6492
|
|
6493
|
-
def parse_greeks(self, greeks, market: Market = None):
|
6493
|
+
def parse_greeks(self, greeks: dict, market: Market = None) -> Greeks:
|
6494
6494
|
#
|
6495
6495
|
# {
|
6496
6496
|
# "vega": "1.78992",
|
@@ -6703,7 +6703,7 @@ class gate(Exchange, ImplicitAPI):
|
|
6703
6703
|
#
|
6704
6704
|
return self.parse_leverages(response, symbols, marketIdRequest, 'spot')
|
6705
6705
|
|
6706
|
-
def parse_leverage(self, leverage, market=None) -> Leverage:
|
6706
|
+
def parse_leverage(self, leverage: dict, market: Market = None) -> Leverage:
|
6707
6707
|
marketId = self.safe_string_2(leverage, 'currency_pair', 'id')
|
6708
6708
|
leverageValue = self.safe_integer(leverage, 'leverage')
|
6709
6709
|
return {
|
@@ -6830,7 +6830,7 @@ class gate(Exchange, ImplicitAPI):
|
|
6830
6830
|
#
|
6831
6831
|
return self.parse_option_chain(response, None, 'name')
|
6832
6832
|
|
6833
|
-
def parse_option(self, chain, currency: Currency = None, market: Market = None):
|
6833
|
+
def parse_option(self, chain: dict, currency: Currency = None, market: Market = None) -> Option:
|
6834
6834
|
#
|
6835
6835
|
# {
|
6836
6836
|
# "is_active": True,
|
ccxt/async_support/gemini.py
CHANGED
@@ -842,7 +842,7 @@ class gemini(Exchange, ImplicitAPI):
|
|
842
842
|
return await self.fetch_ticker_v2(symbol, params)
|
843
843
|
return await self.fetch_ticker_v1_and_v2(symbol, params)
|
844
844
|
|
845
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
845
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
846
846
|
#
|
847
847
|
# fetchTickers
|
848
848
|
#
|
ccxt/async_support/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/async_support/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/async_support/htx.py
CHANGED
@@ -1931,7 +1931,7 @@ class htx(Exchange, ImplicitAPI):
|
|
1931
1931
|
self.options['futureMarketIdsForSymbols'][symbolOrMarketId] = symbolOrMarketId
|
1932
1932
|
return symbolOrMarketId
|
1933
1933
|
|
1934
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
1934
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
1935
1935
|
#
|
1936
1936
|
# fetchTicker
|
1937
1937
|
#
|
@@ -3124,7 +3124,7 @@ class htx(Exchange, ImplicitAPI):
|
|
3124
3124
|
}
|
3125
3125
|
return result
|
3126
3126
|
|
3127
|
-
def network_id_to_code(self, networkId, currencyCode=None):
|
3127
|
+
def network_id_to_code(self, networkId: Str = None, currencyCode: Str = None):
|
3128
3128
|
# here network-id is provided pair of currency & chain(i.e. trc20usdt)
|
3129
3129
|
keys = list(self.options['networkNamesByChainIds'].keys())
|
3130
3130
|
keysLength = len(keys)
|
@@ -3133,7 +3133,7 @@ class htx(Exchange, ImplicitAPI):
|
|
3133
3133
|
networkTitle = self.safe_value(self.options['networkNamesByChainIds'], networkId, networkId)
|
3134
3134
|
return super(htx, self).network_id_to_code(networkTitle)
|
3135
3135
|
|
3136
|
-
def network_code_to_id(self, networkCode, currencyCode=None):
|
3136
|
+
def network_code_to_id(self, networkCode: str, currencyCode: Str = None):
|
3137
3137
|
if currencyCode is None:
|
3138
3138
|
raise ArgumentsRequired(self.id + ' networkCodeToId() requires a currencyCode argument')
|
3139
3139
|
keys = list(self.options['networkChainIdsByNames'].keys())
|
@@ -6031,7 +6031,7 @@ class htx(Exchange, ImplicitAPI):
|
|
6031
6031
|
#
|
6032
6032
|
return self.parse_transaction(response, currency)
|
6033
6033
|
|
6034
|
-
def parse_transfer(self, transfer, currency: Currency = None):
|
6034
|
+
def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry:
|
6035
6035
|
#
|
6036
6036
|
# transfer
|
6037
6037
|
#
|
ccxt/async_support/huobijp.py
CHANGED
ccxt/async_support/idex.py
CHANGED
@@ -402,7 +402,7 @@ class idex(Exchange, ImplicitAPI):
|
|
402
402
|
response = await 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,
|
@@ -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/async_support/indodax.py
CHANGED
@@ -407,7 +407,7 @@ class indodax(Exchange, ImplicitAPI):
|
|
407
407
|
orderbook = await 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 = await 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/async_support/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
|
#
|
@@ -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/async_support/kucoin.py
CHANGED
@@ -1466,7 +1466,7 @@ class kucoin(Exchange, ImplicitAPI):
|
|
1466
1466
|
params = self.omit(params, 'type')
|
1467
1467
|
return(type == 'contract') or (type == 'future') or (type == 'futures') # * (type == 'futures') deprecated, use(type == 'future')
|
1468
1468
|
|
1469
|
-
def parse_ticker(self, ticker, market: Market = None) -> Ticker:
|
1469
|
+
def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
|
1470
1470
|
#
|
1471
1471
|
# {
|
1472
1472
|
# "symbol": "BTC-USDT", # symbol
|
@@ -3625,7 +3625,7 @@ class kucoin(Exchange, ImplicitAPI):
|
|
3625
3625
|
data = self.safe_dict(response, 'data')
|
3626
3626
|
return self.parse_transfer(data, currency)
|
3627
3627
|
|
3628
|
-
def parse_transfer(self, transfer, currency: Currency = None):
|
3628
|
+
def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry:
|
3629
3629
|
#
|
3630
3630
|
# transfer(spot)
|
3631
3631
|
#
|
@@ -3680,7 +3680,7 @@ class kucoin(Exchange, ImplicitAPI):
|
|
3680
3680
|
'info': transfer,
|
3681
3681
|
}
|
3682
3682
|
|
3683
|
-
def parse_transfer_status(self, status):
|
3683
|
+
def parse_transfer_status(self, status: Str) -> Str:
|
3684
3684
|
statuses = {
|
3685
3685
|
'PROCESSING': 'pending',
|
3686
3686
|
}
|
@@ -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/async_support/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
|