ccxt 4.4.19__py2.py3-none-any.whl → 4.4.20__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 +1 -1
- ccxt/async_support/__init__.py +1 -1
- ccxt/async_support/base/exchange.py +5 -1
- ccxt/async_support/bybit.py +2 -1
- ccxt/async_support/gate.py +1 -0
- ccxt/async_support/lbank.py +3 -3
- ccxt/async_support/phemex.py +72 -0
- ccxt/base/exchange.py +5 -1
- ccxt/bybit.py +2 -1
- ccxt/gate.py +1 -0
- ccxt/lbank.py +3 -3
- ccxt/phemex.py +72 -0
- ccxt/pro/__init__.py +3 -1
- ccxt/pro/coinbaseadvanced.py +16 -0
- {ccxt-4.4.19.dist-info → ccxt-4.4.20.dist-info}/METADATA +4 -4
- {ccxt-4.4.19.dist-info → ccxt-4.4.20.dist-info}/RECORD +19 -18
- {ccxt-4.4.19.dist-info → ccxt-4.4.20.dist-info}/LICENSE.txt +0 -0
- {ccxt-4.4.19.dist-info → ccxt-4.4.20.dist-info}/WHEEL +0 -0
- {ccxt-4.4.19.dist-info → ccxt-4.4.20.dist-info}/top_level.txt +0 -0
ccxt/__init__.py
CHANGED
ccxt/async_support/__init__.py
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# -----------------------------------------------------------------------------
|
4
4
|
|
5
|
-
__version__ = '4.4.
|
5
|
+
__version__ = '4.4.20'
|
6
6
|
|
7
7
|
# -----------------------------------------------------------------------------
|
8
8
|
|
@@ -1908,6 +1908,8 @@ class Exchange(BaseExchange):
|
|
1908
1908
|
i = 0
|
1909
1909
|
errors = 0
|
1910
1910
|
result = []
|
1911
|
+
timeframe = self.safe_string(params, 'timeframe')
|
1912
|
+
params = self.omit(params, 'timeframe') # reading the timeframe from the method arguments to avoid changing the signature
|
1911
1913
|
while(i < maxCalls):
|
1912
1914
|
try:
|
1913
1915
|
if cursorValue is not None:
|
@@ -1919,6 +1921,8 @@ class Exchange(BaseExchange):
|
|
1919
1921
|
response = await getattr(self, method)(params)
|
1920
1922
|
elif method == 'getLeverageTiersPaginated' or method == 'fetchPositions':
|
1921
1923
|
response = await getattr(self, method)(symbol, params)
|
1924
|
+
elif method == 'fetchOpenInterestHistory':
|
1925
|
+
response = await getattr(self, method)(symbol, timeframe, since, maxEntriesPerRequest, params)
|
1922
1926
|
else:
|
1923
1927
|
response = await getattr(self, method)(symbol, since, maxEntriesPerRequest, params)
|
1924
1928
|
errors = 0
|
ccxt/async_support/bybit.py
CHANGED
@@ -6703,7 +6703,8 @@ class bybit(Exchange, ImplicitAPI):
|
|
6703
6703
|
paginate = self.safe_bool(params, 'paginate')
|
6704
6704
|
if paginate:
|
6705
6705
|
params = self.omit(params, 'paginate')
|
6706
|
-
|
6706
|
+
params['timeframe'] = timeframe
|
6707
|
+
return await self.fetch_paginated_call_cursor('fetchOpenInterestHistory', symbol, since, limit, params, 'nextPageCursor', 'cursor', None, 200)
|
6707
6708
|
market = self.market(symbol)
|
6708
6709
|
if market['spot'] or market['option']:
|
6709
6710
|
raise BadRequest(self.id + ' fetchOpenInterestHistory() symbol does not support market ' + symbol)
|
ccxt/async_support/gate.py
CHANGED
@@ -4421,6 +4421,7 @@ class gate(Exchange, ImplicitAPI):
|
|
4421
4421
|
"""
|
4422
4422
|
fetch all unfilled currently open orders
|
4423
4423
|
:see: https://www.gate.io/docs/developers/apiv4/en/#list-all-open-orders
|
4424
|
+
:see: https://www.gate.io/docs/developers/apiv4/en/#retrieve-running-auto-order-list
|
4424
4425
|
:param str symbol: unified market symbol
|
4425
4426
|
:param int [since]: the earliest time in ms to fetch open orders for
|
4426
4427
|
:param int [limit]: the maximum number of open orders structures to retrieve
|
ccxt/async_support/lbank.py
CHANGED
@@ -976,15 +976,15 @@ class lbank(Exchange, ImplicitAPI):
|
|
976
976
|
limit = min(limit, 2000)
|
977
977
|
if since is None:
|
978
978
|
duration = self.parse_timeframe(timeframe)
|
979
|
-
since = self.milliseconds() - duration * 1000 * limit
|
979
|
+
since = self.milliseconds() - (duration * 1000 * limit)
|
980
980
|
request: dict = {
|
981
981
|
'symbol': market['id'],
|
982
982
|
'type': self.safe_string(self.timeframes, timeframe, timeframe),
|
983
983
|
'time': self.parse_to_int(since / 1000),
|
984
|
-
'size': limit, # max 2000
|
984
|
+
'size': min(limit + 1, 2000), # max 2000
|
985
985
|
}
|
986
986
|
response = await self.spotPublicGetKline(self.extend(request, params))
|
987
|
-
ohlcvs = self.
|
987
|
+
ohlcvs = self.safe_list(response, 'data', [])
|
988
988
|
#
|
989
989
|
#
|
990
990
|
# [
|
ccxt/async_support/phemex.py
CHANGED
@@ -82,6 +82,7 @@ class phemex(Exchange, ImplicitAPI):
|
|
82
82
|
'fetchMarkOHLCV': False,
|
83
83
|
'fetchMyTrades': True,
|
84
84
|
'fetchOHLCV': True,
|
85
|
+
'fetchOpenInterest': True,
|
85
86
|
'fetchOpenOrders': True,
|
86
87
|
'fetchOrder': True,
|
87
88
|
'fetchOrderBook': True,
|
@@ -4494,6 +4495,77 @@ class phemex(Exchange, ImplicitAPI):
|
|
4494
4495
|
data = self.safe_dict(response, 'data', {})
|
4495
4496
|
return self.parse_transaction(data, currency)
|
4496
4497
|
|
4498
|
+
async def fetch_open_interest(self, symbol: str, params={}):
|
4499
|
+
"""
|
4500
|
+
retrieves the open interest of a trading pair
|
4501
|
+
:see: https://phemex-docs.github.io/#query-24-hours-ticker
|
4502
|
+
:param str symbol: unified CCXT market symbol
|
4503
|
+
:param dict [params]: exchange specific parameters
|
4504
|
+
:returns dict} an open interest structure{@link https://docs.ccxt.com/#/?id=open-interest-structure:
|
4505
|
+
"""
|
4506
|
+
await self.load_markets()
|
4507
|
+
market = self.market(symbol)
|
4508
|
+
if not market['contract']:
|
4509
|
+
raise BadRequest(self.id + ' fetchOpenInterest is only supported for contract markets.')
|
4510
|
+
request: dict = {
|
4511
|
+
'symbol': market['id'],
|
4512
|
+
}
|
4513
|
+
response = await self.v2GetMdV2Ticker24hr(self.extend(request, params))
|
4514
|
+
#
|
4515
|
+
# {
|
4516
|
+
# error: null,
|
4517
|
+
# id: '0',
|
4518
|
+
# result: {
|
4519
|
+
# closeRp: '67550.1',
|
4520
|
+
# fundingRateRr: '0.0001',
|
4521
|
+
# highRp: '68400',
|
4522
|
+
# indexPriceRp: '67567.15389794',
|
4523
|
+
# lowRp: '66096.4',
|
4524
|
+
# markPriceRp: '67550.1',
|
4525
|
+
# openInterestRv: '1848.1144186',
|
4526
|
+
# openRp: '66330',
|
4527
|
+
# predFundingRateRr: '0.0001',
|
4528
|
+
# symbol: 'BTCUSDT',
|
4529
|
+
# timestamp: '1729114315443343001',
|
4530
|
+
# turnoverRv: '228863389.3237532',
|
4531
|
+
# volumeRq: '3388.5600312'
|
4532
|
+
# }
|
4533
|
+
# }
|
4534
|
+
#
|
4535
|
+
result = self.safe_dict(response, 'result')
|
4536
|
+
return self.parse_open_interest(result, market)
|
4537
|
+
|
4538
|
+
def parse_open_interest(self, interest, market: Market = None):
|
4539
|
+
#
|
4540
|
+
# {
|
4541
|
+
# closeRp: '67550.1',
|
4542
|
+
# fundingRateRr: '0.0001',
|
4543
|
+
# highRp: '68400',
|
4544
|
+
# indexPriceRp: '67567.15389794',
|
4545
|
+
# lowRp: '66096.4',
|
4546
|
+
# markPriceRp: '67550.1',
|
4547
|
+
# openInterestRv: '1848.1144186',
|
4548
|
+
# openRp: '66330',
|
4549
|
+
# predFundingRateRr: '0.0001',
|
4550
|
+
# symbol: 'BTCUSDT',
|
4551
|
+
# timestamp: '1729114315443343001',
|
4552
|
+
# turnoverRv: '228863389.3237532',
|
4553
|
+
# volumeRq: '3388.5600312'
|
4554
|
+
# }
|
4555
|
+
#
|
4556
|
+
timestamp = self.safe_integer(interest, 'timestamp') / 1000000
|
4557
|
+
id = self.safe_string(interest, 'symbol')
|
4558
|
+
return self.safe_open_interest({
|
4559
|
+
'info': interest,
|
4560
|
+
'symbol': self.safe_symbol(id, market),
|
4561
|
+
'baseVolume': self.safe_string(interest, 'volumeRq'),
|
4562
|
+
'quoteVolume': None, # deprecated
|
4563
|
+
'openInterestAmount': self.safe_string(interest, 'openInterestRv'),
|
4564
|
+
'openInterestValue': None,
|
4565
|
+
'timestamp': timestamp,
|
4566
|
+
'datetime': self.iso8601(timestamp),
|
4567
|
+
}, market)
|
4568
|
+
|
4497
4569
|
def handle_errors(self, httpCode: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
4498
4570
|
if response is None:
|
4499
4571
|
return None # fallback to default error handler
|
ccxt/base/exchange.py
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '4.4.
|
7
|
+
__version__ = '4.4.20'
|
8
8
|
|
9
9
|
# -----------------------------------------------------------------------------
|
10
10
|
|
@@ -5981,6 +5981,8 @@ class Exchange(object):
|
|
5981
5981
|
i = 0
|
5982
5982
|
errors = 0
|
5983
5983
|
result = []
|
5984
|
+
timeframe = self.safe_string(params, 'timeframe')
|
5985
|
+
params = self.omit(params, 'timeframe') # reading the timeframe from the method arguments to avoid changing the signature
|
5984
5986
|
while(i < maxCalls):
|
5985
5987
|
try:
|
5986
5988
|
if cursorValue is not None:
|
@@ -5992,6 +5994,8 @@ class Exchange(object):
|
|
5992
5994
|
response = getattr(self, method)(params)
|
5993
5995
|
elif method == 'getLeverageTiersPaginated' or method == 'fetchPositions':
|
5994
5996
|
response = getattr(self, method)(symbol, params)
|
5997
|
+
elif method == 'fetchOpenInterestHistory':
|
5998
|
+
response = getattr(self, method)(symbol, timeframe, since, maxEntriesPerRequest, params)
|
5995
5999
|
else:
|
5996
6000
|
response = getattr(self, method)(symbol, since, maxEntriesPerRequest, params)
|
5997
6001
|
errors = 0
|
ccxt/bybit.py
CHANGED
@@ -6702,7 +6702,8 @@ class bybit(Exchange, ImplicitAPI):
|
|
6702
6702
|
paginate = self.safe_bool(params, 'paginate')
|
6703
6703
|
if paginate:
|
6704
6704
|
params = self.omit(params, 'paginate')
|
6705
|
-
|
6705
|
+
params['timeframe'] = timeframe
|
6706
|
+
return self.fetch_paginated_call_cursor('fetchOpenInterestHistory', symbol, since, limit, params, 'nextPageCursor', 'cursor', None, 200)
|
6706
6707
|
market = self.market(symbol)
|
6707
6708
|
if market['spot'] or market['option']:
|
6708
6709
|
raise BadRequest(self.id + ' fetchOpenInterestHistory() symbol does not support market ' + symbol)
|
ccxt/gate.py
CHANGED
@@ -4420,6 +4420,7 @@ class gate(Exchange, ImplicitAPI):
|
|
4420
4420
|
"""
|
4421
4421
|
fetch all unfilled currently open orders
|
4422
4422
|
:see: https://www.gate.io/docs/developers/apiv4/en/#list-all-open-orders
|
4423
|
+
:see: https://www.gate.io/docs/developers/apiv4/en/#retrieve-running-auto-order-list
|
4423
4424
|
:param str symbol: unified market symbol
|
4424
4425
|
:param int [since]: the earliest time in ms to fetch open orders for
|
4425
4426
|
:param int [limit]: the maximum number of open orders structures to retrieve
|
ccxt/lbank.py
CHANGED
@@ -975,15 +975,15 @@ class lbank(Exchange, ImplicitAPI):
|
|
975
975
|
limit = min(limit, 2000)
|
976
976
|
if since is None:
|
977
977
|
duration = self.parse_timeframe(timeframe)
|
978
|
-
since = self.milliseconds() - duration * 1000 * limit
|
978
|
+
since = self.milliseconds() - (duration * 1000 * limit)
|
979
979
|
request: dict = {
|
980
980
|
'symbol': market['id'],
|
981
981
|
'type': self.safe_string(self.timeframes, timeframe, timeframe),
|
982
982
|
'time': self.parse_to_int(since / 1000),
|
983
|
-
'size': limit, # max 2000
|
983
|
+
'size': min(limit + 1, 2000), # max 2000
|
984
984
|
}
|
985
985
|
response = self.spotPublicGetKline(self.extend(request, params))
|
986
|
-
ohlcvs = self.
|
986
|
+
ohlcvs = self.safe_list(response, 'data', [])
|
987
987
|
#
|
988
988
|
#
|
989
989
|
# [
|
ccxt/phemex.py
CHANGED
@@ -82,6 +82,7 @@ class phemex(Exchange, ImplicitAPI):
|
|
82
82
|
'fetchMarkOHLCV': False,
|
83
83
|
'fetchMyTrades': True,
|
84
84
|
'fetchOHLCV': True,
|
85
|
+
'fetchOpenInterest': True,
|
85
86
|
'fetchOpenOrders': True,
|
86
87
|
'fetchOrder': True,
|
87
88
|
'fetchOrderBook': True,
|
@@ -4494,6 +4495,77 @@ class phemex(Exchange, ImplicitAPI):
|
|
4494
4495
|
data = self.safe_dict(response, 'data', {})
|
4495
4496
|
return self.parse_transaction(data, currency)
|
4496
4497
|
|
4498
|
+
def fetch_open_interest(self, symbol: str, params={}):
|
4499
|
+
"""
|
4500
|
+
retrieves the open interest of a trading pair
|
4501
|
+
:see: https://phemex-docs.github.io/#query-24-hours-ticker
|
4502
|
+
:param str symbol: unified CCXT market symbol
|
4503
|
+
:param dict [params]: exchange specific parameters
|
4504
|
+
:returns dict} an open interest structure{@link https://docs.ccxt.com/#/?id=open-interest-structure:
|
4505
|
+
"""
|
4506
|
+
self.load_markets()
|
4507
|
+
market = self.market(symbol)
|
4508
|
+
if not market['contract']:
|
4509
|
+
raise BadRequest(self.id + ' fetchOpenInterest is only supported for contract markets.')
|
4510
|
+
request: dict = {
|
4511
|
+
'symbol': market['id'],
|
4512
|
+
}
|
4513
|
+
response = self.v2GetMdV2Ticker24hr(self.extend(request, params))
|
4514
|
+
#
|
4515
|
+
# {
|
4516
|
+
# error: null,
|
4517
|
+
# id: '0',
|
4518
|
+
# result: {
|
4519
|
+
# closeRp: '67550.1',
|
4520
|
+
# fundingRateRr: '0.0001',
|
4521
|
+
# highRp: '68400',
|
4522
|
+
# indexPriceRp: '67567.15389794',
|
4523
|
+
# lowRp: '66096.4',
|
4524
|
+
# markPriceRp: '67550.1',
|
4525
|
+
# openInterestRv: '1848.1144186',
|
4526
|
+
# openRp: '66330',
|
4527
|
+
# predFundingRateRr: '0.0001',
|
4528
|
+
# symbol: 'BTCUSDT',
|
4529
|
+
# timestamp: '1729114315443343001',
|
4530
|
+
# turnoverRv: '228863389.3237532',
|
4531
|
+
# volumeRq: '3388.5600312'
|
4532
|
+
# }
|
4533
|
+
# }
|
4534
|
+
#
|
4535
|
+
result = self.safe_dict(response, 'result')
|
4536
|
+
return self.parse_open_interest(result, market)
|
4537
|
+
|
4538
|
+
def parse_open_interest(self, interest, market: Market = None):
|
4539
|
+
#
|
4540
|
+
# {
|
4541
|
+
# closeRp: '67550.1',
|
4542
|
+
# fundingRateRr: '0.0001',
|
4543
|
+
# highRp: '68400',
|
4544
|
+
# indexPriceRp: '67567.15389794',
|
4545
|
+
# lowRp: '66096.4',
|
4546
|
+
# markPriceRp: '67550.1',
|
4547
|
+
# openInterestRv: '1848.1144186',
|
4548
|
+
# openRp: '66330',
|
4549
|
+
# predFundingRateRr: '0.0001',
|
4550
|
+
# symbol: 'BTCUSDT',
|
4551
|
+
# timestamp: '1729114315443343001',
|
4552
|
+
# turnoverRv: '228863389.3237532',
|
4553
|
+
# volumeRq: '3388.5600312'
|
4554
|
+
# }
|
4555
|
+
#
|
4556
|
+
timestamp = self.safe_integer(interest, 'timestamp') / 1000000
|
4557
|
+
id = self.safe_string(interest, 'symbol')
|
4558
|
+
return self.safe_open_interest({
|
4559
|
+
'info': interest,
|
4560
|
+
'symbol': self.safe_symbol(id, market),
|
4561
|
+
'baseVolume': self.safe_string(interest, 'volumeRq'),
|
4562
|
+
'quoteVolume': None, # deprecated
|
4563
|
+
'openInterestAmount': self.safe_string(interest, 'openInterestRv'),
|
4564
|
+
'openInterestValue': None,
|
4565
|
+
'timestamp': timestamp,
|
4566
|
+
'datetime': self.iso8601(timestamp),
|
4567
|
+
}, market)
|
4568
|
+
|
4497
4569
|
def handle_errors(self, httpCode: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
|
4498
4570
|
if response is None:
|
4499
4571
|
return None # fallback to default error handler
|
ccxt/pro/__init__.py
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# ----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '4.4.
|
7
|
+
__version__ = '4.4.20'
|
8
8
|
|
9
9
|
# ----------------------------------------------------------------------------
|
10
10
|
|
@@ -37,6 +37,7 @@ from ccxt.pro.blofin import blofin # noqa
|
|
37
37
|
from ccxt.pro.bybit import bybit # noqa: F401
|
38
38
|
from ccxt.pro.cex import cex # noqa: F401
|
39
39
|
from ccxt.pro.coinbase import coinbase # noqa: F401
|
40
|
+
from ccxt.pro.coinbaseadvanced import coinbaseadvanced # noqa: F401
|
40
41
|
from ccxt.pro.coinbaseexchange import coinbaseexchange # noqa: F401
|
41
42
|
from ccxt.pro.coinbaseinternational import coinbaseinternational # noqa: F401
|
42
43
|
from ccxt.pro.coincheck import coincheck # noqa: F401
|
@@ -110,6 +111,7 @@ exchanges = [
|
|
110
111
|
'bybit',
|
111
112
|
'cex',
|
112
113
|
'coinbase',
|
114
|
+
'coinbaseadvanced',
|
113
115
|
'coinbaseexchange',
|
114
116
|
'coinbaseinternational',
|
115
117
|
'coincheck',
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
# PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
4
|
+
# https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
5
|
+
|
6
|
+
from ccxt.pro.coinbase import coinbase
|
7
|
+
|
8
|
+
|
9
|
+
class coinbaseadvanced(coinbase):
|
10
|
+
|
11
|
+
def describe(self):
|
12
|
+
return self.deep_extend(super(coinbaseadvanced, self).describe(), {
|
13
|
+
'id': 'coinbaseadvanced',
|
14
|
+
'name': 'Coinbase Advanced',
|
15
|
+
'alias': True,
|
16
|
+
})
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ccxt
|
3
|
-
Version: 4.4.
|
3
|
+
Version: 4.4.20
|
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
|
@@ -271,13 +271,13 @@ console.log(version, Object.keys(exchanges));
|
|
271
271
|
|
272
272
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
273
273
|
|
274
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.
|
275
|
-
* unpkg: https://unpkg.com/ccxt@4.4.
|
274
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.20/dist/ccxt.browser.min.js
|
275
|
+
* unpkg: https://unpkg.com/ccxt@4.4.20/dist/ccxt.browser.min.js
|
276
276
|
|
277
277
|
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.
|
278
278
|
|
279
279
|
```HTML
|
280
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.
|
280
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.20/dist/ccxt.browser.min.js"></script>
|
281
281
|
```
|
282
282
|
|
283
283
|
Creates a global `ccxt` object:
|
@@ -1,4 +1,4 @@
|
|
1
|
-
ccxt/__init__.py,sha256=
|
1
|
+
ccxt/__init__.py,sha256=tKK1YYAQ5sGJE0BbbzQ2i8wYvSNeMF1ow5bzLZME--I,16486
|
2
2
|
ccxt/ace.py,sha256=3KFlbRm6N9hXsKUsgZbQCFPZT5WGLm4HOjR19Q3uPts,42419
|
3
3
|
ccxt/alpaca.py,sha256=nVQJ8vG4JrjEvMlu_nPoyR2lBq41j9Z2smPq95nDhng,47504
|
4
4
|
ccxt/ascendex.py,sha256=aJ5_UysmRijYUvjenq5EDLldl2JUO6lXGofJ_NqPvJU,151676
|
@@ -35,7 +35,7 @@ ccxt/btcalpha.py,sha256=plU5SSsJn0ZMLW7I8sXb_L0Woc3-kamGMSlqPGujUzE,36751
|
|
35
35
|
ccxt/btcbox.py,sha256=lvY7cgoe4tglaQiTJZ4vILmzvoEjAWxgswRuB2iYzmE,27780
|
36
36
|
ccxt/btcmarkets.py,sha256=WDDbtbUQ9I0odVZp8nJdIjc4-zv4li49EDSt8EqQbRU,52733
|
37
37
|
ccxt/btcturk.py,sha256=jSA4UnD1GiJu24gXNkfb94f-zXifP5By_Ptery_cMnY,37024
|
38
|
-
ccxt/bybit.py,sha256=
|
38
|
+
ccxt/bybit.py,sha256=IkafXZJVGyn8SIYAuZtQ-0S1MhTLeFkzJ6o8R0rJWgs,441554
|
39
39
|
ccxt/cex.py,sha256=C1j8Vk2duXt4TuKINJ7VWivVY54sOIo-FzE6dn_laWU,70211
|
40
40
|
ccxt/coinbase.py,sha256=CNDpskULlvJ8PLjb0tXp_PifmYXYImX8ZjB4Kvx5NqY,218725
|
41
41
|
ccxt/coinbaseadvanced.py,sha256=d5g6nRx-NCcCwZDdtp8FsI2D-pRjSvnAP9ISSKY_nCQ,538
|
@@ -56,7 +56,7 @@ ccxt/deribit.py,sha256=x1TVHGfPxm9jL1Woxb-sLWZ-UdeGMiuVy4bdQGNRBO8,161694
|
|
56
56
|
ccxt/digifinex.py,sha256=HUxkYS2UbrAqiPuzPPMBMFLEahiIuiOElGDxRt4Gk7o,171005
|
57
57
|
ccxt/exmo.py,sha256=uCv9bsFzelhAHi_tIQe75X30csJvYizuCK09vU3NC4g,114777
|
58
58
|
ccxt/fmfwio.py,sha256=RbVLvzPwnqfDsE7Ea-N13ISCC82eJVPsXYjrleASmew,1236
|
59
|
-
ccxt/gate.py,sha256=
|
59
|
+
ccxt/gate.py,sha256=_sbC6tMv7QCVFYuzdv6czz4x4TdMxfgCIVUKmQpfGd8,331621
|
60
60
|
ccxt/gateio.py,sha256=86AETJWODl_vA5VNeQRHZprmpNIY1HAxCddKZcnKSi8,445
|
61
61
|
ccxt/gemini.py,sha256=cFAHx-qA26A9WMJ3i6f_uQH83Q4k6UDwS8zBQcLI5Fs,81056
|
62
62
|
ccxt/hashkey.py,sha256=LMV9wPTn2_qT2om74OdF-IfHreaySxNHOilsNDrgB7Q,192148
|
@@ -76,7 +76,7 @@ ccxt/kucoin.py,sha256=Bfhrue_5ZiJNzetgqOJvsiOxDZwN4qAyXewZEepqtLE,231819
|
|
76
76
|
ccxt/kucoinfutures.py,sha256=fgSjDKPyDixiQnmCpjTnBazjqWVg15ziKgBAp2Xq9kM,139376
|
77
77
|
ccxt/kuna.py,sha256=wL4QciCkKXgOSnmMP2mkSq9HlL7Gsz-c2s75rH5YZkA,96074
|
78
78
|
ccxt/latoken.py,sha256=wBhaMcTEsB316nFCxm_WbLRZ_G2Q0Vi1FK-850Q07D0,79516
|
79
|
-
ccxt/lbank.py,sha256=
|
79
|
+
ccxt/lbank.py,sha256=zFByIRV1v23oknBPkLIN0ZGaewr-siQzv84aoQRFRNA,116266
|
80
80
|
ccxt/luno.py,sha256=P3cZ_CnVyjMjDFn5e7jaev-pqs_rgmWQTsiJThRtffE,46353
|
81
81
|
ccxt/lykke.py,sha256=3la3ckeV8v_i7UdspYRJRwQ9ZzyHph88JK01kgXOeX8,51550
|
82
82
|
ccxt/mercado.py,sha256=LWCh89IzXu-yhPGqhkdPW6wqOqfO8nmbSQhAyYiSH8U,35710
|
@@ -91,7 +91,7 @@ ccxt/oxfun.py,sha256=uFrS6oO6rvyXmocqPwAxVzczg0IG-BZeqRmNcNcTTig,124875
|
|
91
91
|
ccxt/p2b.py,sha256=iPzHv663K8F1F0uTWEYpfQBcaqowY8MQ5tZt2ZNpoQE,54290
|
92
92
|
ccxt/paradex.py,sha256=srDConLWOPbnIi6k8_3g232vyhfnVOn5hAE_A7Z6scE,85667
|
93
93
|
ccxt/paymium.py,sha256=1vS0eW96jgFDrl5BUvubqMNWwywcswUxzzYsZW3NciI,24552
|
94
|
-
ccxt/phemex.py,sha256=
|
94
|
+
ccxt/phemex.py,sha256=9tfTblQaQrJ3YsogfSZoBrXQiCrKCqCTpr9vP9lRdkk,226899
|
95
95
|
ccxt/poloniex.py,sha256=-jsr_QurlQ-Zck6vUONWwBTHZe1g_CtSddxd3fDo4Kc,102504
|
96
96
|
ccxt/poloniexfutures.py,sha256=pPAI2e0rGI6D7ESB8zVEb0faswQI1PKSESXBqZwcADs,80045
|
97
97
|
ccxt/probit.py,sha256=NsGAJu5c3Ey7ebhEMkwGqVMgIDIAOTFL4cjQLJ1-kPs,76334
|
@@ -218,7 +218,7 @@ 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=jkch6fN9zu-ZzvzCs1ltnQ5wZIRS5eZWdgHVXRd3q8k,16289
|
222
222
|
ccxt/async_support/ace.py,sha256=ucCkKaWRkILAIK9g4iEi1Q_-zmn0V89-rX8Al4WdK8s,42643
|
223
223
|
ccxt/async_support/alpaca.py,sha256=HxonsP_MzbE7Z9r6hZ1rgmf_jPcP4H7H3z1YQgCv4qc,47716
|
224
224
|
ccxt/async_support/ascendex.py,sha256=YcGVveIDir8A1rDak-DdS_qVO1yPwAUX9sRDwCVNX80,152489
|
@@ -255,7 +255,7 @@ ccxt/async_support/btcalpha.py,sha256=8OefA3GsJ27eAL44yQQcRNOruHXAwTemjTPkpLKwjE
|
|
255
255
|
ccxt/async_support/btcbox.py,sha256=rBXxuvdQaku5QYseQ4XSvMrCkohDefYmf-rGeS9W0IU,28004
|
256
256
|
ccxt/async_support/btcmarkets.py,sha256=fTf_MDIM7NMwpbv6X5lYPLNg8tFKcviNiUB7N3yO6FI,53083
|
257
257
|
ccxt/async_support/btcturk.py,sha256=Uq9rXMoDkXIy0nw1rzmw2e8eeRepcNtXKNYuw-02tkM,37242
|
258
|
-
ccxt/async_support/bybit.py,sha256=
|
258
|
+
ccxt/async_support/bybit.py,sha256=p_tjVgMp360vNN8-iWLM_4xeM1E38hoDDFXIur8unv8,443573
|
259
259
|
ccxt/async_support/cex.py,sha256=HzFy4eP5qVwbXzq96VyjgJmXxK3DWUxHqJ1nHuV28cQ,70561
|
260
260
|
ccxt/async_support/coinbase.py,sha256=XsAHx1vPMpsWcCbz6WYlY6J68luojlE3Xw5wzsaiE7U,219879
|
261
261
|
ccxt/async_support/coinbaseadvanced.py,sha256=Kupwnuxiu_qTjwCNV2asacoDUNFQvcaHNAznUJPhdQs,552
|
@@ -276,7 +276,7 @@ ccxt/async_support/deribit.py,sha256=HEqDGpYgre-vZyb5wr1RzjiZ_ZSeY29geRMWSxga9dw
|
|
276
276
|
ccxt/async_support/digifinex.py,sha256=RaYiL8nPU0HkyJ0XxkZBBTJ36JBGRmmjcFvHxlKN7ug,171987
|
277
277
|
ccxt/async_support/exmo.py,sha256=HNrYN1fOnvhB26u-epXzK2xs3AqPUAgTmdRTtFu-dzw,115409
|
278
278
|
ccxt/async_support/fmfwio.py,sha256=lzfSnPrB2ARcC3EIqAuBM4vyg6LJ6n8RE71Zvt3ez1s,1250
|
279
|
-
ccxt/async_support/gate.py,sha256=
|
279
|
+
ccxt/async_support/gate.py,sha256=oz8FCqc9_BPt4EJlvGDskb10xoZnr9UnbHo_peya3Wk,333364
|
280
280
|
ccxt/async_support/gateio.py,sha256=6_t032F9p9x5KGTjtSuqGXITzFOx-XAQBYLpsuQjzxw,459
|
281
281
|
ccxt/async_support/gemini.py,sha256=gy0ALSeHrenXa2aJoAW1alVOgF6rUNxUoydX5Degikc,81580
|
282
282
|
ccxt/async_support/hashkey.py,sha256=XaSBqm0eh3R_2HCbOCZWaLuqJwVg5DJbttvfFYJpNZA,192990
|
@@ -296,7 +296,7 @@ ccxt/async_support/kucoin.py,sha256=DSsWZ2nxE64-gX5E-0dZLWEvxSdJb-MBL9_GMaJnKvY,
|
|
296
296
|
ccxt/async_support/kucoinfutures.py,sha256=5cRGLy4MKfD7gmA8GMZdv3697BD_I7WBgR-zOgxVXss,140158
|
297
297
|
ccxt/async_support/kuna.py,sha256=_8S74LqI1c5zbCbaSfJgUsVyqus9gB2OV9s3UMXkzYQ,96490
|
298
298
|
ccxt/async_support/latoken.py,sha256=9BUu8akWtbBtAzVr_c_cYLkiLQqcJdSdkJbHmuLee-Y,79992
|
299
|
-
ccxt/async_support/lbank.py,sha256=
|
299
|
+
ccxt/async_support/lbank.py,sha256=Xc-lvLvb1VRCMOZefhegLOKXal_EDNo90ed7RKNC8Is,116978
|
300
300
|
ccxt/async_support/luno.py,sha256=WRQ5uH3Wr1HHZa9ZtcWCYdrmz-Y8proS5XOGZpBtiZo,46691
|
301
301
|
ccxt/async_support/lykke.py,sha256=E5n93dUuUShGO8wXogPMQkotguYpJFWM12aT_lTwEoM,51864
|
302
302
|
ccxt/async_support/mercado.py,sha256=mb7ULqvEr9PQ7jBOpQxiufgYzwTeAfr0G2NZmrUeUgs,35952
|
@@ -311,7 +311,7 @@ ccxt/async_support/oxfun.py,sha256=26g7I24m8le35qcEqFVZGfiEv3sP3pOIu53724Bz5k0,1
|
|
311
311
|
ccxt/async_support/p2b.py,sha256=VKUX8u7gtHkKDwBjAyskScm2FEs6xxDuKLXE-jSHXwY,54532
|
312
312
|
ccxt/async_support/paradex.py,sha256=e46UVIJU0WlwE1sPb6rvs0f60S6vjcdnNXhG2locNUY,86275
|
313
313
|
ccxt/async_support/paymium.py,sha256=f-MjNo1HrLTMaMk7CcRGEzj-94ynqeNvIVMNjKbwqtI,24740
|
314
|
-
ccxt/async_support/phemex.py,sha256=
|
314
|
+
ccxt/async_support/phemex.py,sha256=iXDeZa2LgnGcURLrj-RVTwUv1IBYDKJUD4pv1S8nhbs,227735
|
315
315
|
ccxt/async_support/poloniex.py,sha256=dTLebALH02oksjxkRzd9iw8L_f6LE-R7ye5syj6o4b4,103052
|
316
316
|
ccxt/async_support/poloniexfutures.py,sha256=g3UO7uueR0KtJbkG3O88UsSTsU2IqwTqlIdzo9wY6mM,80443
|
317
317
|
ccxt/async_support/probit.py,sha256=UruCE3NPDPXM2VoWa8Rk6vy5wEPM9wauOLd3RvGGmk8,76726
|
@@ -330,7 +330,7 @@ ccxt/async_support/yobit.py,sha256=YtkLczlb641VjUYTfEMfS-BPUTdXQTHAPkearuXkXDQ,5
|
|
330
330
|
ccxt/async_support/zaif.py,sha256=-ZTr8M2JaIRCL90VrbCDXBMAsZwbiwsFChSQ2rWODuQ,29044
|
331
331
|
ccxt/async_support/zonda.py,sha256=Z4gA6o0bF_4MarQ5KiR2Zwi2wpmOuZTHS1JChAtNWjo,83114
|
332
332
|
ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
|
333
|
-
ccxt/async_support/base/exchange.py,sha256=
|
333
|
+
ccxt/async_support/base/exchange.py,sha256=suGGhZdu0Aol2eN6fjnnkI31kkovmjME7EWjgk7Um0w,113806
|
334
334
|
ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
|
335
335
|
ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
|
336
336
|
ccxt/async_support/base/ws/aiohttp_client.py,sha256=5IEiT0elWI9a7Vr-KV0jgmlbpLJWBzIlrLaCkTKGaqY,5752
|
@@ -344,10 +344,10 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=GhnGUt78pJ-AYL_Dq9produGjmB
|
|
344
344
|
ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
|
345
345
|
ccxt/base/decimal_to_precision.py,sha256=fgWRBzRTtsf3r2INyS4f7WHlzgjB5YM1ekiwqD21aac,6634
|
346
346
|
ccxt/base/errors.py,sha256=Pad-6ugvGUwhoYuKUliX-N7FTrcnKCQGFjsaq2tMn0I,4610
|
347
|
-
ccxt/base/exchange.py,sha256=
|
347
|
+
ccxt/base/exchange.py,sha256=jtcCuY-T2140yzFa5qy6bqE7H-d2iIpzORjjLz1oiDM,301861
|
348
348
|
ccxt/base/precise.py,sha256=koce64Yrp6vFbGijJtUt-QQ6XhJgeGTCksZ871FPp_A,8886
|
349
349
|
ccxt/base/types.py,sha256=ikIahyhQe32e8y89-wrlcuRNQvExWkbijP2YSlTH2WM,10033
|
350
|
-
ccxt/pro/__init__.py,sha256=
|
350
|
+
ccxt/pro/__init__.py,sha256=8Uoip4bZN5bo2Ie2I-clT-HfpfRO5A1zL-0mG6ZYfUM,7821
|
351
351
|
ccxt/pro/alpaca.py,sha256=xh1yg1Ok-Zh_Mfx-MBjNrfJDs6MUU0exFfEj3GuQPC4,27631
|
352
352
|
ccxt/pro/ascendex.py,sha256=QueLgISoIxgGSOta2W7En4pwAsEXbTP5q5ef4UjpTQQ,37524
|
353
353
|
ccxt/pro/bequant.py,sha256=33OEUWBi4D9-2w8CmkwN3aF1qS-AlLqX3pxrWwNbXPY,1552
|
@@ -373,6 +373,7 @@ ccxt/pro/blofin.py,sha256=pALlkuzdFZuxCaSxYfqog98x7BM8G0nqUTCke4WfUt0,31345
|
|
373
373
|
ccxt/pro/bybit.py,sha256=PjSEQaOmO7BZNh5Df3USmVmhI1X6qVw0hXN8qfvcp9s,108243
|
374
374
|
ccxt/pro/cex.py,sha256=7HFtbjDOijpamdCv3ddlqkQ6exO2jN5MZ5dtXvRg2Og,58577
|
375
375
|
ccxt/pro/coinbase.py,sha256=hwd8lUuaW8WyQQOh9WvBVuiuOJTpmlCXU0hL3UE8UFQ,31411
|
376
|
+
ccxt/pro/coinbaseadvanced.py,sha256=Ohg1LAJbfQ7Df7cazejupZ6QeOs5eddvNolAD6ssKIA,474
|
376
377
|
ccxt/pro/coinbaseexchange.py,sha256=eoDBwYvGK__zGtC0yNRk2evWwQAD6XpjMHcpubjBt2U,39027
|
377
378
|
ccxt/pro/coinbaseinternational.py,sha256=1ykwnp6XaOqvH0HILlZvrJdgvscF2lnZfIyn5U9tqWY,32250
|
378
379
|
ccxt/pro/coincheck.py,sha256=zzZcPmL4Vibh_Sjont-3D8z-E11ugVQVqPakHQxpgKs,7851
|
@@ -650,8 +651,8 @@ ccxt/test/tests_async.py,sha256=IOkbqZXUViJ1KtDIlE63EZaU3z31_OR2iI6yL0azKL0,8500
|
|
650
651
|
ccxt/test/tests_helpers.py,sha256=z5TiaK0WyUCmM_uGTFz7cgMNqNwG_SMI9qk7yec5ces,9693
|
651
652
|
ccxt/test/tests_init.py,sha256=GodMIrJue4KBHHqD4vSPZxokPWpxbZIuEp19UdxlFAg,1166
|
652
653
|
ccxt/test/tests_sync.py,sha256=c9hEBBjaLRJ-rqGiR-SpVUXcFJsvrZ7mxhLKb7TJWEc,84062
|
653
|
-
ccxt-4.4.
|
654
|
-
ccxt-4.4.
|
655
|
-
ccxt-4.4.
|
656
|
-
ccxt-4.4.
|
657
|
-
ccxt-4.4.
|
654
|
+
ccxt-4.4.20.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
|
655
|
+
ccxt-4.4.20.dist-info/METADATA,sha256=L7MNu_B7etB4XNRqI6fQl3keyfcNwc5LVkbJYXoVbiw,114487
|
656
|
+
ccxt-4.4.20.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
|
657
|
+
ccxt-4.4.20.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
|
658
|
+
ccxt-4.4.20.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|