ccxt 4.2.91__py2.py3-none-any.whl → 4.2.92__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/abstract/bybit.py +1 -0
- ccxt/async_support/__init__.py +1 -1
- ccxt/async_support/base/exchange.py +1 -1
- ccxt/async_support/bybit.py +1 -0
- ccxt/async_support/deribit.py +111 -101
- ccxt/async_support/kraken.py +55 -6
- ccxt/base/exchange.py +5 -2
- ccxt/bybit.py +1 -0
- ccxt/deribit.py +111 -101
- ccxt/kraken.py +55 -6
- ccxt/pro/__init__.py +1 -1
- {ccxt-4.2.91.dist-info → ccxt-4.2.92.dist-info}/METADATA +4 -4
- {ccxt-4.2.91.dist-info → ccxt-4.2.92.dist-info}/RECORD +16 -16
- {ccxt-4.2.91.dist-info → ccxt-4.2.92.dist-info}/WHEEL +0 -0
- {ccxt-4.2.91.dist-info → ccxt-4.2.92.dist-info}/top_level.txt +0 -0
ccxt/__init__.py
CHANGED
ccxt/abstract/bybit.py
CHANGED
@@ -173,6 +173,7 @@ class ImplicitAPI:
|
|
173
173
|
private_get_v5_broker_earning_record = privateGetV5BrokerEarningRecord = Entry('v5/broker/earning-record', 'private', 'GET', {'cost': 5})
|
174
174
|
private_get_v5_broker_earnings_info = privateGetV5BrokerEarningsInfo = Entry('v5/broker/earnings-info', 'private', 'GET', {'cost': 5})
|
175
175
|
private_get_v5_broker_account_info = privateGetV5BrokerAccountInfo = Entry('v5/broker/account-info', 'private', 'GET', {'cost': 5})
|
176
|
+
private_get_v5_broker_asset_query_sub_member_deposit_record = privateGetV5BrokerAssetQuerySubMemberDepositRecord = Entry('v5/broker/asset/query-sub-member-deposit-record', 'private', 'GET', {'cost': 10})
|
176
177
|
private_post_option_usdc_openapi_private_v1_place_order = privatePostOptionUsdcOpenapiPrivateV1PlaceOrder = Entry('option/usdc/openapi/private/v1/place-order', 'private', 'POST', {'cost': 2.5})
|
177
178
|
private_post_option_usdc_openapi_private_v1_replace_order = privatePostOptionUsdcOpenapiPrivateV1ReplaceOrder = Entry('option/usdc/openapi/private/v1/replace-order', 'private', 'POST', {'cost': 2.5})
|
178
179
|
private_post_option_usdc_openapi_private_v1_cancel_order = privatePostOptionUsdcOpenapiPrivateV1CancelOrder = Entry('option/usdc/openapi/private/v1/cancel-order', 'private', 'POST', {'cost': 2.5})
|
ccxt/async_support/__init__.py
CHANGED
ccxt/async_support/bybit.py
CHANGED
ccxt/async_support/deribit.py
CHANGED
@@ -692,117 +692,127 @@ class deribit(Exchange, ImplicitAPI):
|
|
692
692
|
"""
|
693
693
|
retrieves data on all markets for deribit
|
694
694
|
:see: https://docs.deribit.com/#public-get_currencies
|
695
|
+
:see: https://docs.deribit.com/#public-get_instruments
|
695
696
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
696
697
|
:returns dict[]: an array of objects representing market data
|
697
698
|
"""
|
698
|
-
|
699
|
-
#
|
700
|
-
# {
|
701
|
-
# "jsonrpc": "2.0",
|
702
|
-
# "result": [
|
703
|
-
# {
|
704
|
-
# "withdrawal_priorities": [
|
705
|
-
# {value: 0.15, name: "very_low"},
|
706
|
-
# {value: 1.5, name: "very_high"},
|
707
|
-
# ],
|
708
|
-
# "withdrawal_fee": 0.0005,
|
709
|
-
# "min_withdrawal_fee": 0.0005,
|
710
|
-
# "min_confirmations": 1,
|
711
|
-
# "fee_precision": 4,
|
712
|
-
# "currency_long": "Bitcoin",
|
713
|
-
# "currency": "BTC",
|
714
|
-
# "coin_type": "BITCOIN"
|
715
|
-
# }
|
716
|
-
# ],
|
717
|
-
# "usIn": 1583761588590479,
|
718
|
-
# "usOut": 1583761588590544,
|
719
|
-
# "usDiff": 65,
|
720
|
-
# "testnet": False
|
721
|
-
# }
|
722
|
-
#
|
723
|
-
parsedMarkets = {}
|
724
|
-
currenciesResult = self.safe_value(currenciesResponse, 'result', [])
|
699
|
+
instrumentsResponses = []
|
725
700
|
result = []
|
726
|
-
|
727
|
-
|
728
|
-
|
729
|
-
|
730
|
-
|
731
|
-
|
701
|
+
parsedMarkets = {}
|
702
|
+
fetchAllMarkets = None
|
703
|
+
fetchAllMarkets, params = self.handle_option_and_params(params, 'fetchMarkets', 'fetchAllMarkets', True)
|
704
|
+
if fetchAllMarkets:
|
705
|
+
instrumentsResponse = await self.publicGetGetInstruments(params)
|
706
|
+
instrumentsResponses.append(instrumentsResponse)
|
707
|
+
else:
|
708
|
+
currenciesResponse = await self.publicGetGetCurrencies(params)
|
732
709
|
#
|
733
710
|
# {
|
734
|
-
# "jsonrpc":"2.0",
|
735
|
-
# "result":[
|
736
|
-
# {
|
737
|
-
# "tick_size":0.0005,
|
738
|
-
# "taker_commission":0.0003,
|
739
|
-
# "strike":52000.0,
|
740
|
-
# "settlement_period":"month",
|
741
|
-
# "settlement_currency":"BTC",
|
742
|
-
# "quote_currency":"BTC",
|
743
|
-
# "option_type":"put", # put, call
|
744
|
-
# "min_trade_amount":0.1,
|
745
|
-
# "maker_commission":0.0003,
|
746
|
-
# "kind":"option",
|
747
|
-
# "is_active":true,
|
748
|
-
# "instrument_name":"BTC-24JUN22-52000-P",
|
749
|
-
# "expiration_timestamp":1656057600000,
|
750
|
-
# "creation_timestamp":1648199543000,
|
751
|
-
# "counter_currency":"USD",
|
752
|
-
# "contract_size":1.0,
|
753
|
-
# "block_trade_commission":0.0003,
|
754
|
-
# "base_currency":"BTC"
|
755
|
-
# },
|
711
|
+
# "jsonrpc": "2.0",
|
712
|
+
# "result": [
|
756
713
|
# {
|
757
|
-
# "
|
758
|
-
#
|
759
|
-
#
|
760
|
-
#
|
761
|
-
# "
|
762
|
-
# "
|
763
|
-
# "
|
764
|
-
# "
|
765
|
-
# "
|
766
|
-
# "
|
767
|
-
# "
|
768
|
-
#
|
769
|
-
# "future_type":"reversed",
|
770
|
-
# "expiration_timestamp":1653638400000,
|
771
|
-
# "creation_timestamp":1648195209000,
|
772
|
-
# "counter_currency":"USD",
|
773
|
-
# "contract_size":10.0,
|
774
|
-
# "block_trade_commission":0.0001,
|
775
|
-
# "base_currency":"BTC"
|
776
|
-
# },
|
777
|
-
# {
|
778
|
-
# "tick_size":0.5,
|
779
|
-
# "taker_commission":0.0005,
|
780
|
-
# "settlement_period":"perpetual",
|
781
|
-
# "settlement_currency":"BTC",
|
782
|
-
# "quote_currency":"USD",
|
783
|
-
# "min_trade_amount":10.0,
|
784
|
-
# "max_liquidation_commission":0.0075,
|
785
|
-
# "max_leverage":50,
|
786
|
-
# "maker_commission":0.0,
|
787
|
-
# "kind":"future",
|
788
|
-
# "is_active":true,
|
789
|
-
# "instrument_name":"BTC-PERPETUAL",
|
790
|
-
# "future_type":"reversed",
|
791
|
-
# "expiration_timestamp":32503708800000,
|
792
|
-
# "creation_timestamp":1534242287000,
|
793
|
-
# "counter_currency":"USD",
|
794
|
-
# "contract_size":10.0,
|
795
|
-
# "block_trade_commission":0.0001,
|
796
|
-
# "base_currency":"BTC"
|
797
|
-
# },
|
714
|
+
# "withdrawal_priorities": [
|
715
|
+
# {value: 0.15, name: "very_low"},
|
716
|
+
# {value: 1.5, name: "very_high"},
|
717
|
+
# ],
|
718
|
+
# "withdrawal_fee": 0.0005,
|
719
|
+
# "min_withdrawal_fee": 0.0005,
|
720
|
+
# "min_confirmations": 1,
|
721
|
+
# "fee_precision": 4,
|
722
|
+
# "currency_long": "Bitcoin",
|
723
|
+
# "currency": "BTC",
|
724
|
+
# "coin_type": "BITCOIN"
|
725
|
+
# }
|
798
726
|
# ],
|
799
|
-
# "usIn":
|
800
|
-
# "usOut":
|
801
|
-
# "usDiff":
|
802
|
-
# "testnet":
|
727
|
+
# "usIn": 1583761588590479,
|
728
|
+
# "usOut": 1583761588590544,
|
729
|
+
# "usDiff": 65,
|
730
|
+
# "testnet": False
|
803
731
|
# }
|
804
732
|
#
|
805
|
-
|
733
|
+
currenciesResult = self.safe_value(currenciesResponse, 'result', [])
|
734
|
+
for i in range(0, len(currenciesResult)):
|
735
|
+
currencyId = self.safe_string(currenciesResult[i], 'currency')
|
736
|
+
request = {
|
737
|
+
'currency': currencyId,
|
738
|
+
}
|
739
|
+
instrumentsResponse = await self.publicGetGetInstruments(self.extend(request, params))
|
740
|
+
#
|
741
|
+
# {
|
742
|
+
# "jsonrpc":"2.0",
|
743
|
+
# "result":[
|
744
|
+
# {
|
745
|
+
# "tick_size":0.0005,
|
746
|
+
# "taker_commission":0.0003,
|
747
|
+
# "strike":52000.0,
|
748
|
+
# "settlement_period":"month",
|
749
|
+
# "settlement_currency":"BTC",
|
750
|
+
# "quote_currency":"BTC",
|
751
|
+
# "option_type":"put", # put, call
|
752
|
+
# "min_trade_amount":0.1,
|
753
|
+
# "maker_commission":0.0003,
|
754
|
+
# "kind":"option",
|
755
|
+
# "is_active":true,
|
756
|
+
# "instrument_name":"BTC-24JUN22-52000-P",
|
757
|
+
# "expiration_timestamp":1656057600000,
|
758
|
+
# "creation_timestamp":1648199543000,
|
759
|
+
# "counter_currency":"USD",
|
760
|
+
# "contract_size":1.0,
|
761
|
+
# "block_trade_commission":0.0003,
|
762
|
+
# "base_currency":"BTC"
|
763
|
+
# },
|
764
|
+
# {
|
765
|
+
# "tick_size":0.5,
|
766
|
+
# "taker_commission":0.0005,
|
767
|
+
# "settlement_period":"month", # month, week
|
768
|
+
# "settlement_currency":"BTC",
|
769
|
+
# "quote_currency":"USD",
|
770
|
+
# "min_trade_amount":10.0,
|
771
|
+
# "max_liquidation_commission":0.0075,
|
772
|
+
# "max_leverage":50,
|
773
|
+
# "maker_commission":0.0,
|
774
|
+
# "kind":"future",
|
775
|
+
# "is_active":true,
|
776
|
+
# "instrument_name":"BTC-27MAY22",
|
777
|
+
# "future_type":"reversed",
|
778
|
+
# "expiration_timestamp":1653638400000,
|
779
|
+
# "creation_timestamp":1648195209000,
|
780
|
+
# "counter_currency":"USD",
|
781
|
+
# "contract_size":10.0,
|
782
|
+
# "block_trade_commission":0.0001,
|
783
|
+
# "base_currency":"BTC"
|
784
|
+
# },
|
785
|
+
# {
|
786
|
+
# "tick_size":0.5,
|
787
|
+
# "taker_commission":0.0005,
|
788
|
+
# "settlement_period":"perpetual",
|
789
|
+
# "settlement_currency":"BTC",
|
790
|
+
# "quote_currency":"USD",
|
791
|
+
# "min_trade_amount":10.0,
|
792
|
+
# "max_liquidation_commission":0.0075,
|
793
|
+
# "max_leverage":50,
|
794
|
+
# "maker_commission":0.0,
|
795
|
+
# "kind":"future",
|
796
|
+
# "is_active":true,
|
797
|
+
# "instrument_name":"BTC-PERPETUAL",
|
798
|
+
# "future_type":"reversed",
|
799
|
+
# "expiration_timestamp":32503708800000,
|
800
|
+
# "creation_timestamp":1534242287000,
|
801
|
+
# "counter_currency":"USD",
|
802
|
+
# "contract_size":10.0,
|
803
|
+
# "block_trade_commission":0.0001,
|
804
|
+
# "base_currency":"BTC"
|
805
|
+
# },
|
806
|
+
# ],
|
807
|
+
# "usIn":1648691472831791,
|
808
|
+
# "usOut":1648691472831896,
|
809
|
+
# "usDiff":105,
|
810
|
+
# "testnet":false
|
811
|
+
# }
|
812
|
+
#
|
813
|
+
instrumentsResponses.append(instrumentsResponse)
|
814
|
+
for i in range(0, len(instrumentsResponses)):
|
815
|
+
instrumentsResult = self.safe_value(instrumentsResponses[i], 'result', [])
|
806
816
|
for k in range(0, len(instrumentsResult)):
|
807
817
|
market = instrumentsResult[k]
|
808
818
|
kind = self.safe_string(market, 'kind')
|
ccxt/async_support/kraken.py
CHANGED
@@ -2529,15 +2529,15 @@ class kraken(Exchange, ImplicitAPI):
|
|
2529
2529
|
"""
|
2530
2530
|
fetch all open positions
|
2531
2531
|
:see: https://docs.kraken.com/rest/#tag/Account-Data/operation/getOpenPositions
|
2532
|
-
:param str[]
|
2532
|
+
:param str[] [symbols]: not used by kraken fetchPositions()
|
2533
2533
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
2534
2534
|
:returns dict[]: a list of `position structure <https://docs.ccxt.com/#/?id=position-structure>`
|
2535
2535
|
"""
|
2536
2536
|
await self.load_markets()
|
2537
2537
|
request = {
|
2538
2538
|
# 'txid': 'comma delimited list of transaction ids to restrict output to',
|
2539
|
-
|
2540
|
-
|
2539
|
+
'docalcs': 'true', # whether or not to include profit/loss calculations
|
2540
|
+
'consolidation': 'market', # what to consolidate the positions data around, market will consolidate positions based on market pair
|
2541
2541
|
}
|
2542
2542
|
response = await self.privatePostOpenPositions(self.extend(request, params))
|
2543
2543
|
#
|
@@ -2585,9 +2585,58 @@ class kraken(Exchange, ImplicitAPI):
|
|
2585
2585
|
# ]
|
2586
2586
|
# }
|
2587
2587
|
#
|
2588
|
-
|
2589
|
-
|
2590
|
-
|
2588
|
+
symbols = self.market_symbols(symbols)
|
2589
|
+
result = self.safe_list(response, 'result')
|
2590
|
+
results = self.parse_positions(result, symbols)
|
2591
|
+
return self.filter_by_array_positions(results, 'symbol', symbols, False)
|
2592
|
+
|
2593
|
+
def parse_position(self, position, market: Market = None):
|
2594
|
+
#
|
2595
|
+
# {
|
2596
|
+
# "pair": "ETHUSDT",
|
2597
|
+
# "positions": "1",
|
2598
|
+
# "type": "buy",
|
2599
|
+
# "leverage": "2.00000",
|
2600
|
+
# "cost": "28.49800",
|
2601
|
+
# "fee": "0.07979",
|
2602
|
+
# "vol": "0.02000000",
|
2603
|
+
# "vol_closed": "0.00000000",
|
2604
|
+
# "margin": "14.24900"
|
2605
|
+
# }
|
2606
|
+
#
|
2607
|
+
marketId = self.safe_string(position, 'pair')
|
2608
|
+
rawSide = self.safe_string(position, 'type')
|
2609
|
+
side = 'long' if (rawSide == 'buy') else 'short'
|
2610
|
+
return self.safe_position({
|
2611
|
+
'info': position,
|
2612
|
+
'id': None,
|
2613
|
+
'symbol': self.safe_symbol(marketId, market),
|
2614
|
+
'notional': None,
|
2615
|
+
'marginMode': None,
|
2616
|
+
'liquidationPrice': None,
|
2617
|
+
'entryPrice': None,
|
2618
|
+
'unrealizedPnl': self.safe_number(position, 'net'),
|
2619
|
+
'realizedPnl': None,
|
2620
|
+
'percentage': None,
|
2621
|
+
'contracts': self.safe_number(position, 'vol'),
|
2622
|
+
'contractSize': None,
|
2623
|
+
'markPrice': None,
|
2624
|
+
'lastPrice': None,
|
2625
|
+
'side': side,
|
2626
|
+
'hedged': None,
|
2627
|
+
'timestamp': None,
|
2628
|
+
'datetime': None,
|
2629
|
+
'lastUpdateTimestamp': None,
|
2630
|
+
'maintenanceMargin': None,
|
2631
|
+
'maintenanceMarginPercentage': None,
|
2632
|
+
'collateral': None,
|
2633
|
+
'initialMargin': self.safe_number(position, 'margin'),
|
2634
|
+
'initialMarginPercentage': None,
|
2635
|
+
'leverage': self.safe_number(position, 'leverage'),
|
2636
|
+
'marginRatio': None,
|
2637
|
+
'stopLossPrice': None,
|
2638
|
+
'takeProfitPrice': None,
|
2639
|
+
})
|
2591
2640
|
|
2592
2641
|
def parse_account_type(self, account):
|
2593
2642
|
accountByType = {
|
ccxt/base/exchange.py
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
# -----------------------------------------------------------------------------
|
6
6
|
|
7
|
-
__version__ = '4.2.
|
7
|
+
__version__ = '4.2.92'
|
8
8
|
|
9
9
|
# -----------------------------------------------------------------------------
|
10
10
|
|
@@ -5452,7 +5452,7 @@ class Exchange(object):
|
|
5452
5452
|
return reconstructedDate
|
5453
5453
|
|
5454
5454
|
def convert_market_id_expire_date(self, date: str):
|
5455
|
-
# parse
|
5455
|
+
# parse 03JAN24 to 240103
|
5456
5456
|
monthMappping = {
|
5457
5457
|
'JAN': '01',
|
5458
5458
|
'FEB': '02',
|
@@ -5467,6 +5467,9 @@ class Exchange(object):
|
|
5467
5467
|
'NOV': '11',
|
5468
5468
|
'DEC': '12',
|
5469
5469
|
}
|
5470
|
+
# if exchange omits first zero and provides i.e. '3JAN24' instead of '03JAN24'
|
5471
|
+
if len(date) == 6:
|
5472
|
+
date = '0' + date
|
5470
5473
|
year = date[0:2]
|
5471
5474
|
monthName = date[2:5]
|
5472
5475
|
month = self.safe_string(monthMappping, monthName)
|
ccxt/bybit.py
CHANGED
ccxt/deribit.py
CHANGED
@@ -692,117 +692,127 @@ class deribit(Exchange, ImplicitAPI):
|
|
692
692
|
"""
|
693
693
|
retrieves data on all markets for deribit
|
694
694
|
:see: https://docs.deribit.com/#public-get_currencies
|
695
|
+
:see: https://docs.deribit.com/#public-get_instruments
|
695
696
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
696
697
|
:returns dict[]: an array of objects representing market data
|
697
698
|
"""
|
698
|
-
|
699
|
-
#
|
700
|
-
# {
|
701
|
-
# "jsonrpc": "2.0",
|
702
|
-
# "result": [
|
703
|
-
# {
|
704
|
-
# "withdrawal_priorities": [
|
705
|
-
# {value: 0.15, name: "very_low"},
|
706
|
-
# {value: 1.5, name: "very_high"},
|
707
|
-
# ],
|
708
|
-
# "withdrawal_fee": 0.0005,
|
709
|
-
# "min_withdrawal_fee": 0.0005,
|
710
|
-
# "min_confirmations": 1,
|
711
|
-
# "fee_precision": 4,
|
712
|
-
# "currency_long": "Bitcoin",
|
713
|
-
# "currency": "BTC",
|
714
|
-
# "coin_type": "BITCOIN"
|
715
|
-
# }
|
716
|
-
# ],
|
717
|
-
# "usIn": 1583761588590479,
|
718
|
-
# "usOut": 1583761588590544,
|
719
|
-
# "usDiff": 65,
|
720
|
-
# "testnet": False
|
721
|
-
# }
|
722
|
-
#
|
723
|
-
parsedMarkets = {}
|
724
|
-
currenciesResult = self.safe_value(currenciesResponse, 'result', [])
|
699
|
+
instrumentsResponses = []
|
725
700
|
result = []
|
726
|
-
|
727
|
-
|
728
|
-
|
729
|
-
|
730
|
-
|
731
|
-
|
701
|
+
parsedMarkets = {}
|
702
|
+
fetchAllMarkets = None
|
703
|
+
fetchAllMarkets, params = self.handle_option_and_params(params, 'fetchMarkets', 'fetchAllMarkets', True)
|
704
|
+
if fetchAllMarkets:
|
705
|
+
instrumentsResponse = self.publicGetGetInstruments(params)
|
706
|
+
instrumentsResponses.append(instrumentsResponse)
|
707
|
+
else:
|
708
|
+
currenciesResponse = self.publicGetGetCurrencies(params)
|
732
709
|
#
|
733
710
|
# {
|
734
|
-
# "jsonrpc":"2.0",
|
735
|
-
# "result":[
|
736
|
-
# {
|
737
|
-
# "tick_size":0.0005,
|
738
|
-
# "taker_commission":0.0003,
|
739
|
-
# "strike":52000.0,
|
740
|
-
# "settlement_period":"month",
|
741
|
-
# "settlement_currency":"BTC",
|
742
|
-
# "quote_currency":"BTC",
|
743
|
-
# "option_type":"put", # put, call
|
744
|
-
# "min_trade_amount":0.1,
|
745
|
-
# "maker_commission":0.0003,
|
746
|
-
# "kind":"option",
|
747
|
-
# "is_active":true,
|
748
|
-
# "instrument_name":"BTC-24JUN22-52000-P",
|
749
|
-
# "expiration_timestamp":1656057600000,
|
750
|
-
# "creation_timestamp":1648199543000,
|
751
|
-
# "counter_currency":"USD",
|
752
|
-
# "contract_size":1.0,
|
753
|
-
# "block_trade_commission":0.0003,
|
754
|
-
# "base_currency":"BTC"
|
755
|
-
# },
|
711
|
+
# "jsonrpc": "2.0",
|
712
|
+
# "result": [
|
756
713
|
# {
|
757
|
-
# "
|
758
|
-
#
|
759
|
-
#
|
760
|
-
#
|
761
|
-
# "
|
762
|
-
# "
|
763
|
-
# "
|
764
|
-
# "
|
765
|
-
# "
|
766
|
-
# "
|
767
|
-
# "
|
768
|
-
#
|
769
|
-
# "future_type":"reversed",
|
770
|
-
# "expiration_timestamp":1653638400000,
|
771
|
-
# "creation_timestamp":1648195209000,
|
772
|
-
# "counter_currency":"USD",
|
773
|
-
# "contract_size":10.0,
|
774
|
-
# "block_trade_commission":0.0001,
|
775
|
-
# "base_currency":"BTC"
|
776
|
-
# },
|
777
|
-
# {
|
778
|
-
# "tick_size":0.5,
|
779
|
-
# "taker_commission":0.0005,
|
780
|
-
# "settlement_period":"perpetual",
|
781
|
-
# "settlement_currency":"BTC",
|
782
|
-
# "quote_currency":"USD",
|
783
|
-
# "min_trade_amount":10.0,
|
784
|
-
# "max_liquidation_commission":0.0075,
|
785
|
-
# "max_leverage":50,
|
786
|
-
# "maker_commission":0.0,
|
787
|
-
# "kind":"future",
|
788
|
-
# "is_active":true,
|
789
|
-
# "instrument_name":"BTC-PERPETUAL",
|
790
|
-
# "future_type":"reversed",
|
791
|
-
# "expiration_timestamp":32503708800000,
|
792
|
-
# "creation_timestamp":1534242287000,
|
793
|
-
# "counter_currency":"USD",
|
794
|
-
# "contract_size":10.0,
|
795
|
-
# "block_trade_commission":0.0001,
|
796
|
-
# "base_currency":"BTC"
|
797
|
-
# },
|
714
|
+
# "withdrawal_priorities": [
|
715
|
+
# {value: 0.15, name: "very_low"},
|
716
|
+
# {value: 1.5, name: "very_high"},
|
717
|
+
# ],
|
718
|
+
# "withdrawal_fee": 0.0005,
|
719
|
+
# "min_withdrawal_fee": 0.0005,
|
720
|
+
# "min_confirmations": 1,
|
721
|
+
# "fee_precision": 4,
|
722
|
+
# "currency_long": "Bitcoin",
|
723
|
+
# "currency": "BTC",
|
724
|
+
# "coin_type": "BITCOIN"
|
725
|
+
# }
|
798
726
|
# ],
|
799
|
-
# "usIn":
|
800
|
-
# "usOut":
|
801
|
-
# "usDiff":
|
802
|
-
# "testnet":
|
727
|
+
# "usIn": 1583761588590479,
|
728
|
+
# "usOut": 1583761588590544,
|
729
|
+
# "usDiff": 65,
|
730
|
+
# "testnet": False
|
803
731
|
# }
|
804
732
|
#
|
805
|
-
|
733
|
+
currenciesResult = self.safe_value(currenciesResponse, 'result', [])
|
734
|
+
for i in range(0, len(currenciesResult)):
|
735
|
+
currencyId = self.safe_string(currenciesResult[i], 'currency')
|
736
|
+
request = {
|
737
|
+
'currency': currencyId,
|
738
|
+
}
|
739
|
+
instrumentsResponse = self.publicGetGetInstruments(self.extend(request, params))
|
740
|
+
#
|
741
|
+
# {
|
742
|
+
# "jsonrpc":"2.0",
|
743
|
+
# "result":[
|
744
|
+
# {
|
745
|
+
# "tick_size":0.0005,
|
746
|
+
# "taker_commission":0.0003,
|
747
|
+
# "strike":52000.0,
|
748
|
+
# "settlement_period":"month",
|
749
|
+
# "settlement_currency":"BTC",
|
750
|
+
# "quote_currency":"BTC",
|
751
|
+
# "option_type":"put", # put, call
|
752
|
+
# "min_trade_amount":0.1,
|
753
|
+
# "maker_commission":0.0003,
|
754
|
+
# "kind":"option",
|
755
|
+
# "is_active":true,
|
756
|
+
# "instrument_name":"BTC-24JUN22-52000-P",
|
757
|
+
# "expiration_timestamp":1656057600000,
|
758
|
+
# "creation_timestamp":1648199543000,
|
759
|
+
# "counter_currency":"USD",
|
760
|
+
# "contract_size":1.0,
|
761
|
+
# "block_trade_commission":0.0003,
|
762
|
+
# "base_currency":"BTC"
|
763
|
+
# },
|
764
|
+
# {
|
765
|
+
# "tick_size":0.5,
|
766
|
+
# "taker_commission":0.0005,
|
767
|
+
# "settlement_period":"month", # month, week
|
768
|
+
# "settlement_currency":"BTC",
|
769
|
+
# "quote_currency":"USD",
|
770
|
+
# "min_trade_amount":10.0,
|
771
|
+
# "max_liquidation_commission":0.0075,
|
772
|
+
# "max_leverage":50,
|
773
|
+
# "maker_commission":0.0,
|
774
|
+
# "kind":"future",
|
775
|
+
# "is_active":true,
|
776
|
+
# "instrument_name":"BTC-27MAY22",
|
777
|
+
# "future_type":"reversed",
|
778
|
+
# "expiration_timestamp":1653638400000,
|
779
|
+
# "creation_timestamp":1648195209000,
|
780
|
+
# "counter_currency":"USD",
|
781
|
+
# "contract_size":10.0,
|
782
|
+
# "block_trade_commission":0.0001,
|
783
|
+
# "base_currency":"BTC"
|
784
|
+
# },
|
785
|
+
# {
|
786
|
+
# "tick_size":0.5,
|
787
|
+
# "taker_commission":0.0005,
|
788
|
+
# "settlement_period":"perpetual",
|
789
|
+
# "settlement_currency":"BTC",
|
790
|
+
# "quote_currency":"USD",
|
791
|
+
# "min_trade_amount":10.0,
|
792
|
+
# "max_liquidation_commission":0.0075,
|
793
|
+
# "max_leverage":50,
|
794
|
+
# "maker_commission":0.0,
|
795
|
+
# "kind":"future",
|
796
|
+
# "is_active":true,
|
797
|
+
# "instrument_name":"BTC-PERPETUAL",
|
798
|
+
# "future_type":"reversed",
|
799
|
+
# "expiration_timestamp":32503708800000,
|
800
|
+
# "creation_timestamp":1534242287000,
|
801
|
+
# "counter_currency":"USD",
|
802
|
+
# "contract_size":10.0,
|
803
|
+
# "block_trade_commission":0.0001,
|
804
|
+
# "base_currency":"BTC"
|
805
|
+
# },
|
806
|
+
# ],
|
807
|
+
# "usIn":1648691472831791,
|
808
|
+
# "usOut":1648691472831896,
|
809
|
+
# "usDiff":105,
|
810
|
+
# "testnet":false
|
811
|
+
# }
|
812
|
+
#
|
813
|
+
instrumentsResponses.append(instrumentsResponse)
|
814
|
+
for i in range(0, len(instrumentsResponses)):
|
815
|
+
instrumentsResult = self.safe_value(instrumentsResponses[i], 'result', [])
|
806
816
|
for k in range(0, len(instrumentsResult)):
|
807
817
|
market = instrumentsResult[k]
|
808
818
|
kind = self.safe_string(market, 'kind')
|
ccxt/kraken.py
CHANGED
@@ -2529,15 +2529,15 @@ class kraken(Exchange, ImplicitAPI):
|
|
2529
2529
|
"""
|
2530
2530
|
fetch all open positions
|
2531
2531
|
:see: https://docs.kraken.com/rest/#tag/Account-Data/operation/getOpenPositions
|
2532
|
-
:param str[]
|
2532
|
+
:param str[] [symbols]: not used by kraken fetchPositions()
|
2533
2533
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
2534
2534
|
:returns dict[]: a list of `position structure <https://docs.ccxt.com/#/?id=position-structure>`
|
2535
2535
|
"""
|
2536
2536
|
self.load_markets()
|
2537
2537
|
request = {
|
2538
2538
|
# 'txid': 'comma delimited list of transaction ids to restrict output to',
|
2539
|
-
|
2540
|
-
|
2539
|
+
'docalcs': 'true', # whether or not to include profit/loss calculations
|
2540
|
+
'consolidation': 'market', # what to consolidate the positions data around, market will consolidate positions based on market pair
|
2541
2541
|
}
|
2542
2542
|
response = self.privatePostOpenPositions(self.extend(request, params))
|
2543
2543
|
#
|
@@ -2585,9 +2585,58 @@ class kraken(Exchange, ImplicitAPI):
|
|
2585
2585
|
# ]
|
2586
2586
|
# }
|
2587
2587
|
#
|
2588
|
-
|
2589
|
-
|
2590
|
-
|
2588
|
+
symbols = self.market_symbols(symbols)
|
2589
|
+
result = self.safe_list(response, 'result')
|
2590
|
+
results = self.parse_positions(result, symbols)
|
2591
|
+
return self.filter_by_array_positions(results, 'symbol', symbols, False)
|
2592
|
+
|
2593
|
+
def parse_position(self, position, market: Market = None):
|
2594
|
+
#
|
2595
|
+
# {
|
2596
|
+
# "pair": "ETHUSDT",
|
2597
|
+
# "positions": "1",
|
2598
|
+
# "type": "buy",
|
2599
|
+
# "leverage": "2.00000",
|
2600
|
+
# "cost": "28.49800",
|
2601
|
+
# "fee": "0.07979",
|
2602
|
+
# "vol": "0.02000000",
|
2603
|
+
# "vol_closed": "0.00000000",
|
2604
|
+
# "margin": "14.24900"
|
2605
|
+
# }
|
2606
|
+
#
|
2607
|
+
marketId = self.safe_string(position, 'pair')
|
2608
|
+
rawSide = self.safe_string(position, 'type')
|
2609
|
+
side = 'long' if (rawSide == 'buy') else 'short'
|
2610
|
+
return self.safe_position({
|
2611
|
+
'info': position,
|
2612
|
+
'id': None,
|
2613
|
+
'symbol': self.safe_symbol(marketId, market),
|
2614
|
+
'notional': None,
|
2615
|
+
'marginMode': None,
|
2616
|
+
'liquidationPrice': None,
|
2617
|
+
'entryPrice': None,
|
2618
|
+
'unrealizedPnl': self.safe_number(position, 'net'),
|
2619
|
+
'realizedPnl': None,
|
2620
|
+
'percentage': None,
|
2621
|
+
'contracts': self.safe_number(position, 'vol'),
|
2622
|
+
'contractSize': None,
|
2623
|
+
'markPrice': None,
|
2624
|
+
'lastPrice': None,
|
2625
|
+
'side': side,
|
2626
|
+
'hedged': None,
|
2627
|
+
'timestamp': None,
|
2628
|
+
'datetime': None,
|
2629
|
+
'lastUpdateTimestamp': None,
|
2630
|
+
'maintenanceMargin': None,
|
2631
|
+
'maintenanceMarginPercentage': None,
|
2632
|
+
'collateral': None,
|
2633
|
+
'initialMargin': self.safe_number(position, 'margin'),
|
2634
|
+
'initialMarginPercentage': None,
|
2635
|
+
'leverage': self.safe_number(position, 'leverage'),
|
2636
|
+
'marginRatio': None,
|
2637
|
+
'stopLossPrice': None,
|
2638
|
+
'takeProfitPrice': None,
|
2639
|
+
})
|
2591
2640
|
|
2592
2641
|
def parse_account_type(self, account):
|
2593
2642
|
accountByType = {
|
ccxt/pro/__init__.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ccxt
|
3
|
-
Version: 4.2.
|
3
|
+
Version: 4.2.92
|
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
|
@@ -261,13 +261,13 @@ console.log(version, Object.keys(exchanges));
|
|
261
261
|
|
262
262
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
263
263
|
|
264
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.
|
265
|
-
* unpkg: https://unpkg.com/ccxt@4.2.
|
264
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.92/dist/ccxt.browser.js
|
265
|
+
* unpkg: https://unpkg.com/ccxt@4.2.92/dist/ccxt.browser.js
|
266
266
|
|
267
267
|
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.
|
268
268
|
|
269
269
|
```HTML
|
270
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.
|
270
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.92/dist/ccxt.browser.js"></script>
|
271
271
|
```
|
272
272
|
|
273
273
|
Creates a global `ccxt` object:
|
@@ -1,4 +1,4 @@
|
|
1
|
-
ccxt/__init__.py,sha256=
|
1
|
+
ccxt/__init__.py,sha256=k4kyShxYzC9cj5kvl4bZFlkUDtZgtUh2r6nGWZ5V7-M,15656
|
2
2
|
ccxt/ace.py,sha256=IsKHO7u3J8rJT9wCMdtwlmwPdtjnAwC9ZTMC0uNfs9A,41420
|
3
3
|
ccxt/alpaca.py,sha256=6P2wAEGJQOjjoKQbzv1KvSuZvEZmOX987a1NqB7z9mk,46908
|
4
4
|
ccxt/ascendex.py,sha256=_n4XN1S8WcCVN5pj9N6YvkFRJxEB2rycg4EP4PqlSyk,151300
|
@@ -35,7 +35,7 @@ ccxt/btcalpha.py,sha256=0np0RXEUcYJurfA3UWBiZXKHsvIbfjl_qVcx58sPwCY,36550
|
|
35
35
|
ccxt/btcbox.py,sha256=XBgl9nPQUr0eL_El9-K4AuFODEXbesU6F0euVbvUs04,23341
|
36
36
|
ccxt/btcmarkets.py,sha256=XOoDrXKNLvqMbNTUmTNMkQzsyy7oOh_Dw1USiJ8WjEs,51328
|
37
37
|
ccxt/btcturk.py,sha256=p-_zpUEu0aIK5kR4PXQKnAqr9P0ajFsaszyFylUOHeE,36506
|
38
|
-
ccxt/bybit.py,sha256=
|
38
|
+
ccxt/bybit.py,sha256=yU-28vJtKx5NnUh0BfrPSJ3jNT_AekZs9XgW1u2lGec,401635
|
39
39
|
ccxt/cex.py,sha256=K8QEAUcjEN-xZgjt8D5_jhlagxbJHl9TUTQbPARhnkA,69653
|
40
40
|
ccxt/coinbase.py,sha256=-ShTkuNwMInF48rvEAft_OUKNN4iUPf9FPvywCb-sVI,178431
|
41
41
|
ccxt/coinbaseinternational.py,sha256=l4tuPmh0w-SB5sOfCn3MTihbeTY53o7KW8NgeP9bg4w,87123
|
@@ -51,7 +51,7 @@ ccxt/coinspot.py,sha256=rtHhup6v6HbDCAVrZyVJJqOooJ_zoRWU0OqkEjLYL3E,23463
|
|
51
51
|
ccxt/cryptocom.py,sha256=AJRC_mgzX29rnCv50ry2JzryU20qfrh_7VOWqRXFVjI,128158
|
52
52
|
ccxt/currencycom.py,sha256=OS_TN2x2CoWvRY2e8iu16jtsu8etlN3nzwaWK6NpeLA,86759
|
53
53
|
ccxt/delta.py,sha256=-AshKjjisVWkxxMaQJr9IucbuA3BIZcsjA4PIu6nDA0,150437
|
54
|
-
ccxt/deribit.py,sha256=
|
54
|
+
ccxt/deribit.py,sha256=cQKRHpmyRuJnGY-3pEXb-LEOxcWoxfpTxlQ5_NBqNh0,160139
|
55
55
|
ccxt/digifinex.py,sha256=4OKFvMON5swteCyQZ0AHsx0QMzEaje6J8aaTinD9E_4,169739
|
56
56
|
ccxt/exmo.py,sha256=_fKoBuAA3PxFUi-Z4dZjf6rJwpavkJjmMoAlnTobw0c,114203
|
57
57
|
ccxt/flowbtc.py,sha256=YPvm6tbsHJJUQBspFcHuVPQfVmiWzwnVvfzRqBdQX6U,1169
|
@@ -69,7 +69,7 @@ ccxt/hyperliquid.py,sha256=DWU4nZGKPxZmwhPMBsXWqIJAG6b_M2ly44sa2OelhSc,92412
|
|
69
69
|
ccxt/idex.py,sha256=4DNXaCryJzhRi1bVg11oRC5SReloCOMS6sNSKo8F9LM,72809
|
70
70
|
ccxt/independentreserve.py,sha256=nRprUlIbJ2ipFavUim5Ad46oYSEz8cpqFL1gg1hN-Mg,32024
|
71
71
|
ccxt/indodax.py,sha256=xC7of6o3UWGfy3U6SNFEK_SKlkrFbLjJGut2fZyC53E,51779
|
72
|
-
ccxt/kraken.py,sha256=
|
72
|
+
ccxt/kraken.py,sha256=XQiEeTTo3TINMkLZbfOjYOdbk4kZmNvETnEzGpJTfY4,123935
|
73
73
|
ccxt/krakenfutures.py,sha256=w3YaTs65H5mlodhRAcLsroCbzkRlb7XICkuq6bVPcWs,115673
|
74
74
|
ccxt/kucoin.py,sha256=8b_D5-sx7FQwbw8K4BEs23d48QNLfDwnTu-STurs-Hs,214705
|
75
75
|
ccxt/kucoinfutures.py,sha256=lvRBlOYs_sAt_xhJa_zUzy9vtNoGgl_zFgirrnjtjCM,118519
|
@@ -140,7 +140,7 @@ ccxt/abstract/btcalpha.py,sha256=sbF4SAkTJq01QPQw4D2GMkKrPhKfFIsG-PNtMAC9WwU,138
|
|
140
140
|
ccxt/abstract/btcbox.py,sha256=PtZ2DZyXaPVPCQ5VLa9AEIZ9S0Y-mPrIu6P9BnfJ7dg,849
|
141
141
|
ccxt/abstract/btcmarkets.py,sha256=dQ2yTZ_8T2TEeAYIuKE0ATImbOLDLGSK7HbbBd8XVJQ,3690
|
142
142
|
ccxt/abstract/btcturk.py,sha256=duM-QrB9MvGpopOtxkfbeYlY49bgvXQLiosRVmnQYFw,1777
|
143
|
-
ccxt/abstract/bybit.py,sha256=
|
143
|
+
ccxt/abstract/bybit.py,sha256=8jxQZelzO8ew0BOF5Mu8KpvsOMOKlnWqya9J9hOL8Ic,48599
|
144
144
|
ccxt/abstract/cex.py,sha256=Q0NJeDuJ4Kn_mtokYqBenhXWvLIiMSVTqbgbfcLGgv4,3311
|
145
145
|
ccxt/abstract/coinbase.py,sha256=7vqrC4Xz0tAQrIulBh8ddLBAjzrOtCTiK_celZl9jDA,14395
|
146
146
|
ccxt/abstract/coinbaseinternational.py,sha256=wf1fF31fQ1TAVSk1X4ju6LYQc7tHI1lN5nxRnhnzsbk,4770
|
@@ -207,7 +207,7 @@ ccxt/abstract/woo.py,sha256=E-QXVJKVI4EOW72NX6wv99px9EyitWtd9KWvXUc9Tyo,10216
|
|
207
207
|
ccxt/abstract/yobit.py,sha256=8ycfCO8ORFly9hc0Aa47sZyX4_ZKPXS9h9yJzI-uQ7Q,1339
|
208
208
|
ccxt/abstract/zaif.py,sha256=m15WHdl3gYy0GOXNZ8NEH8eE7sVh8c0T_ITNuU8vXeU,3935
|
209
209
|
ccxt/abstract/zonda.py,sha256=aSfewvRojzmuymX6QbOnDR8v9VFqWTULMHX9Y7kKD1M,5820
|
210
|
-
ccxt/async_support/__init__.py,sha256=
|
210
|
+
ccxt/async_support/__init__.py,sha256=2VhzcX6I8CcLi8NkKUmb8LowRGXN8NKbJwYJs9drjdI,15409
|
211
211
|
ccxt/async_support/ace.py,sha256=IYTj0FJAAPvSrpgIpbzO6ftADPgLnQT1uk54MSSM7UA,41644
|
212
212
|
ccxt/async_support/alpaca.py,sha256=Nsaff9RczBhiNF19RlqI6wggvEibV_2ICgB8H5Qiuck,47120
|
213
213
|
ccxt/async_support/ascendex.py,sha256=vugf7rxYZka-ffxVycDnlXpqj5D9cdFVjkO4prlR204,152088
|
@@ -244,7 +244,7 @@ ccxt/async_support/btcalpha.py,sha256=dFDJZPeo7AkEu80ULoklUcgvhxR6GAaTq-VlMtN7d6
|
|
244
244
|
ccxt/async_support/btcbox.py,sha256=pT_fg3eVRk4Qi2ymTyxozHBz4FZs0KcCrU3fmZ2L_r4,23535
|
245
245
|
ccxt/async_support/btcmarkets.py,sha256=b6izd3cD8P3swetbESyX1N0qD3K0sZI7PX4qMjWmcTc,51678
|
246
246
|
ccxt/async_support/btcturk.py,sha256=nz0nAY_whtiOupBWqdKjrYvpe6Ynu82b_SsB8kd5DC0,36724
|
247
|
-
ccxt/async_support/bybit.py,sha256=
|
247
|
+
ccxt/async_support/bybit.py,sha256=XvqnJqOnx-cq49_pPvvQULZprOnQd-X0qAZHswCSRG4,403379
|
248
248
|
ccxt/async_support/cex.py,sha256=qVNevV8yMafQTMuvbeGtSeQLtQ069sux62h960pHDWA,70003
|
249
249
|
ccxt/async_support/coinbase.py,sha256=0dGlfvNdkeeXXtjCogfg2Ml2sDT0oVfdP0MnzWrV61I,179388
|
250
250
|
ccxt/async_support/coinbaseinternational.py,sha256=btvxx0HVXNZ4J2SyrRUetMxq0qEB2QrUKsxRAenwyJ8,87677
|
@@ -260,7 +260,7 @@ ccxt/async_support/coinspot.py,sha256=DqWK2WouFRRfchKlNFOAIhDcVK3pFfI-kHyg1BgH8P
|
|
260
260
|
ccxt/async_support/cryptocom.py,sha256=Qr3xl9feyoy-Aw6ZtoAyXGhFM239r6DAIXJhiecMjCM,128712
|
261
261
|
ccxt/async_support/currencycom.py,sha256=Kakjmk6UWO5J4f7XRvuHe1VLIBnceg6p6RPN7rWkiGs,87181
|
262
262
|
ccxt/async_support/delta.py,sha256=RYBwnFLT0JJTtWkgi2Z6iFoeCw94JudLPGPM0gddzug,151045
|
263
|
-
ccxt/async_support/deribit.py,sha256=
|
263
|
+
ccxt/async_support/deribit.py,sha256=6mACtC8xsebDGw4Y9ikgHCmPNSazeTjqqsplj0GcAtw,160915
|
264
264
|
ccxt/async_support/digifinex.py,sha256=BShByMLbMXHBHwd3i2chCMIeGQgYqXRRj85oJMBFBPg,170709
|
265
265
|
ccxt/async_support/exmo.py,sha256=tUaaWQHe6nb75UCckwdsODn2wQAb-XtFVbGyqRsRiHc,114835
|
266
266
|
ccxt/async_support/flowbtc.py,sha256=bCnvtcNnPxxaxqVjI1GGXKhIpz_1r4GIFWqqPokvCR0,1183
|
@@ -278,7 +278,7 @@ ccxt/async_support/hyperliquid.py,sha256=XVu7E1x3MgU6LM5WUWXCQs0i1eJD7PdBJi_7hDv
|
|
278
278
|
ccxt/async_support/idex.py,sha256=hEbHV8Zh_K0p_5PcZdAMxgB0tMt5J3aud7WRlCbIqPw,73285
|
279
279
|
ccxt/async_support/independentreserve.py,sha256=02gCggRgFSmIdJyG5vO-R2JXNbB3u6U1TH2cfdckhdU,32284
|
280
280
|
ccxt/async_support/indodax.py,sha256=A2-LUvN4BgGOu_IOnsCLjyBTQBXnxCNPJWLcuy2oyPQ,52087
|
281
|
-
ccxt/async_support/kraken.py,sha256=
|
281
|
+
ccxt/async_support/kraken.py,sha256=nqAxbi-vkfXetjVV7PgMhgIeNxdome3MgIlZnimEOc0,124519
|
282
282
|
ccxt/async_support/krakenfutures.py,sha256=LxUUDt8BH69IRbtFYCSsyKZhW_QHEvhqFnAbdYNmzsA,116143
|
283
283
|
ccxt/async_support/kucoin.py,sha256=zPl33pupehmSYWdFFLf8bz5GWkpJvQXY7MBijC1CZtM,215759
|
284
284
|
ccxt/async_support/kucoinfutures.py,sha256=eQQiAmU-nUgnOXZt053cGuK4kfpW3Yt23iGc_87kgK8,119121
|
@@ -313,7 +313,7 @@ ccxt/async_support/yobit.py,sha256=gNE-7Yc2a2ScelR8ZWFGfhRzCr9DHcAdlI62LFjXvnI,5
|
|
313
313
|
ccxt/async_support/zaif.py,sha256=PaHcaNijKkhocrw6DZoSBNUjBOLNlkUYtsJvPAqkx68,28134
|
314
314
|
ccxt/async_support/zonda.py,sha256=0o0Q1rFuTbdhm8m_rlo8D1qLsgZhhBqnefsHi0rVA_A,80866
|
315
315
|
ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
|
316
|
-
ccxt/async_support/base/exchange.py,sha256=
|
316
|
+
ccxt/async_support/base/exchange.py,sha256=UNnuBeR8UYP9iR2P3fRLyIFtND9YhprNbelbdS5uYuc,91193
|
317
317
|
ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
|
318
318
|
ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
|
319
319
|
ccxt/async_support/base/ws/aiohttp_client.py,sha256=Ed1765emEde2Hj8Ys6f5EjS54ZI1wQ0qIhd04eB7yhU,5751
|
@@ -327,10 +327,10 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=Pxrq22nCODckJ6G1OXkYEmUunIu
|
|
327
327
|
ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
|
328
328
|
ccxt/base/decimal_to_precision.py,sha256=fgWRBzRTtsf3r2INyS4f7WHlzgjB5YM1ekiwqD21aac,6634
|
329
329
|
ccxt/base/errors.py,sha256=JBn3zTrtru7tLgyEi6MzKAUwiZe0fltQLYoJcsdP-AA,4099
|
330
|
-
ccxt/base/exchange.py,sha256=
|
330
|
+
ccxt/base/exchange.py,sha256=FZNKeMz4IoRWIy4opz1HKW0ftCnDwQhejKfDy5FaGUA,253791
|
331
331
|
ccxt/base/precise.py,sha256=_xfu54sV0vWNnOfGTKRFykeuWP8mn4K1m9lk1tcllX4,8565
|
332
332
|
ccxt/base/types.py,sha256=6f9YtSQp-XB_iBbXqsKCfmMzn_UpfwkHl3f0rL3xGjg,7690
|
333
|
-
ccxt/pro/__init__.py,sha256=
|
333
|
+
ccxt/pro/__init__.py,sha256=nsCIr5SG1tdtW5iPupJD3JoAmP2cHIXO84tevC5pu6M,6999
|
334
334
|
ccxt/pro/alpaca.py,sha256=7ePyWli0949ti5UheIn553xmnFpedrNc2W5CKauSZio,27167
|
335
335
|
ccxt/pro/ascendex.py,sha256=0RlrxSqh4-lW99T-Y8AxrU612Cpy03u2loVMeRUPXlg,35432
|
336
336
|
ccxt/pro/bequant.py,sha256=5zbsP8BHQTUZ8ZNL6uaACxDbUClgkOV4SYfXT_LfQVg,1351
|
@@ -529,7 +529,7 @@ ccxt/test/base/test_ticker.py,sha256=cMTIMb1oySNORUCmqI5ZzMswlEyCF6gJMah3vfvo8wQ
|
|
529
529
|
ccxt/test/base/test_trade.py,sha256=PMtmB8V38dpaP-eb8h488xYMlR6D69yCOhsA1RuWrUA,2336
|
530
530
|
ccxt/test/base/test_trading_fee.py,sha256=2aDCNJtqBkTC_AieO0l1HYGq5hz5qkWlkWb9Nv_fcwk,1066
|
531
531
|
ccxt/test/base/test_transaction.py,sha256=BTbB4UHHXkrvYgwbrhh867nVRlevmIkIrz1W_odlQJI,1434
|
532
|
-
ccxt-4.2.
|
533
|
-
ccxt-4.2.
|
534
|
-
ccxt-4.2.
|
535
|
-
ccxt-4.2.
|
532
|
+
ccxt-4.2.92.dist-info/METADATA,sha256=-NuZ6NrdrQqNQjrmYgdkRfUiq7Pp6ulQNo4VGMFwehU,110281
|
533
|
+
ccxt-4.2.92.dist-info/WHEEL,sha256=P2T-6epvtXQ2cBOE_U1K4_noqlJFN3tj15djMgEu4NM,110
|
534
|
+
ccxt-4.2.92.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
|
535
|
+
ccxt-4.2.92.dist-info/RECORD,,
|
File without changes
|
File without changes
|