ccxt 4.2.95__py2.py3-none-any.whl → 4.2.96__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/gemini.py CHANGED
@@ -299,7 +299,13 @@ class gemini(Exchange, ImplicitAPI):
299
299
  'ATOM': 'cosmos',
300
300
  'DOT': 'polkadot',
301
301
  },
302
- 'nonce': 'milliseconds', # if getting a Network 400 error change to seconds
302
+ 'nonce': 'milliseconds', # if getting a Network 400 error change to seconds,
303
+ 'conflictingMarkets': {
304
+ 'paxgusd': {
305
+ 'base': 'PAXG',
306
+ 'quote': 'USD',
307
+ },
308
+ },
303
309
  },
304
310
  })
305
311
 
@@ -661,16 +667,25 @@ class gemini(Exchange, ImplicitAPI):
661
667
  marketIdUpper = marketId.upper()
662
668
  isPerp = (marketIdUpper.find('PERP') >= 0)
663
669
  marketIdWithoutPerp = marketIdUpper.replace('PERP', '')
664
- quoteQurrencies = self.handle_option('fetchMarketsFromAPI', 'quoteCurrencies', [])
665
- for i in range(0, len(quoteQurrencies)):
666
- quoteCurrency = quoteQurrencies[i]
667
- if marketIdWithoutPerp.endswith(quoteCurrency):
668
- quoteLength = self.parse_to_int(-1 * len(quoteCurrency))
669
- baseId = marketIdWithoutPerp[0:quoteLength]
670
- quoteId = quoteCurrency
671
- if isPerp:
672
- settleId = quoteCurrency # always same
673
- break
670
+ conflictingMarkets = self.safe_dict(self.options, 'conflictingMarkets', {})
671
+ lowerCaseId = marketIdWithoutPerp.lower()
672
+ if lowerCaseId in conflictingMarkets:
673
+ conflictingMarket = conflictingMarkets[lowerCaseId]
674
+ baseId = conflictingMarket['base']
675
+ quoteId = conflictingMarket['quote']
676
+ if isPerp:
677
+ settleId = conflictingMarket['quote']
678
+ else:
679
+ quoteCurrencies = self.handle_option('fetchMarketsFromAPI', 'quoteCurrencies', [])
680
+ for i in range(0, len(quoteCurrencies)):
681
+ quoteCurrency = quoteCurrencies[i]
682
+ if marketIdWithoutPerp.endswith(quoteCurrency):
683
+ quoteLength = self.parse_to_int(-1 * len(quoteCurrency))
684
+ baseId = marketIdWithoutPerp[0:quoteLength]
685
+ quoteId = quoteCurrency
686
+ if isPerp:
687
+ settleId = quoteCurrency # always same
688
+ break
674
689
  base = self.safe_currency_code(baseId)
675
690
  quote = self.safe_currency_code(quoteId)
676
691
  settle = self.safe_currency_code(settleId)
ccxt/pro/__init__.py CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.2.95'
7
+ __version__ = '4.2.96'
8
8
 
9
9
  # ----------------------------------------------------------------------------
10
10
 
ccxt/pro/coinbase.py CHANGED
@@ -136,6 +136,11 @@ class coinbase(ccxt.async_support.coinbase):
136
136
  # "low_52_w": "15460",
137
137
  # "high_52_w": "48240",
138
138
  # "price_percent_chg_24_h": "-4.15775596190603"
139
+ # new 2024-04-12
140
+ # "best_bid":"21835.29",
141
+ # "best_bid_quantity": "0.02000000",
142
+ # "best_ask":"23011.18",
143
+ # "best_ask_quantity": "0.01500000"
139
144
  # }
140
145
  # ]
141
146
  # }
@@ -161,6 +166,11 @@ class coinbase(ccxt.async_support.coinbase):
161
166
  # "low_52_w": "0.04908",
162
167
  # "high_52_w": "0.1801",
163
168
  # "price_percent_chg_24_h": "0.50177456859626"
169
+ # new 2024-04-12
170
+ # "best_bid":"0.07989",
171
+ # "best_bid_quantity": "500.0",
172
+ # "best_ask":"0.08308",
173
+ # "best_ask_quantity": "300.0"
164
174
  # }
165
175
  # ]
166
176
  # }
@@ -209,6 +219,11 @@ class coinbase(ccxt.async_support.coinbase):
209
219
  # "low_52_w": "0.04908",
210
220
  # "high_52_w": "0.1801",
211
221
  # "price_percent_chg_24_h": "0.50177456859626"
222
+ # new 2024-04-12
223
+ # "best_bid":"0.07989",
224
+ # "best_bid_quantity": "500.0",
225
+ # "best_ask":"0.08308",
226
+ # "best_ask_quantity": "300.0"
212
227
  # }
213
228
  #
214
229
  marketId = self.safe_string(ticker, 'product_id')
@@ -221,10 +236,10 @@ class coinbase(ccxt.async_support.coinbase):
221
236
  'datetime': self.iso8601(timestamp),
222
237
  'high': self.safe_string(ticker, 'high_24_h'),
223
238
  'low': self.safe_string(ticker, 'low_24_h'),
224
- 'bid': None,
225
- 'bidVolume': None,
226
- 'ask': None,
227
- 'askVolume': None,
239
+ 'bid': self.safe_string(ticker, 'best_bid'),
240
+ 'bidVolume': self.safe_string(ticker, 'best_bid_quantity'),
241
+ 'ask': self.safe_string(ticker, 'best_ask'),
242
+ 'askVolume': self.safe_string(ticker, 'best_ask_quantity'),
228
243
  'vwap': None,
229
244
  'open': None,
230
245
  'close': last,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.2.95
3
+ Version: 4.2.96
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.95/dist/ccxt.browser.js
265
- * unpkg: https://unpkg.com/ccxt@4.2.95/dist/ccxt.browser.js
264
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.96/dist/ccxt.browser.js
265
+ * unpkg: https://unpkg.com/ccxt@4.2.96/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.95/dist/ccxt.browser.js"></script>
270
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.96/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=XDNc1XDyBI6VXrQYmeizlOppCgcw3OQLmUrzO4aVlHY,15656
1
+ ccxt/__init__.py,sha256=43zJhs0hiTK99gkjK-1h479YAkJyEQU8IMiMQfgMk4U,15656
2
2
  ccxt/ace.py,sha256=yGGKYViya2zCyr1DjWhEu9mknkDAEVsobHmrvJxHfX0,41420
3
3
  ccxt/alpaca.py,sha256=6P2wAEGJQOjjoKQbzv1KvSuZvEZmOX987a1NqB7z9mk,46908
4
4
  ccxt/ascendex.py,sha256=AeDB6xaWaOGBMlsmm8886etqQ3_IOxhtvY5201sjGYc,151300
@@ -37,7 +37,7 @@ ccxt/btcmarkets.py,sha256=XOoDrXKNLvqMbNTUmTNMkQzsyy7oOh_Dw1USiJ8WjEs,51328
37
37
  ccxt/btcturk.py,sha256=p-_zpUEu0aIK5kR4PXQKnAqr9P0ajFsaszyFylUOHeE,36506
38
38
  ccxt/bybit.py,sha256=PgvPYqeTrs9z-qzhjlr6Tqy7heLOQDc1ENH_5FSlcbU,401635
39
39
  ccxt/cex.py,sha256=CfQ_1t-Em16bYl-5DmzqJzC8rxrdk9CCxq7Q0ON7vOM,69653
40
- ccxt/coinbase.py,sha256=qUuRQ3M5WYGbLRu1HHmr0zcf4DK2El688-bjf_yQApA,178431
40
+ ccxt/coinbase.py,sha256=Ca2SGlOvxeVmSh0b2AZ0j-OTkkegwq46rYf7EbStHyo,201436
41
41
  ccxt/coinbaseinternational.py,sha256=RnTdgTmkia2wpMBW2pZR_yvUzWIC-7hfXFun8v6pW0k,87123
42
42
  ccxt/coinbasepro.py,sha256=JdHrR6nr9sBmxsPfiql_pRGM5y8mP4NRUV1viSCeKwU,78377
43
43
  ccxt/coincheck.py,sha256=16rD9tUt0Ww8pjSTDD1CQ28wusKil0FnFRiUvzj9FwQ,35513
@@ -58,7 +58,7 @@ ccxt/flowbtc.py,sha256=YPvm6tbsHJJUQBspFcHuVPQfVmiWzwnVvfzRqBdQX6U,1169
58
58
  ccxt/fmfwio.py,sha256=RbVLvzPwnqfDsE7Ea-N13ISCC82eJVPsXYjrleASmew,1236
59
59
  ccxt/gate.py,sha256=YUNfZeCgzb0Bfjve-Gw4l_ZoEM4O677yP-B__bwhGU4,315184
60
60
  ccxt/gateio.py,sha256=86AETJWODl_vA5VNeQRHZprmpNIY1HAxCddKZcnKSi8,445
61
- ccxt/gemini.py,sha256=jH3XRZMOLb2sWrf-EbJoxmZw_4NA8wz_gMur5xvn2K0,79911
61
+ ccxt/gemini.py,sha256=61FS4gKxvgnnipFRek-fNEyeHq7vayn3xBWTiNl0azM,80614
62
62
  ccxt/hitbtc.py,sha256=4l7N0qN7NaZ2PTApO2-LMqTPto_EM2LKyRGw2vtGybo,152807
63
63
  ccxt/hitbtc3.py,sha256=qRAr4Zvaju9IQWRZUohdoN7xRnzIMPq8AyYb3gPv-Is,455
64
64
  ccxt/hollaex.py,sha256=UqJKv5pH16SAsh4Y0wK9KAVH2spjirjuYqh70rJozNc,75893
@@ -142,7 +142,7 @@ ccxt/abstract/btcmarkets.py,sha256=dQ2yTZ_8T2TEeAYIuKE0ATImbOLDLGSK7HbbBd8XVJQ,3
142
142
  ccxt/abstract/btcturk.py,sha256=duM-QrB9MvGpopOtxkfbeYlY49bgvXQLiosRVmnQYFw,1777
143
143
  ccxt/abstract/bybit.py,sha256=8jxQZelzO8ew0BOF5Mu8KpvsOMOKlnWqya9J9hOL8Ic,48599
144
144
  ccxt/abstract/cex.py,sha256=Q0NJeDuJ4Kn_mtokYqBenhXWvLIiMSVTqbgbfcLGgv4,3311
145
- ccxt/abstract/coinbase.py,sha256=7vqrC4Xz0tAQrIulBh8ddLBAjzrOtCTiK_celZl9jDA,14395
145
+ ccxt/abstract/coinbase.py,sha256=GYjKPohmJuP9dYJpI98RUAKoWhrXCN6877pzrihFwYg,14574
146
146
  ccxt/abstract/coinbaseinternational.py,sha256=wf1fF31fQ1TAVSk1X4ju6LYQc7tHI1lN5nxRnhnzsbk,4770
147
147
  ccxt/abstract/coinbasepro.py,sha256=eQMtsIw94xJqQO_xXmrrHdc_YFmhVZNW4OXCWv4Nx1w,7162
148
148
  ccxt/abstract/coincheck.py,sha256=3IIVmryXmzxXqi6IleUmfDZIUMOn_L_4G9Iw8BuEEGo,3417
@@ -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=8R6gpGfn187MPtgocX0qXqu2-IYkZaJzapiSOZcTkbM,15409
210
+ ccxt/async_support/__init__.py,sha256=SteHw_iRK4tWZl09wtTZFsl25vmQGUQLaCxwHXuAd9Q,15409
211
211
  ccxt/async_support/ace.py,sha256=kbkibefA6HaHJSNoL_MPmbPUn7n2wyruxBOR7BXmUmQ,41644
212
212
  ccxt/async_support/alpaca.py,sha256=Nsaff9RczBhiNF19RlqI6wggvEibV_2ICgB8H5Qiuck,47120
213
213
  ccxt/async_support/ascendex.py,sha256=QGyP437RJJutP1Wau_B5JyMLtvwgvaMg15zlQXDhfUE,152088
@@ -246,7 +246,7 @@ ccxt/async_support/btcmarkets.py,sha256=b6izd3cD8P3swetbESyX1N0qD3K0sZI7PX4qMjWm
246
246
  ccxt/async_support/btcturk.py,sha256=nz0nAY_whtiOupBWqdKjrYvpe6Ynu82b_SsB8kd5DC0,36724
247
247
  ccxt/async_support/bybit.py,sha256=DMTulzeqpQj-jFsY7qH2dyQbnvoXKa41awkEqWhdAFs,403379
248
248
  ccxt/async_support/cex.py,sha256=_zLkiZaE0dT7yTuJtgkFQlmuzj6M5dQQvI_VXkKsBCc,70003
249
- ccxt/async_support/coinbase.py,sha256=Skr9C2-rfM5Yquo28iccHFB5oXnJjdGSfOZq7I4wxts,179388
249
+ ccxt/async_support/coinbase.py,sha256=NWq5AqztGfaKJQuYDhIkGtmBoyKAhSTzBnPnDkbccv4,202488
250
250
  ccxt/async_support/coinbaseinternational.py,sha256=d_6C7iQFn1giEh1Sr7Wm2fhG9QtGYx1pMkeJXpwjZvM,87677
251
251
  ccxt/async_support/coinbasepro.py,sha256=H32l_mejuo2ATe4_Hac3vFgRTIxSPuDDFHz2pdQOLnw,78883
252
252
  ccxt/async_support/coincheck.py,sha256=LbgeqG4WkPMXZid_LZstU6Vzv6C4-xRkt_mLb4wudGc,35719
@@ -267,7 +267,7 @@ ccxt/async_support/flowbtc.py,sha256=bCnvtcNnPxxaxqVjI1GGXKhIpz_1r4GIFWqqPokvCR0
267
267
  ccxt/async_support/fmfwio.py,sha256=lzfSnPrB2ARcC3EIqAuBM4vyg6LJ6n8RE71Zvt3ez1s,1250
268
268
  ccxt/async_support/gate.py,sha256=DoZiM06o0cMoIV1AxbJKwvPamZCh1ebrL9i8ZlC0XiI,316838
269
269
  ccxt/async_support/gateio.py,sha256=6_t032F9p9x5KGTjtSuqGXITzFOx-XAQBYLpsuQjzxw,459
270
- ccxt/async_support/gemini.py,sha256=oUOr6zAh1ww7KxPiFmNqri0WohF1SueKY2v1OukMebg,80424
270
+ ccxt/async_support/gemini.py,sha256=aIQU4bw1BBP_Sq992T-9RMU9AEdKhHQVJ10FH8uASoQ,81127
271
271
  ccxt/async_support/hitbtc.py,sha256=-v3s0CoJewmjmeO0bQxttx8RbzdWJ-qxYODU3TBVSGw,153853
272
272
  ccxt/async_support/hitbtc3.py,sha256=dmSYoD2o4av_zzbZI8HNIoj8BWxA7QozsVpy8JaOXzU,469
273
273
  ccxt/async_support/hollaex.py,sha256=gcA7Rove18I4O4f92eYSCNTxzqMmQebaRgV4mcqcML4,76327
@@ -313,7 +313,7 @@ ccxt/async_support/yobit.py,sha256=EgBPquMnD4GU32jnWp1FXUxlMyC1nYPtRzJCZUG_HMY,5
313
313
  ccxt/async_support/zaif.py,sha256=PaHcaNijKkhocrw6DZoSBNUjBOLNlkUYtsJvPAqkx68,28134
314
314
  ccxt/async_support/zonda.py,sha256=89EXub_DW_p4Rpza9iiW-hAaj3ucKbNdZyV2ETQ3ESY,80866
315
315
  ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
316
- ccxt/async_support/base/exchange.py,sha256=LuKMEi0cnE14bnZYrQ03tAUScE_3Men1m9qwRPxUwCI,91521
316
+ ccxt/async_support/base/exchange.py,sha256=GxzE-RR0i3IciUMk4R_wDp6zcURMwuc4SB_TqkdMnKs,91521
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=u_zxABGVPU_K5oLEEZQWOI0_F5Q-SAUq1g1q6AFh7IM,4107
330
- ccxt/base/exchange.py,sha256=3eAl9lxn43sF2QW1NNlfTVVhMzu_w5XNwj5pZ5CblHg,255276
330
+ ccxt/base/exchange.py,sha256=ivqA8JO-K-YTPMPlosGtvDjCUrKaFkpwXW4__F4wL9w,255306
331
331
  ccxt/base/precise.py,sha256=_xfu54sV0vWNnOfGTKRFykeuWP8mn4K1m9lk1tcllX4,8565
332
332
  ccxt/base/types.py,sha256=x9KoAaFdEPJD2l8ottMk4xKr-tEdby77jKaAK8XcIgo,7903
333
- ccxt/pro/__init__.py,sha256=YKuatZsUVpqbkAvgiAestBl561CUv9XkWNbJXrGzChM,6999
333
+ ccxt/pro/__init__.py,sha256=KFxYWtyqUKEScFlDqv_cB5o4UlzC3HHyFMdRSAeWRkw,6999
334
334
  ccxt/pro/alpaca.py,sha256=7ePyWli0949ti5UheIn553xmnFpedrNc2W5CKauSZio,27167
335
335
  ccxt/pro/ascendex.py,sha256=fCM3EujSfJvtvffqI56UAstTtwjXFIocwukm15cF8rE,35432
336
336
  ccxt/pro/bequant.py,sha256=5zbsP8BHQTUZ8ZNL6uaACxDbUClgkOV4SYfXT_LfQVg,1351
@@ -354,7 +354,7 @@ ccxt/pro/bitvavo.py,sha256=5xzpVRMcI2z0r41eoN-NORr5-qQYBao_bMsH8all9Q0,56143
354
354
  ccxt/pro/blockchaincom.py,sha256=Uv1ijvxvFGrqFPH6iifCk5AgQYTDsXUa5n0ktpusVjM,29560
355
355
  ccxt/pro/bybit.py,sha256=INf7Qfo1CRR5m6yv9w6YNirE0hFOED6J1ztV9kkQ53M,75022
356
356
  ccxt/pro/cex.py,sha256=sxpyOCappmjLVOGa4CxYh1tcswHU23xz4FrTlJsjirk,58370
357
- ccxt/pro/coinbase.py,sha256=S8vcILhKPkW000jNJF-xarv2SOFpzPED6dv6ZLq-Nfc,23630
357
+ ccxt/pro/coinbase.py,sha256=151f3WFjrU-DplD_k35KJSmJ4fmh-EQkyhDzsE5EBWQ,24508
358
358
  ccxt/pro/coinbaseinternational.py,sha256=9Pbe6je_6nqA7SviyzmcR_4CscKdQzBYNLECOYJ4BoU,25428
359
359
  ccxt/pro/coinbasepro.py,sha256=94ZXmg-Ez5tSiUYP98nu-gWvuXb-Dk4WHMVsXOR8AK0,38945
360
360
  ccxt/pro/coincheck.py,sha256=MKAPHJeVifQaCKPla-7RY86TIWyDGe4nvjRhNmi617w,7789
@@ -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.95.dist-info/METADATA,sha256=br9uN94hFvgKNahkeSV65G10ZhHZa2fqhhqQ2MGnl-0,110281
533
- ccxt-4.2.95.dist-info/WHEEL,sha256=P2T-6epvtXQ2cBOE_U1K4_noqlJFN3tj15djMgEu4NM,110
534
- ccxt-4.2.95.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
535
- ccxt-4.2.95.dist-info/RECORD,,
532
+ ccxt-4.2.96.dist-info/METADATA,sha256=SQvd_Z6iYzEHpAQUY2GSg7xBCwCveo7h3WFHZP4_5jQ,110281
533
+ ccxt-4.2.96.dist-info/WHEEL,sha256=P2T-6epvtXQ2cBOE_U1K4_noqlJFN3tj15djMgEu4NM,110
534
+ ccxt-4.2.96.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
535
+ ccxt-4.2.96.dist-info/RECORD,,
File without changes