ccxt 4.3.74__py2.py3-none-any.whl → 4.3.75__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ccxt might be problematic. Click here for more details.
- ccxt/__init__.py +1 -1
- ccxt/abstract/bybit.py +1 -0
- ccxt/async_support/__init__.py +1 -1
- ccxt/async_support/base/exchange.py +1 -1
- ccxt/async_support/binance.py +1 -1
- ccxt/async_support/bybit.py +30 -5
- ccxt/async_support/mexc.py +1 -1
- ccxt/async_support/whitebit.py +17 -2
- ccxt/base/exchange.py +1 -1
- ccxt/binance.py +1 -1
- ccxt/bybit.py +30 -5
- ccxt/mexc.py +1 -1
- ccxt/pro/__init__.py +1 -1
- ccxt/whitebit.py +17 -2
- {ccxt-4.3.74.dist-info → ccxt-4.3.75.dist-info}/METADATA +4 -4
- {ccxt-4.3.74.dist-info → ccxt-4.3.75.dist-info}/RECORD +19 -19
- {ccxt-4.3.74.dist-info → ccxt-4.3.75.dist-info}/LICENSE.txt +0 -0
- {ccxt-4.3.74.dist-info → ccxt-4.3.75.dist-info}/WHEEL +0 -0
- {ccxt-4.3.74.dist-info → ccxt-4.3.75.dist-info}/top_level.txt +0 -0
ccxt/__init__.py
CHANGED
ccxt/abstract/bybit.py
CHANGED
@@ -53,6 +53,7 @@ class ImplicitAPI:
|
|
53
53
|
public_get_v5_spot_cross_margin_trade_borrow_token = publicGetV5SpotCrossMarginTradeBorrowToken = Entry('v5/spot-cross-margin-trade/borrow-token', 'public', 'GET', {'cost': 5})
|
54
54
|
public_get_v5_ins_loan_product_infos = publicGetV5InsLoanProductInfos = Entry('v5/ins-loan/product-infos', 'public', 'GET', {'cost': 5})
|
55
55
|
public_get_v5_ins_loan_ensure_tokens_convert = publicGetV5InsLoanEnsureTokensConvert = Entry('v5/ins-loan/ensure-tokens-convert', 'public', 'GET', {'cost': 5})
|
56
|
+
private_get_v5_market_instruments_info = privateGetV5MarketInstrumentsInfo = Entry('v5/market/instruments-info', 'private', 'GET', {'cost': 5})
|
56
57
|
private_get_v2_private_wallet_fund_records = privateGetV2PrivateWalletFundRecords = Entry('v2/private/wallet/fund/records', 'private', 'GET', {'cost': 25})
|
57
58
|
private_get_spot_v3_private_order = privateGetSpotV3PrivateOrder = Entry('spot/v3/private/order', 'private', 'GET', {'cost': 2.5})
|
58
59
|
private_get_spot_v3_private_open_orders = privateGetSpotV3PrivateOpenOrders = Entry('spot/v3/private/open-orders', 'private', 'GET', {'cost': 2.5})
|
ccxt/async_support/__init__.py
CHANGED
ccxt/async_support/binance.py
CHANGED
@@ -9123,7 +9123,7 @@ class binance(Exchange, ImplicitAPI):
|
|
9123
9123
|
liquidationPrice = self.parse_number(liquidationPriceString)
|
9124
9124
|
collateralString = None
|
9125
9125
|
marginMode = self.safe_string(position, 'marginType')
|
9126
|
-
if marginMode is None and isolatedMarginString:
|
9126
|
+
if marginMode is None and isolatedMarginString is not None:
|
9127
9127
|
marginMode = 'cross' if Precise.string_eq(isolatedMarginString, '0') else 'isolated'
|
9128
9128
|
side = None
|
9129
9129
|
if Precise.string_gt(notionalString, '0'):
|
ccxt/async_support/bybit.py
CHANGED
@@ -255,6 +255,7 @@ class bybit(Exchange, ImplicitAPI):
|
|
255
255
|
},
|
256
256
|
'private': {
|
257
257
|
'get': {
|
258
|
+
'v5/market/instruments-info': 5,
|
258
259
|
# Legacy inverse swap
|
259
260
|
'v2/private/wallet/fund/records': 25, # 120 per minute = 2 per second => cost = 50 / 2 = 25
|
260
261
|
# spot
|
@@ -1000,6 +1001,7 @@ class bybit(Exchange, ImplicitAPI):
|
|
1000
1001
|
},
|
1001
1002
|
'precisionMode': TICK_SIZE,
|
1002
1003
|
'options': {
|
1004
|
+
'usePrivateInstrumentsInfo': False,
|
1003
1005
|
'sandboxMode': False,
|
1004
1006
|
'enableDemoTrading': False,
|
1005
1007
|
'fetchMarkets': ['spot', 'linear', 'inverse', 'option'],
|
@@ -1458,7 +1460,12 @@ class bybit(Exchange, ImplicitAPI):
|
|
1458
1460
|
request: dict = {
|
1459
1461
|
'category': 'spot',
|
1460
1462
|
}
|
1461
|
-
|
1463
|
+
usePrivateInstrumentsInfo = self.safe_bool(self.options, 'usePrivateInstrumentsInfo', False)
|
1464
|
+
response: dict = None
|
1465
|
+
if usePrivateInstrumentsInfo:
|
1466
|
+
response = await self.privateGetV5MarketInstrumentsInfo(self.extend(request, params))
|
1467
|
+
else:
|
1468
|
+
response = await self.publicGetV5MarketInstrumentsInfo(self.extend(request, params))
|
1462
1469
|
#
|
1463
1470
|
# {
|
1464
1471
|
# "retCode": 0,
|
@@ -1567,14 +1574,23 @@ class bybit(Exchange, ImplicitAPI):
|
|
1567
1574
|
async def fetch_future_markets(self, params):
|
1568
1575
|
params = self.extend(params)
|
1569
1576
|
params['limit'] = 1000 # minimize number of requests
|
1570
|
-
|
1577
|
+
usePrivateInstrumentsInfo = self.safe_bool(self.options, 'usePrivateInstrumentsInfo', False)
|
1578
|
+
response: dict = None
|
1579
|
+
if usePrivateInstrumentsInfo:
|
1580
|
+
response = await self.privateGetV5MarketInstrumentsInfo(params)
|
1581
|
+
else:
|
1582
|
+
response = await self.publicGetV5MarketInstrumentsInfo(params)
|
1571
1583
|
data = self.safe_dict(response, 'result', {})
|
1572
1584
|
markets = self.safe_list(data, 'list', [])
|
1573
1585
|
paginationCursor = self.safe_string(data, 'nextPageCursor')
|
1574
1586
|
if paginationCursor is not None:
|
1575
1587
|
while(paginationCursor is not None):
|
1576
1588
|
params['cursor'] = paginationCursor
|
1577
|
-
responseInner =
|
1589
|
+
responseInner: dict = None
|
1590
|
+
if usePrivateInstrumentsInfo:
|
1591
|
+
responseInner = await self.privateGetV5MarketInstrumentsInfo(params)
|
1592
|
+
else:
|
1593
|
+
responseInner = await self.publicGetV5MarketInstrumentsInfo(params)
|
1578
1594
|
dataNew = self.safe_dict(responseInner, 'result', {})
|
1579
1595
|
rawMarkets = self.safe_list(dataNew, 'list', [])
|
1580
1596
|
rawMarketsLength = len(rawMarkets)
|
@@ -1731,7 +1747,12 @@ class bybit(Exchange, ImplicitAPI):
|
|
1731
1747
|
request: dict = {
|
1732
1748
|
'category': 'option',
|
1733
1749
|
}
|
1734
|
-
|
1750
|
+
usePrivateInstrumentsInfo = self.safe_bool(self.options, 'usePrivateInstrumentsInfo', False)
|
1751
|
+
response: dict = None
|
1752
|
+
if usePrivateInstrumentsInfo:
|
1753
|
+
response = await self.privateGetV5MarketInstrumentsInfo(self.extend(request, params))
|
1754
|
+
else:
|
1755
|
+
response = await self.publicGetV5MarketInstrumentsInfo(self.extend(request, params))
|
1735
1756
|
data = self.safe_dict(response, 'result', {})
|
1736
1757
|
markets = self.safe_list(data, 'list', [])
|
1737
1758
|
if self.options['loadAllOptions']:
|
@@ -1740,7 +1761,11 @@ class bybit(Exchange, ImplicitAPI):
|
|
1740
1761
|
if paginationCursor is not None:
|
1741
1762
|
while(paginationCursor is not None):
|
1742
1763
|
request['cursor'] = paginationCursor
|
1743
|
-
responseInner =
|
1764
|
+
responseInner: dict = None
|
1765
|
+
if usePrivateInstrumentsInfo:
|
1766
|
+
responseInner = await self.privateGetV5MarketInstrumentsInfo(self.extend(request, params))
|
1767
|
+
else:
|
1768
|
+
responseInner = await self.publicGetV5MarketInstrumentsInfo(self.extend(request, params))
|
1744
1769
|
dataNew = self.safe_dict(responseInner, 'result', {})
|
1745
1770
|
rawMarkets = self.safe_list(dataNew, 'list', [])
|
1746
1771
|
rawMarketsLength = len(rawMarkets)
|
ccxt/async_support/mexc.py
CHANGED
@@ -4908,7 +4908,7 @@ class mexc(Exchange, ImplicitAPI):
|
|
4908
4908
|
networks = self.safe_dict(self.options, 'networks', {})
|
4909
4909
|
network = self.safe_string_2(params, 'network', 'netWork') # self line allows the user to specify either ERC20 or ETH
|
4910
4910
|
network = self.safe_string(networks, network, network) # handle ETH > ERC-20 alias
|
4911
|
-
network = self.
|
4911
|
+
network = self.network_id_to_code(network)
|
4912
4912
|
self.check_address(address)
|
4913
4913
|
await self.load_markets()
|
4914
4914
|
currency = self.currency(code)
|
ccxt/async_support/whitebit.py
CHANGED
@@ -794,8 +794,23 @@ class whitebit(Exchange, ImplicitAPI):
|
|
794
794
|
# "change": "2.12" # in percent
|
795
795
|
# }
|
796
796
|
#
|
797
|
+
# WS market_update
|
798
|
+
#
|
799
|
+
# {
|
800
|
+
# "open": "52853.04",
|
801
|
+
# "close": "55913.88",
|
802
|
+
# "high": "56272",
|
803
|
+
# "low": "49549.67",
|
804
|
+
# "volume": "57331.067185",
|
805
|
+
# "deal": "3063860382.42985338",
|
806
|
+
# "last": "55913.88",
|
807
|
+
# "period": 86400
|
808
|
+
# }
|
797
809
|
market = self.safe_market(None, market)
|
798
|
-
last
|
810
|
+
# last price is provided as "last" or "last_price"
|
811
|
+
last = self.safe_string_2(ticker, 'last', 'last_price')
|
812
|
+
# if "close" is provided, use it, otherwise use <last>
|
813
|
+
close = self.safe_string(ticker, 'close', last)
|
799
814
|
return self.safe_ticker({
|
800
815
|
'symbol': market['symbol'],
|
801
816
|
'timestamp': None,
|
@@ -808,7 +823,7 @@ class whitebit(Exchange, ImplicitAPI):
|
|
808
823
|
'askVolume': None,
|
809
824
|
'vwap': None,
|
810
825
|
'open': self.safe_string(ticker, 'open'),
|
811
|
-
'close':
|
826
|
+
'close': close,
|
812
827
|
'last': last,
|
813
828
|
'previousClose': None,
|
814
829
|
'change': None,
|
ccxt/base/exchange.py
CHANGED
ccxt/binance.py
CHANGED
@@ -9122,7 +9122,7 @@ class binance(Exchange, ImplicitAPI):
|
|
9122
9122
|
liquidationPrice = self.parse_number(liquidationPriceString)
|
9123
9123
|
collateralString = None
|
9124
9124
|
marginMode = self.safe_string(position, 'marginType')
|
9125
|
-
if marginMode is None and isolatedMarginString:
|
9125
|
+
if marginMode is None and isolatedMarginString is not None:
|
9126
9126
|
marginMode = 'cross' if Precise.string_eq(isolatedMarginString, '0') else 'isolated'
|
9127
9127
|
side = None
|
9128
9128
|
if Precise.string_gt(notionalString, '0'):
|
ccxt/bybit.py
CHANGED
@@ -254,6 +254,7 @@ class bybit(Exchange, ImplicitAPI):
|
|
254
254
|
},
|
255
255
|
'private': {
|
256
256
|
'get': {
|
257
|
+
'v5/market/instruments-info': 5,
|
257
258
|
# Legacy inverse swap
|
258
259
|
'v2/private/wallet/fund/records': 25, # 120 per minute = 2 per second => cost = 50 / 2 = 25
|
259
260
|
# spot
|
@@ -999,6 +1000,7 @@ class bybit(Exchange, ImplicitAPI):
|
|
999
1000
|
},
|
1000
1001
|
'precisionMode': TICK_SIZE,
|
1001
1002
|
'options': {
|
1003
|
+
'usePrivateInstrumentsInfo': False,
|
1002
1004
|
'sandboxMode': False,
|
1003
1005
|
'enableDemoTrading': False,
|
1004
1006
|
'fetchMarkets': ['spot', 'linear', 'inverse', 'option'],
|
@@ -1457,7 +1459,12 @@ class bybit(Exchange, ImplicitAPI):
|
|
1457
1459
|
request: dict = {
|
1458
1460
|
'category': 'spot',
|
1459
1461
|
}
|
1460
|
-
|
1462
|
+
usePrivateInstrumentsInfo = self.safe_bool(self.options, 'usePrivateInstrumentsInfo', False)
|
1463
|
+
response: dict = None
|
1464
|
+
if usePrivateInstrumentsInfo:
|
1465
|
+
response = self.privateGetV5MarketInstrumentsInfo(self.extend(request, params))
|
1466
|
+
else:
|
1467
|
+
response = self.publicGetV5MarketInstrumentsInfo(self.extend(request, params))
|
1461
1468
|
#
|
1462
1469
|
# {
|
1463
1470
|
# "retCode": 0,
|
@@ -1566,14 +1573,23 @@ class bybit(Exchange, ImplicitAPI):
|
|
1566
1573
|
def fetch_future_markets(self, params):
|
1567
1574
|
params = self.extend(params)
|
1568
1575
|
params['limit'] = 1000 # minimize number of requests
|
1569
|
-
|
1576
|
+
usePrivateInstrumentsInfo = self.safe_bool(self.options, 'usePrivateInstrumentsInfo', False)
|
1577
|
+
response: dict = None
|
1578
|
+
if usePrivateInstrumentsInfo:
|
1579
|
+
response = self.privateGetV5MarketInstrumentsInfo(params)
|
1580
|
+
else:
|
1581
|
+
response = self.publicGetV5MarketInstrumentsInfo(params)
|
1570
1582
|
data = self.safe_dict(response, 'result', {})
|
1571
1583
|
markets = self.safe_list(data, 'list', [])
|
1572
1584
|
paginationCursor = self.safe_string(data, 'nextPageCursor')
|
1573
1585
|
if paginationCursor is not None:
|
1574
1586
|
while(paginationCursor is not None):
|
1575
1587
|
params['cursor'] = paginationCursor
|
1576
|
-
responseInner =
|
1588
|
+
responseInner: dict = None
|
1589
|
+
if usePrivateInstrumentsInfo:
|
1590
|
+
responseInner = self.privateGetV5MarketInstrumentsInfo(params)
|
1591
|
+
else:
|
1592
|
+
responseInner = self.publicGetV5MarketInstrumentsInfo(params)
|
1577
1593
|
dataNew = self.safe_dict(responseInner, 'result', {})
|
1578
1594
|
rawMarkets = self.safe_list(dataNew, 'list', [])
|
1579
1595
|
rawMarketsLength = len(rawMarkets)
|
@@ -1730,7 +1746,12 @@ class bybit(Exchange, ImplicitAPI):
|
|
1730
1746
|
request: dict = {
|
1731
1747
|
'category': 'option',
|
1732
1748
|
}
|
1733
|
-
|
1749
|
+
usePrivateInstrumentsInfo = self.safe_bool(self.options, 'usePrivateInstrumentsInfo', False)
|
1750
|
+
response: dict = None
|
1751
|
+
if usePrivateInstrumentsInfo:
|
1752
|
+
response = self.privateGetV5MarketInstrumentsInfo(self.extend(request, params))
|
1753
|
+
else:
|
1754
|
+
response = self.publicGetV5MarketInstrumentsInfo(self.extend(request, params))
|
1734
1755
|
data = self.safe_dict(response, 'result', {})
|
1735
1756
|
markets = self.safe_list(data, 'list', [])
|
1736
1757
|
if self.options['loadAllOptions']:
|
@@ -1739,7 +1760,11 @@ class bybit(Exchange, ImplicitAPI):
|
|
1739
1760
|
if paginationCursor is not None:
|
1740
1761
|
while(paginationCursor is not None):
|
1741
1762
|
request['cursor'] = paginationCursor
|
1742
|
-
responseInner =
|
1763
|
+
responseInner: dict = None
|
1764
|
+
if usePrivateInstrumentsInfo:
|
1765
|
+
responseInner = self.privateGetV5MarketInstrumentsInfo(self.extend(request, params))
|
1766
|
+
else:
|
1767
|
+
responseInner = self.publicGetV5MarketInstrumentsInfo(self.extend(request, params))
|
1743
1768
|
dataNew = self.safe_dict(responseInner, 'result', {})
|
1744
1769
|
rawMarkets = self.safe_list(dataNew, 'list', [])
|
1745
1770
|
rawMarketsLength = len(rawMarkets)
|
ccxt/mexc.py
CHANGED
@@ -4908,7 +4908,7 @@ class mexc(Exchange, ImplicitAPI):
|
|
4908
4908
|
networks = self.safe_dict(self.options, 'networks', {})
|
4909
4909
|
network = self.safe_string_2(params, 'network', 'netWork') # self line allows the user to specify either ERC20 or ETH
|
4910
4910
|
network = self.safe_string(networks, network, network) # handle ETH > ERC-20 alias
|
4911
|
-
network = self.
|
4911
|
+
network = self.network_id_to_code(network)
|
4912
4912
|
self.check_address(address)
|
4913
4913
|
self.load_markets()
|
4914
4914
|
currency = self.currency(code)
|
ccxt/pro/__init__.py
CHANGED
ccxt/whitebit.py
CHANGED
@@ -794,8 +794,23 @@ class whitebit(Exchange, ImplicitAPI):
|
|
794
794
|
# "change": "2.12" # in percent
|
795
795
|
# }
|
796
796
|
#
|
797
|
+
# WS market_update
|
798
|
+
#
|
799
|
+
# {
|
800
|
+
# "open": "52853.04",
|
801
|
+
# "close": "55913.88",
|
802
|
+
# "high": "56272",
|
803
|
+
# "low": "49549.67",
|
804
|
+
# "volume": "57331.067185",
|
805
|
+
# "deal": "3063860382.42985338",
|
806
|
+
# "last": "55913.88",
|
807
|
+
# "period": 86400
|
808
|
+
# }
|
797
809
|
market = self.safe_market(None, market)
|
798
|
-
last
|
810
|
+
# last price is provided as "last" or "last_price"
|
811
|
+
last = self.safe_string_2(ticker, 'last', 'last_price')
|
812
|
+
# if "close" is provided, use it, otherwise use <last>
|
813
|
+
close = self.safe_string(ticker, 'close', last)
|
799
814
|
return self.safe_ticker({
|
800
815
|
'symbol': market['symbol'],
|
801
816
|
'timestamp': None,
|
@@ -808,7 +823,7 @@ class whitebit(Exchange, ImplicitAPI):
|
|
808
823
|
'askVolume': None,
|
809
824
|
'vwap': None,
|
810
825
|
'open': self.safe_string(ticker, 'open'),
|
811
|
-
'close':
|
826
|
+
'close': close,
|
812
827
|
'last': last,
|
813
828
|
'previousClose': None,
|
814
829
|
'change': None,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ccxt
|
3
|
-
Version: 4.3.
|
3
|
+
Version: 4.3.75
|
4
4
|
Summary: A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges
|
5
5
|
Home-page: https://ccxt.com
|
6
6
|
Author: Igor Kroitor
|
@@ -270,13 +270,13 @@ console.log(version, Object.keys(exchanges));
|
|
270
270
|
|
271
271
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
272
272
|
|
273
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.
|
274
|
-
* unpkg: https://unpkg.com/ccxt@4.3.
|
273
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.75/dist/ccxt.browser.min.js
|
274
|
+
* unpkg: https://unpkg.com/ccxt@4.3.75/dist/ccxt.browser.min.js
|
275
275
|
|
276
276
|
CDNs are not updated in real-time and may have delays. Defaulting to the most recent version without specifying the version number is not recommended. Please, keep in mind that we are not responsible for the correct operation of those CDN servers.
|
277
277
|
|
278
278
|
```HTML
|
279
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.
|
279
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.75/dist/ccxt.browser.min.js"></script>
|
280
280
|
```
|
281
281
|
|
282
282
|
Creates a global `ccxt` object:
|
@@ -1,10 +1,10 @@
|
|
1
|
-
ccxt/__init__.py,sha256=
|
1
|
+
ccxt/__init__.py,sha256=6pee9RqKKApaMkQYarP2CjEiCZ9owi1k6V1LexzneVU,16417
|
2
2
|
ccxt/ace.py,sha256=Gee4ymA83iAuBFm3J8NaTb7qmu9buV2trA676KCtSVg,42383
|
3
3
|
ccxt/alpaca.py,sha256=HQuhQZSFGRlT-BaCUSEZmxpzYp6tll2zn63qn3gTmoU,47470
|
4
4
|
ccxt/ascendex.py,sha256=4aEwibO_me6khr66z8JFqDBxe2gtFOWIFBE7ulBEJPs,151933
|
5
5
|
ccxt/bequant.py,sha256=RBiAmaTbL35DgiV3Hl6uchLUd78V0z1T9riTlNsrpdc,1174
|
6
6
|
ccxt/bigone.py,sha256=PBciIENMufQQ6cxukdze5hhQ5vFOqBtMHDfTwT4nUuY,93086
|
7
|
-
ccxt/binance.py,sha256=
|
7
|
+
ccxt/binance.py,sha256=0Sn_5ZK5sjG1CfGYB_lEWjCzDnkdVWz_Ij7DMSFBQSc,641507
|
8
8
|
ccxt/binancecoinm.py,sha256=arFnEh8mErSyi23eVPWE4iwoT7PWQyxGGVJCKCy6UJY,1702
|
9
9
|
ccxt/binanceus.py,sha256=hdcT4OnadcdFFFjF3GtM0nWv90jqojqwdVS3xWGuW40,9163
|
10
10
|
ccxt/binanceusdm.py,sha256=bAPcJj5HLxoCdPolriM8sJpoTBwbV78vBTbKRmWhNP4,2632
|
@@ -35,7 +35,7 @@ ccxt/btcalpha.py,sha256=UcCCDZ_7EM-Q2tHU1IQPEA2DErFsLhrSfX-Oy-Q2uL4,36715
|
|
35
35
|
ccxt/btcbox.py,sha256=9-P15L-OiZRzz0ZOtgO3bf73kuHro9u3NYf3QjeYv4k,27744
|
36
36
|
ccxt/btcmarkets.py,sha256=0gMC0vvmuDJwcnllHMUZsQRV6QWA1-Cbq1N1F9rIUW8,52697
|
37
37
|
ccxt/btcturk.py,sha256=bQ8sJq5iEj9oq2R17uDadPWKcnIQG8id5UmdlpHfFy8,36992
|
38
|
-
ccxt/bybit.py,sha256=
|
38
|
+
ccxt/bybit.py,sha256=zEJyvXcg9yzThLuLyDSX7A_mMB1Vp-jT59yo0hGOMyQ,417211
|
39
39
|
ccxt/cex.py,sha256=YQtARIBP7cY3y-AqRarEH_mVh7_ftt18jLebhpL3hxQ,70084
|
40
40
|
ccxt/coinbase.py,sha256=OLcnNdnOxnbTY54BEvptJCysDBU3ZZGw6eJcHalaFFc,217105
|
41
41
|
ccxt/coinbaseadvanced.py,sha256=d5g6nRx-NCcCwZDdtp8FsI2D-pRjSvnAP9ISSKY_nCQ,538
|
@@ -79,7 +79,7 @@ ccxt/lbank.py,sha256=Glx9CN_jdQMiUngJLYioxzwDfgFTdusdOfK53_Bg6A8,116045
|
|
79
79
|
ccxt/luno.py,sha256=mJqzQFX-DneQ6Wo0Dqfc7sG0OVmaPSKAkmRs1pM7Yj8,46191
|
80
80
|
ccxt/lykke.py,sha256=RqjZ8TXHN_Bok2gXNsJX5jgMDb7GqMbpPPqBMHiLb0E,51408
|
81
81
|
ccxt/mercado.py,sha256=LWCh89IzXu-yhPGqhkdPW6wqOqfO8nmbSQhAyYiSH8U,35710
|
82
|
-
ccxt/mexc.py,sha256=
|
82
|
+
ccxt/mexc.py,sha256=JexIe_RjsbWtC7vfcgnIwHqniIL_OSbNSirk7od5C1Q,241442
|
83
83
|
ccxt/ndax.py,sha256=K4nlroc0lE0c3wETvYt_O5sfOrHmTiknpXfMIWdafzA,108947
|
84
84
|
ccxt/novadax.py,sha256=_xFkuZ72vHhpJb1N9h_MQHRD05GDWlqUeLQQcOp43BM,64436
|
85
85
|
ccxt/oceanex.py,sha256=DrsNIW-eXvaSHCB2l1valmiU9xMztxm1VNBJodMkWIY,38021
|
@@ -101,7 +101,7 @@ ccxt/upbit.py,sha256=W_W8aETJyopwhYfZd2tWvhPvi7BjQ4KSIOdn8nzyWv8,85413
|
|
101
101
|
ccxt/vertex.py,sha256=lHM2VbZCIYS4EeJ7Y9KoZcEepF7Cue7YITItyNXLiqk,121703
|
102
102
|
ccxt/wavesexchange.py,sha256=8KrV-euIdDeARQ-h-T-nTlFJ9hk6TLuwGl8U7Xr_Lgk,114825
|
103
103
|
ccxt/wazirx.py,sha256=LVHNdononi8FrZpT0pYiJoS-NrNi7_uIZ6Qbu8dJRPc,52405
|
104
|
-
ccxt/whitebit.py,sha256=
|
104
|
+
ccxt/whitebit.py,sha256=fkM0Clt74bSiOJ_L-CehR2Gkn3v3kZksCQT0JCCG5rs,119340
|
105
105
|
ccxt/woo.py,sha256=NJejIgZqXPsVM3pIffDXbYOeaLDzFnfxR3tO3Ksf9pM,153028
|
106
106
|
ccxt/woofipro.py,sha256=JQdGizBIOXPmCHnKZsH71CfzCum1_mNCpFymV-JaX-U,115350
|
107
107
|
ccxt/xt.py,sha256=esWHEOeI7Kbm53GsZB-7Ds34yvyoJjanL_MIBvADuIE,202646
|
@@ -145,7 +145,7 @@ ccxt/abstract/btcalpha.py,sha256=sbF4SAkTJq01QPQw4D2GMkKrPhKfFIsG-PNtMAC9WwU,138
|
|
145
145
|
ccxt/abstract/btcbox.py,sha256=pifkHEayyfVN4lhO2s8oKg_wjQChwWo0g5-vw4rcm1s,931
|
146
146
|
ccxt/abstract/btcmarkets.py,sha256=dQ2yTZ_8T2TEeAYIuKE0ATImbOLDLGSK7HbbBd8XVJQ,3690
|
147
147
|
ccxt/abstract/btcturk.py,sha256=duM-QrB9MvGpopOtxkfbeYlY49bgvXQLiosRVmnQYFw,1777
|
148
|
-
ccxt/abstract/bybit.py,sha256=
|
148
|
+
ccxt/abstract/bybit.py,sha256=d2Fx_iBoe7XXsCK8mxQubRqYSz_qaVneIfD31CqAoDA,49071
|
149
149
|
ccxt/abstract/cex.py,sha256=Q0NJeDuJ4Kn_mtokYqBenhXWvLIiMSVTqbgbfcLGgv4,3311
|
150
150
|
ccxt/abstract/coinbase.py,sha256=GFXDh_Bf65Gsx_DmgOrRG2jpM3IdITE3Agqz_LZTJfo,15507
|
151
151
|
ccxt/abstract/coinbaseadvanced.py,sha256=GFXDh_Bf65Gsx_DmgOrRG2jpM3IdITE3Agqz_LZTJfo,15507
|
@@ -218,13 +218,13 @@ ccxt/abstract/xt.py,sha256=JkWvsic3L2O968BCr9H5Wd5NIbRE9aTT2A-9WbAtl0c,27146
|
|
218
218
|
ccxt/abstract/yobit.py,sha256=8ycfCO8ORFly9hc0Aa47sZyX4_ZKPXS9h9yJzI-uQ7Q,1339
|
219
219
|
ccxt/abstract/zaif.py,sha256=m15WHdl3gYy0GOXNZ8NEH8eE7sVh8c0T_ITNuU8vXeU,3935
|
220
220
|
ccxt/abstract/zonda.py,sha256=X-hCW0SdX3YKZWixDyW-O2211M58Rno8kKJ6quY7rw4,7183
|
221
|
-
ccxt/async_support/__init__.py,sha256=
|
221
|
+
ccxt/async_support/__init__.py,sha256=LpaAtjWl7sDgEpQgXSdVVVHuIGV4HvoP1ogmEL_P3Lw,16230
|
222
222
|
ccxt/async_support/ace.py,sha256=zBmLUKH691a2BH1sPzlJPg-uO7lD6Ys92Rv8WSzNtoo,42607
|
223
223
|
ccxt/async_support/alpaca.py,sha256=495vDvdF1IWlsh9QhUnMtkMuINdD0EzeFGlUVqCf8TE,47682
|
224
224
|
ccxt/async_support/ascendex.py,sha256=LK259BdUqU0_STGRH6DmTgaR-7lXqFpZHFVACf2um5c,152721
|
225
225
|
ccxt/async_support/bequant.py,sha256=1hTwHovo1bW1XTIc8ZKjvJ-Xg6LfmpGdzT7TepykaVM,1188
|
226
226
|
ccxt/async_support/bigone.py,sha256=PZcs9u6FI6uAyJKiiNGIGDA-uainz4aKEOrC1Q6KIk4,93540
|
227
|
-
ccxt/async_support/binance.py,sha256=
|
227
|
+
ccxt/async_support/binance.py,sha256=Bf4rSLZ0sRLQKR4dbmR0Np6zgavp7Y7KxJbB4ZE1EWM,644229
|
228
228
|
ccxt/async_support/binancecoinm.py,sha256=yeE73xG5UXD_X3VPul6DMGnV_mgJfWYskpas1BUDdCU,1740
|
229
229
|
ccxt/async_support/binanceus.py,sha256=c-K3Tk7LaRJjmYdCx8vBOqsx01uXrtvt0PC2ekBiD0g,9177
|
230
230
|
ccxt/async_support/binanceusdm.py,sha256=8ugRkx7vyYmn67wdkEEf2f-DFMGAoC4t09usKlPVNyw,2670
|
@@ -255,7 +255,7 @@ ccxt/async_support/btcalpha.py,sha256=DgzrJ6cczUCDZr-QLUxMpazeudEFdQ_OzXiQiJM4Hb
|
|
255
255
|
ccxt/async_support/btcbox.py,sha256=FGIj8il6VZL56_dDYsAMwp4DpdKNt_vbMXV6VZ2boCI,27968
|
256
256
|
ccxt/async_support/btcmarkets.py,sha256=x1-s5uVioHyvNJoBxhxP8eUUslTDwQnZMU0FWfu1Fd4,53047
|
257
257
|
ccxt/async_support/btcturk.py,sha256=P3bg0XG0sAi-8ge9ZFzQqZHsoGOGfxBjkhIDo4VPSK4,37210
|
258
|
-
ccxt/async_support/bybit.py,sha256=
|
258
|
+
ccxt/async_support/bybit.py,sha256=mZrB9aMLE2FyWsVlVui0pBqRhm_lWXjNkYAYUBzhEoM,419081
|
259
259
|
ccxt/async_support/cex.py,sha256=5KZ9qt4WsUAkH2rkHn7zW7SwlB9FumruLELdKF4LFoE,70434
|
260
260
|
ccxt/async_support/coinbase.py,sha256=RMcQFh7tSzTe8QqFaz9WmH2Op8sXD8jWpZfLBt_13QQ,218259
|
261
261
|
ccxt/async_support/coinbaseadvanced.py,sha256=Kupwnuxiu_qTjwCNV2asacoDUNFQvcaHNAznUJPhdQs,552
|
@@ -299,7 +299,7 @@ ccxt/async_support/lbank.py,sha256=MeqPjECSmsplCtatu7Ns6sHRwzAGP_6S5MwB2BomnXk,1
|
|
299
299
|
ccxt/async_support/luno.py,sha256=F4t6XgboOe688S6bZCEnaF_ZEh_6f1YTqV6wRaddWo0,46529
|
300
300
|
ccxt/async_support/lykke.py,sha256=UXQmNfWucuylickY0EBbrkahAoU-68B7k1B-EBNpC00,51722
|
301
301
|
ccxt/async_support/mercado.py,sha256=mb7ULqvEr9PQ7jBOpQxiufgYzwTeAfr0G2NZmrUeUgs,35952
|
302
|
-
ccxt/async_support/mexc.py,sha256=
|
302
|
+
ccxt/async_support/mexc.py,sha256=fmaaizeaOGz1Rt-ep1HOW4XyDrAIplmcOxR4Ksi1vbU,242620
|
303
303
|
ccxt/async_support/ndax.py,sha256=M_DtH6Rtzpc8p4nwOwBkxMIf0yQNoVvRkOexcvNUK6k,109471
|
304
304
|
ccxt/async_support/novadax.py,sha256=YNKUM1CGFK7lpBwbxSSL1IAEJCRVsNxeITkwtw6VWCM,64804
|
305
305
|
ccxt/async_support/oceanex.py,sha256=85IHjCWsBZZXntKHPeuUpFYP9FV0Ik93gJsTlrGzhVA,38341
|
@@ -321,7 +321,7 @@ ccxt/async_support/upbit.py,sha256=GmhV24xdjd5NSCronYkqLCM8rr_hNdpt4NEDA5jEkLw,8
|
|
321
321
|
ccxt/async_support/vertex.py,sha256=6eOWWpuDaGHhSMkOb1CR7ZhlnaMVNWVLoIKOK_W4mT4,122203
|
322
322
|
ccxt/async_support/wavesexchange.py,sha256=kdF7Nm5a34mtgIj2HWTLuV3plt4K3EBKMpLENIxtoMk,115375
|
323
323
|
ccxt/async_support/wazirx.py,sha256=bnUpw9be3o4l2Hxm3jcfNXn5bMyZlgqoG8BGPusuIzs,52707
|
324
|
-
ccxt/async_support/whitebit.py,sha256=
|
324
|
+
ccxt/async_support/whitebit.py,sha256=haF5nFYGuJzkplHBIyLLDJ6N3ThIDPpgjeI3S-TYs98,119990
|
325
325
|
ccxt/async_support/woo.py,sha256=JjarWyUMmZ2X2UaKFhHyo-SD_mk5kYIWkYoSUdIe3g0,153996
|
326
326
|
ccxt/async_support/woofipro.py,sha256=xXfZj56dOmUZ67z7tsRiHL-XVtFlst-UXRPh6qRvrE0,116030
|
327
327
|
ccxt/async_support/xt.py,sha256=9k__X07qzgB_NwSplLfJL4_4eKtHslL8Qlfv6xBwZKU,203800
|
@@ -329,7 +329,7 @@ ccxt/async_support/yobit.py,sha256=JuH_yClCl_cd5L-BMTt3MPAvIF61Wpqc3W7H-fno6Hs,5
|
|
329
329
|
ccxt/async_support/zaif.py,sha256=-ZTr8M2JaIRCL90VrbCDXBMAsZwbiwsFChSQ2rWODuQ,29044
|
330
330
|
ccxt/async_support/zonda.py,sha256=jncr6Wg12S72CTpu6mCKCse1pm1f8oefVQurQSrFvP0,81733
|
331
331
|
ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
|
332
|
-
ccxt/async_support/base/exchange.py,sha256
|
332
|
+
ccxt/async_support/base/exchange.py,sha256=eONOGxmrwyPqunsEUMLRtOnTSMQtdRw3WLwm-K3I7ww,110793
|
333
333
|
ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
|
334
334
|
ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
|
335
335
|
ccxt/async_support/base/ws/aiohttp_client.py,sha256=5IEiT0elWI9a7Vr-KV0jgmlbpLJWBzIlrLaCkTKGaqY,5752
|
@@ -343,10 +343,10 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=GhnGUt78pJ-AYL_Dq9produGjmB
|
|
343
343
|
ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
|
344
344
|
ccxt/base/decimal_to_precision.py,sha256=fgWRBzRTtsf3r2INyS4f7WHlzgjB5YM1ekiwqD21aac,6634
|
345
345
|
ccxt/base/errors.py,sha256=tosnf1tDaBn4YMCbWVNWyDYzqft-ImVtyjqJb6q83Y4,4369
|
346
|
-
ccxt/base/exchange.py,sha256=
|
346
|
+
ccxt/base/exchange.py,sha256=WXplpZSEHeNGUS-8jLQ1sgkEXc31-FBOpGK4w1JLpkk,294200
|
347
347
|
ccxt/base/precise.py,sha256=koce64Yrp6vFbGijJtUt-QQ6XhJgeGTCksZ871FPp_A,8886
|
348
348
|
ccxt/base/types.py,sha256=TaP_RElKjGEZWuzyp4o4u2YhREyTG3rUeVT6gDffY9A,9613
|
349
|
-
ccxt/pro/__init__.py,sha256=
|
349
|
+
ccxt/pro/__init__.py,sha256=Tg-BBQCqFO6ZrCXyqgZzCLqIDutxP9AAbYq0iCP2LTs,7608
|
350
350
|
ccxt/pro/alpaca.py,sha256=xh1yg1Ok-Zh_Mfx-MBjNrfJDs6MUU0exFfEj3GuQPC4,27631
|
351
351
|
ccxt/pro/ascendex.py,sha256=181FIeztchLqGmgecRJEN8F8xEM45D5aMKhC-5nuNfU,35467
|
352
352
|
ccxt/pro/bequant.py,sha256=33OEUWBi4D9-2w8CmkwN3aF1qS-AlLqX3pxrWwNbXPY,1552
|
@@ -650,8 +650,8 @@ ccxt/test/tests_async.py,sha256=NShOLO2-HzYsh07U7aiUGssiv-AZ_p88h-NuQub9OKU,8468
|
|
650
650
|
ccxt/test/tests_helpers.py,sha256=xhOILoZ_x3RSfQjtKt6AQlkp9DkOtpTQe8GAUUZoM6s,10069
|
651
651
|
ccxt/test/tests_init.py,sha256=eVwwUHujX9t4rjgo4TqEeg7DDhR1Hb_e2SJN8NVGyl0,998
|
652
652
|
ccxt/test/tests_sync.py,sha256=6Arr2TcJpNg9eEpH_JQeBbLzaMPlb94J1P11HGlbpPg,83761
|
653
|
-
ccxt-4.3.
|
654
|
-
ccxt-4.3.
|
655
|
-
ccxt-4.3.
|
656
|
-
ccxt-4.3.
|
657
|
-
ccxt-4.3.
|
653
|
+
ccxt-4.3.75.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
|
654
|
+
ccxt-4.3.75.dist-info/METADATA,sha256=NGlZWEOeSRX2NXUD7MDxrR9NVRfaR62fo__boi_tiSs,116642
|
655
|
+
ccxt-4.3.75.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
|
656
|
+
ccxt-4.3.75.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
|
657
|
+
ccxt-4.3.75.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|