ccxt 4.4.82__py2.py3-none-any.whl → 4.4.85__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.
Files changed (87) hide show
  1. ccxt/__init__.py +1 -5
  2. ccxt/abstract/blofin.py +8 -0
  3. ccxt/abstract/btcbox.py +1 -0
  4. ccxt/apex.py +2 -1
  5. ccxt/async_support/__init__.py +1 -5
  6. ccxt/async_support/apex.py +2 -1
  7. ccxt/async_support/base/exchange.py +26 -3
  8. ccxt/async_support/base/ws/cache.py +6 -1
  9. ccxt/async_support/bitget.py +1 -2
  10. ccxt/async_support/bitrue.py +14 -32
  11. ccxt/async_support/bitso.py +33 -0
  12. ccxt/async_support/bitstamp.py +33 -0
  13. ccxt/async_support/blofin.py +145 -14
  14. ccxt/async_support/btcbox.py +25 -5
  15. ccxt/async_support/bybit.py +16 -37
  16. ccxt/async_support/cex.py +2 -4
  17. ccxt/async_support/coinbase.py +56 -42
  18. ccxt/async_support/coinbaseexchange.py +141 -32
  19. ccxt/async_support/coincatch.py +14 -67
  20. ccxt/async_support/coinex.py +28 -29
  21. ccxt/async_support/coinlist.py +17 -16
  22. ccxt/async_support/coinmetro.py +20 -11
  23. ccxt/async_support/coinone.py +8 -10
  24. ccxt/async_support/coinsph.py +124 -2
  25. ccxt/async_support/cryptocom.py +109 -2
  26. ccxt/async_support/cryptomus.py +42 -80
  27. ccxt/async_support/delta.py +75 -36
  28. ccxt/async_support/derive.py +46 -10
  29. ccxt/async_support/ellipx.py +175 -77
  30. ccxt/async_support/gate.py +1 -1
  31. ccxt/async_support/gemini.py +3 -4
  32. ccxt/async_support/hitbtc.py +56 -65
  33. ccxt/async_support/hyperliquid.py +2 -2
  34. ccxt/async_support/kraken.py +27 -23
  35. ccxt/async_support/kucoinfutures.py +5 -0
  36. ccxt/async_support/lbank.py +1 -1
  37. ccxt/async_support/paradex.py +120 -4
  38. ccxt/base/exchange.py +21 -2
  39. ccxt/base/types.py +3 -0
  40. ccxt/bitget.py +1 -2
  41. ccxt/bitrue.py +14 -32
  42. ccxt/bitso.py +33 -0
  43. ccxt/bitstamp.py +33 -0
  44. ccxt/blofin.py +145 -14
  45. ccxt/btcbox.py +24 -5
  46. ccxt/bybit.py +16 -37
  47. ccxt/cex.py +2 -4
  48. ccxt/coinbase.py +56 -42
  49. ccxt/coinbaseexchange.py +141 -32
  50. ccxt/coincatch.py +14 -67
  51. ccxt/coinex.py +28 -29
  52. ccxt/coinlist.py +17 -16
  53. ccxt/coinmetro.py +20 -11
  54. ccxt/coinone.py +8 -10
  55. ccxt/coinsph.py +124 -2
  56. ccxt/cryptocom.py +109 -2
  57. ccxt/cryptomus.py +42 -80
  58. ccxt/delta.py +75 -36
  59. ccxt/derive.py +46 -10
  60. ccxt/ellipx.py +175 -77
  61. ccxt/gate.py +1 -1
  62. ccxt/gemini.py +3 -4
  63. ccxt/hitbtc.py +56 -65
  64. ccxt/hyperliquid.py +2 -2
  65. ccxt/kraken.py +27 -23
  66. ccxt/kucoinfutures.py +5 -0
  67. ccxt/lbank.py +1 -1
  68. ccxt/paradex.py +120 -4
  69. ccxt/pro/__init__.py +69 -3
  70. ccxt/pro/binance.py +31 -33
  71. ccxt/pro/bithumb.py +5 -3
  72. ccxt/pro/kraken.py +249 -79
  73. ccxt/pro/mexc.py +252 -7
  74. ccxt/pro/poloniex.py +6 -2
  75. {ccxt-4.4.82.dist-info → ccxt-4.4.85.dist-info}/METADATA +7 -9
  76. {ccxt-4.4.82.dist-info → ccxt-4.4.85.dist-info}/RECORD +79 -87
  77. ccxt/abstract/bl3p.py +0 -19
  78. ccxt/abstract/idex.py +0 -26
  79. ccxt/async_support/base/ws/fast_client.py +0 -97
  80. ccxt/async_support/bl3p.py +0 -543
  81. ccxt/async_support/idex.py +0 -1889
  82. ccxt/bl3p.py +0 -543
  83. ccxt/idex.py +0 -1889
  84. ccxt/pro/idex.py +0 -687
  85. {ccxt-4.4.82.dist-info → ccxt-4.4.85.dist-info}/LICENSE.txt +0 -0
  86. {ccxt-4.4.82.dist-info → ccxt-4.4.85.dist-info}/WHEEL +0 -0
  87. {ccxt-4.4.82.dist-info → ccxt-4.4.85.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
- ccxt/__init__.py,sha256=AU-SpASzz0tlbMUAak4zVSrIkPjZpuRGNcPDyjY_eN4,16371
1
+ ccxt/__init__.py,sha256=8ra-I-1znIy66GsNT-0_rZEPgb9VCMQX7t_3RF5nuo8,16181
2
2
  ccxt/alpaca.py,sha256=S-PvXknJDcYUqHZWg4isZKGbTa8oU2G4Z0BqbvObNPI,80687
3
- ccxt/apex.py,sha256=56syhWZliX_jYnYCZK4OsCWABJJkOr80ZaWIc-bU4KM,82622
3
+ ccxt/apex.py,sha256=zNACpzgcqESJBg73H7gdDoA7ixjDVhCwFRr5hVtcT5g,82680
4
4
  ccxt/ascendex.py,sha256=FE2hoWQ5aMeCzLCf-fW_1FQGw4PqdPH3gQDpdD6jLGg,157130
5
5
  ccxt/bequant.py,sha256=pH1kcVZs4JMBa-fqei_arIIp9hlRQK8kYpyYrIM1K_w,1218
6
6
  ccxt/bigone.py,sha256=9HdNocMHTNAqBT5SZM8C31k_yUnVDH66fAERYQd2rnM,95645
@@ -16,69 +16,67 @@ ccxt/bitcoincom.py,sha256=kpGs1gz2443UrgEsWYeCR5L6FJyYqK5XLmFWaL-I0xM,541
16
16
  ccxt/bitfinex.py,sha256=xje9kkfIlrdnmYdC2Vz8J9M511KPxvkqVw68ceIbsgc,167867
17
17
  ccxt/bitfinex1.py,sha256=cC6NuPoQlWY5RoTnoRRgNK8yCr1GbF1NrOaZ341ZOkc,74223
18
18
  ccxt/bitflyer.py,sha256=WCSs3DkjhmoBuV5mCLHSTMOB9eUwKmntfhBKbiY5B3g,46926
19
- ccxt/bitget.py,sha256=6wQEDRhN3PGJPM_HgGGjtHNSSA7pJ04MkZG0TqckiPg,439188
19
+ ccxt/bitget.py,sha256=oy0sANZAS2aXYUSdcTyPp8Jvk-uzAYrjG3vRxbzA8-M,439144
20
20
  ccxt/bithumb.py,sha256=GHYK_Xwzk9nwINHN1lhnRvnTX8mL98RZQ3Khz213A1s,51640
21
21
  ccxt/bitmart.py,sha256=8LbVvV2whAFi4WNythAlWGuzGqhKmavqOJwmKqinSLo,248228
22
22
  ccxt/bitmex.py,sha256=U7MzNIUW_YBtBH2pMXOXPZ9oo25j2n_-iAwDWSDpd58,131801
23
23
  ccxt/bitopro.py,sha256=5e56YxFdUtGV885QUmPMxu_g6kUoaUVCMcB9U48LdEU,75452
24
24
  ccxt/bitpanda.py,sha256=X1xluJEGWtDs5ovAf8djIMZNW-V-3brs4UjdqiWoanE,510
25
- ccxt/bitrue.py,sha256=Ee_5yTbjIyOw92FBiXzAfbw5162FfUSKEd8qQ219Rnk,141930
26
- ccxt/bitso.py,sha256=fr7LkbswRV5l4VmG--jq1SyBr_WQRC99pw9M62avUSA,74161
27
- ccxt/bitstamp.py,sha256=nus2MaPtVHbewqnexouhrDRmlCSL7EwaPz8FD3cZEEQ,95597
25
+ ccxt/bitrue.py,sha256=CqZt4iJo9d_eFZkSgC6U-fAb7pLAxhcZzTlWBgCyNlc,140463
26
+ ccxt/bitso.py,sha256=wlR9IWQzs4KrenG8bzibeIrFurbBw5BJgimXk72MCfA,75694
27
+ ccxt/bitstamp.py,sha256=s5ncJmGr3ce_xXNOaQjsWbB4qjg8VdmS_eaKc0ricpU,97130
28
28
  ccxt/bitteam.py,sha256=HD2MNyRoBFEFX98KER8p7bff9YscBOxycYWaLLy74WU,105310
29
29
  ccxt/bitvavo.py,sha256=Nxzb9jALQIPzuf4sa0nLeQJv2o7Hi1BazZrVrE2iQ5Y,95413
30
- ccxt/bl3p.py,sha256=Rrnd-iFo3BwqxO1miRG9iL7O7vQ9O22y5B7LzchgNmI,22258
31
30
  ccxt/blockchaincom.py,sha256=8U9YcQEycLVDyJLBX5GSqzYKrI9qWG7eOGSythVmOx0,51717
32
- ccxt/blofin.py,sha256=mOOD0JUTfvi4_JQSP1UJWdr_oxBAVL2eUhRoPEVdKfQ,107369
31
+ ccxt/blofin.py,sha256=3f6aOvPI7IyTFcikppkjxOoz5nTpqVIADvq8T09-LFg,113354
33
32
  ccxt/btcalpha.py,sha256=Qu1-AQMHwXc_-0iSDo48cZDl1v5gIbaU1ITwvzQnHIE,39706
34
- ccxt/btcbox.py,sha256=nsJrbfky_4wC-O1oXb4oWr3EYiO49L-sa4-0NxB9Zkg,30034
33
+ ccxt/btcbox.py,sha256=kNfz-rnGpVyJ1dnWKcv5gaz4-DwdK-zOT7-f5u0qfFk,31000
35
34
  ccxt/btcmarkets.py,sha256=f157cn1ERJoudlZu-qYbr-nb5EdOYHqmcqJ6JSOS2eY,55829
36
35
  ccxt/btcturk.py,sha256=qy2VlkpclOKMgqmrPHccONIJZQVvGcJy2PG-f6KVKTg,39482
37
- ccxt/bybit.py,sha256=92-hILpJSz5YqtJBlD6PSkBdXd9IeWvrIc7tqVYG7Mk,439206
38
- ccxt/cex.py,sha256=P1aErEdCO8rtMhQZdINeVrz8PQGOo5w_S7GsAOyQGn0,72570
39
- ccxt/coinbase.py,sha256=PKjeOGMir_yscplNhbW9mfGGLJN0suHsK0Ok-ls26K4,235780
36
+ ccxt/bybit.py,sha256=3i5hhaRv9O6w8uUYRCewDxu8QRqvbBvIZWDm44C98pY,437593
37
+ ccxt/cex.py,sha256=3w-RPApgT6JNGQZmc9L0ze6IqycO97Xna69_aT17Lzc,72456
38
+ ccxt/coinbase.py,sha256=kuzeCdaXBtcn1PDII2V0icZ7UpGEGw_OFW0Z2ZesiVE,236744
40
39
  ccxt/coinbaseadvanced.py,sha256=Eb1X4_VtdNEu1q0Anr-MzdHG55OhCiZYgdeZv2kFuPg,577
41
- ccxt/coinbaseexchange.py,sha256=hsAIZ-PBgCQfxuiGWUgrUtgEavcTr9Kwd0Sd36WH26E,82397
40
+ ccxt/coinbaseexchange.py,sha256=XxLe-YwcDMncJREjwx1qRlzNtGlk-gOvaYcNdyEpb5Q,87178
42
41
  ccxt/coinbaseinternational.py,sha256=VH3RCIjvr9Y1FH-qcry92faMAEOzLR67XADKWjLDSV4,100805
43
- ccxt/coincatch.py,sha256=TqyVD9hNn-R1PS5k7zBYNd522E6nAqHEgQ8rgmZ_EvQ,246803
42
+ ccxt/coincatch.py,sha256=e2_bRVu46cnnJvo4SUCGztFbyq43xvoA3ulYph2S7ms,244315
44
43
  ccxt/coincheck.py,sha256=CAuMcY3JvLbwpGHR4W1qUt-P7zKRqRRLsObxK5C9I0I,38011
45
- ccxt/coinex.py,sha256=z900_rtENIahJ6h5IVKeMQnG_AvQBoFBUi8nqeyExUc,267343
46
- ccxt/coinlist.py,sha256=cGrtmqnGStQr5tKBipzu8ZtI8AjEt4lI9cYwCvHMsW4,114113
44
+ ccxt/coinex.py,sha256=CoCBNE0SWXgXBurhdqcsMuMsj3TnYALKFUz-_gLz2XA,267281
45
+ ccxt/coinlist.py,sha256=phA_bd7LZM_Samh2GsJAy6trzIgJ4yhmvAOtxpByvVw,114104
47
46
  ccxt/coinmate.py,sha256=ZbhFH_ALCbB9UpkSFlyh8RP4ZiLH7IbjJGX2PEOtUOs,48773
48
- ccxt/coinmetro.py,sha256=idTmegdHUed_nMhk6G-wOrMs1f3g4vjwX98W_IXwMF0,84058
49
- ccxt/coinone.py,sha256=pRXO3xfRQiD733B_HhcMcopQFYVIBdkYsUl6_0xYEEs,49290
50
- ccxt/coinsph.py,sha256=kc8u9WFexGiD4EjDlsktLU5goZekE6rQ3P2vDGv1kWo,94117
47
+ ccxt/coinmetro.py,sha256=Z7DB1mF1HlIfDAJie55FgQvlgE5Yq-oT6SIjfIA6pmk,84374
48
+ ccxt/coinone.py,sha256=nzJSHoDvUsttXDNdn6Wd1p72Duj9GuRQ1bgqvphryCI,49231
49
+ ccxt/coinsph.py,sha256=j_9eHDvD1TNRe5c4vmSDruT6XMYf-orPhof6Tn-tVSA,99456
51
50
  ccxt/coinspot.py,sha256=jQsrrLsUbHKpG1fe1lYEed4LNVLG3TJhx49NrkVyN2w,25997
52
- ccxt/cryptocom.py,sha256=DLZbnrVBED4KmdX9aEPEx3LZvCKZ0UI9wlpziF2lQIU,141131
53
- ccxt/cryptomus.py,sha256=s6tum4nnC5DYt8Ki0Ci83Art3dlNsure_J3TGV8-qyQ,49365
51
+ ccxt/cryptocom.py,sha256=XFAMUXE335fakbD3FB3Eaii9fwwTpGKhl8oNd8LNad0,145779
52
+ ccxt/cryptomus.py,sha256=s_F29uXs8iAq1A_on7B_djCBbZMVUT5nob_Y4oQbbKA,47506
54
53
  ccxt/defx.py,sha256=NkK5RWtxb_jaqTBsOLyUeXv5cdxS6jYZd3w7swsV7VQ,85291
55
- ccxt/delta.py,sha256=Y8Ul4dm_rTCIVtw9hsPk7iwMEwFX5QHkUR1YOPC2QfQ,154998
54
+ ccxt/delta.py,sha256=N4SxpE1PW_cxnN6cb-qXasbQcRwVT_vK6ODZt2puQko,157253
56
55
  ccxt/deribit.py,sha256=Maw8Q4sp-eIoD6qt5iAtCWxHrCPxVdsxCmhquCMdur0,167171
57
- ccxt/derive.py,sha256=3qUlFmU82hebKmc9D2SBr_rWxAQ9IFN1hc9aeAtU0Fk,120484
56
+ ccxt/derive.py,sha256=xXB1Li3VHuwtmibyEH-6aESXvuPFzjUMMRfXTApFt6E,122255
58
57
  ccxt/digifinex.py,sha256=qzFwSYOkmtm9vsSR1Rmccpz4v6fMvR_je-Wt_YyPZ28,177432
59
- ccxt/ellipx.py,sha256=oBPWB0503KrU-FmD3w27IZCvEqGoqUu2c8QZ33dGl9E,78966
58
+ ccxt/ellipx.py,sha256=b9wioqg43r3I63bWm0fIlk9EOGe44yoZSHx8m7B9JHQ,84066
60
59
  ccxt/exmo.py,sha256=unemEt52-1fmPvdp51TFXX0ctNaNwAj6LJVpWTXFx-I,120604
61
60
  ccxt/fmfwio.py,sha256=a1VjvGxdm6bVGDyC0UhyB-0QgUmxsWUWs0ZAAK2RI9E,1275
62
- ccxt/gate.py,sha256=NsqL92pBgTUB0cc1y0sWZVScgLSWje98WPO7MKkKtUI,351150
61
+ ccxt/gate.py,sha256=7MT0xBh5vAhIgdELzm48phpsjXFGFgl5txxNooSb6Nw,351143
63
62
  ccxt/gateio.py,sha256=7KbnH56kBK0tb_CN-wT10jaF5DfTrnHarhu27eknsLI,484
64
- ccxt/gemini.py,sha256=3iRVx5L_ImLVOH4e8z0f9boWFMoAtNvlpWncAqA2wPQ,83628
63
+ ccxt/gemini.py,sha256=V46lQwQ5a15YeCcOAOEHCuJQBnDvs_9LkrgTwDdCyxc,83625
65
64
  ccxt/hashkey.py,sha256=PyavBK1tJBxIqIGme7Rxa6O-UBRQhN7DJ9XalMrXWD4,191779
66
- ccxt/hitbtc.py,sha256=5dD1LCEYBITfTvFONdInT_lFXh7yYVQ5hAs3cxHgLCo,159744
65
+ ccxt/hitbtc.py,sha256=glI1oOlmeIwFwBIZQNDKs7VBx6hIZXOuL_LsDkm6roo,159659
67
66
  ccxt/hollaex.py,sha256=Rc1RZHzFnmA9yKCWoP1iTRbZoYlK96zFr-ozl5TTybw,79132
68
67
  ccxt/htx.py,sha256=JZnuqCDcUJ5Iehd0vA3kuLbPvyqqGtXIfNnjHZc5KYk,444911
69
68
  ccxt/huobi.py,sha256=rQI8HyRj6Jt9XgJYdTbu4tzu85sv0SWT3rvO_HY8r_E,477
70
69
  ccxt/huobijp.py,sha256=VQOeXJDhUXOzFCNAH2_gYrrciBg-9GtYaFpyAtIdM0g,92946
71
- ccxt/hyperliquid.py,sha256=IhFl2lbXYM0GLYWc-9dw-8Y9pc5antTIMubFaKu8ITI,149280
72
- ccxt/idex.py,sha256=K6XyVeklJCeCu6MhSCnxwICOZyZitachIcSTqDsvtx0,76204
70
+ ccxt/hyperliquid.py,sha256=6UXNogvgAO-yruxVqBiu9PGZP9hUmR2gHxgxmRpJ-4Q,149310
73
71
  ccxt/independentreserve.py,sha256=4kg2DbElwd39vDP_39tIjRMj4uT2E7Rm6HIxnTfcux0,43214
74
72
  ccxt/indodax.py,sha256=mnOPkrLScNIQ9CFkFY126OHgnLf2pCdnxaILPvFiwPc,57739
75
- ccxt/kraken.py,sha256=UfIZhFWJluYCyNwFA514mU8J3tecE74qXZT9J4tDJuk,148254
73
+ ccxt/kraken.py,sha256=bGZGlgzznQPj21BLcmJ1KGT1NvrygveRr4XMpedDAC0,148600
76
74
  ccxt/krakenfutures.py,sha256=FxcFHrQHgytW8QtFRzGQdM1eka4keWNVYdU0er3UsGw,123352
77
75
  ccxt/kucoin.py,sha256=OycntB0gK0mI4ZfDDMmHip8n2S-AxgKX2jG9XjFeJ5A,232381
78
- ccxt/kucoinfutures.py,sha256=hyfQ5LFL469MzLHtIdzIwJk6LC43G5McaBkeh_3LgDw,146201
76
+ ccxt/kucoinfutures.py,sha256=dIYjcWvjFSMdvykeSKLHJtyetBxPHKToj5TvLTv9pYA,146502
79
77
  ccxt/kuna.py,sha256=c0vVY--i13ARClRHyx8AAgfdYu9uuCJ-MgakyxeA_E4,98286
80
78
  ccxt/latoken.py,sha256=WgmOCDR-7LfFi3NiqudrxUMR63ivcxxJMyE95YcUD5I,82334
81
- ccxt/lbank.py,sha256=OcGp40KEJqzyXgGtD4RvnTFgl0DUg4671Wn6gN1hT0s,123599
79
+ ccxt/lbank.py,sha256=wboC02jnDOCj4Q1QNuwgMJ6umoXuYS1CySiXP4valCg,123621
82
80
  ccxt/luno.py,sha256=GE6oeD1cmS56KmATCX-BE5_1IyRYUvKKjEV72KSkKhY,53714
83
81
  ccxt/mercado.py,sha256=xdbHqVJgj570KETzQSUftP_I73ewdVqSg0Sj_oORt0w,38466
84
82
  ccxt/mexc.py,sha256=9vLlOcQiBRpa9i_l6p4nLd_vXuGpfXKCjZURps2PyA0,258865
@@ -91,7 +89,7 @@ ccxt/okx.py,sha256=wYoqqM6Y9tz0rLjHkAm4TXIasDPbhohwVfd5OfUjhMo,394186
91
89
  ccxt/onetrading.py,sha256=mNmwMVK-7qQEW6L35kfN6OwqvGLiVXrot4B2SDx3_TQ,76305
92
90
  ccxt/oxfun.py,sha256=tyKftyEPsxuPHrqLX0yPvIQ7-DRMks8YyqwW7WzK20U,128359
93
91
  ccxt/p2b.py,sha256=2mkYFm3h_lFtgEu13F6sDgbj3UxYyTG-3R_l-w7NZiM,56725
94
- ccxt/paradex.py,sha256=XGGDr9SX_6MrXd2Ha5MlSCaHGVk2CxbivTNnhPo_3qQ,100025
92
+ ccxt/paradex.py,sha256=1EsMohnKpdfbrvn0G5l3GqucxFJ3foFtXTDawNjrQAU,105341
95
93
  ccxt/paymium.py,sha256=SPe-2BHskOi8uHtrFWqcoop-ec5vu9GSQwDDf8EnXTA,26219
96
94
  ccxt/phemex.py,sha256=0b9T0h8HHWunePmrlVGpMfXvMVfc8me-dbuNJR3hix8,242031
97
95
  ccxt/poloniex.py,sha256=tyVhK-qb35W0RS26zXiFUkrPxvUMxmIGyzK08ZGuQ5I,154857
@@ -136,11 +134,10 @@ ccxt/abstract/bitso.py,sha256=aWtuVoQ3CLMBTukWz3L3-gagyhIeEcEf4G5J48Hz_3k,4025
136
134
  ccxt/abstract/bitstamp.py,sha256=YcFXFGm3RrCTF-Hi3x3v2wFt3BaH2PYslUVIoZOmcWE,29877
137
135
  ccxt/abstract/bitteam.py,sha256=k7txfUy717X9pi_XhXuCkpa7fR0Ul7kQYw7mC4REzuI,3478
138
136
  ccxt/abstract/bitvavo.py,sha256=bPoB0TAmdey7t_O7GBrZpaS9MtwjySWsO1ctqqIuLTw,2357
139
- ccxt/abstract/bl3p.py,sha256=J_BJAZ78sX1jNvpxkwl17ba5CqX8Q1GzrTBUL_vBRzk,2024
140
137
  ccxt/abstract/blockchaincom.py,sha256=f4bFO3bWjk9ojqGolkzuau06f1CksUAJdLvSc4diA7c,2638
141
- ccxt/abstract/blofin.py,sha256=OQvuR2KAqpblaWbu2QkGFiQ5UXzNuV0EglA6WideNoA,8161
138
+ ccxt/abstract/blofin.py,sha256=HSNIiR_tGKzYlJ-sOtTyXBmvuN9QdhZ8T0ej1lixVMk,9261
142
139
  ccxt/abstract/btcalpha.py,sha256=sbF4SAkTJq01QPQw4D2GMkKrPhKfFIsG-PNtMAC9WwU,1380
143
- ccxt/abstract/btcbox.py,sha256=pifkHEayyfVN4lhO2s8oKg_wjQChwWo0g5-vw4rcm1s,931
140
+ ccxt/abstract/btcbox.py,sha256=cK9YZgtIXLUBrV99XSxJpd_BdExmVJ7HElXx7hNW50U,1044
144
141
  ccxt/abstract/btcmarkets.py,sha256=dQ2yTZ_8T2TEeAYIuKE0ATImbOLDLGSK7HbbBd8XVJQ,3690
145
142
  ccxt/abstract/btcturk.py,sha256=duM-QrB9MvGpopOtxkfbeYlY49bgvXQLiosRVmnQYFw,1777
146
143
  ccxt/abstract/bybit.py,sha256=MJOAcqoYfdNMT3TfdUNpA-SSb2kTgYHC7U9-kRlmkB4,50555
@@ -178,7 +175,6 @@ ccxt/abstract/htx.py,sha256=X-5cH2M7ER9tYzAyepssIOlHRGr-Rx6hFX35d-zQpfQ,99311
178
175
  ccxt/abstract/huobi.py,sha256=X-5cH2M7ER9tYzAyepssIOlHRGr-Rx6hFX35d-zQpfQ,99311
179
176
  ccxt/abstract/huobijp.py,sha256=12RtB9kVykpBYwQ5JjYa4LK2Fg7MeynJAuOy67F7TP4,14331
180
177
  ccxt/abstract/hyperliquid.py,sha256=ZMYSShrl1iN_TSO4p2lL38qfo65zBWpyHw9kQvJ_mpw,373
181
- ccxt/abstract/idex.py,sha256=kFcWa8PauxofzN_k2DyQ0aZxQ70VPNAWMcEUZrl7XqE,2129
182
178
  ccxt/abstract/independentreserve.py,sha256=GBa5JX6Wv9rdh2B3a0L4pHCqF6jMLQMcLSOQvAxzq1k,4975
183
179
  ccxt/abstract/indodax.py,sha256=E16v8W6Ac9kmV9hFEqf_kwV6VQmK74lc1LEUEkuDpYg,2488
184
180
  ccxt/abstract/kraken.py,sha256=glI0xp23zwl3KVtmfRPS6yoMlD86IhihUPi6LjFzM6I,5989
@@ -218,9 +214,9 @@ ccxt/abstract/xt.py,sha256=n3eX1cItL_J0j8prOViV-C_tRwIFv_GO8JTvZZw8jv8,27837
218
214
  ccxt/abstract/yobit.py,sha256=8ycfCO8ORFly9hc0Aa47sZyX4_ZKPXS9h9yJzI-uQ7Q,1339
219
215
  ccxt/abstract/zaif.py,sha256=m15WHdl3gYy0GOXNZ8NEH8eE7sVh8c0T_ITNuU8vXeU,3935
220
216
  ccxt/abstract/zonda.py,sha256=X-hCW0SdX3YKZWixDyW-O2211M58Rno8kKJ6quY7rw4,7183
221
- ccxt/async_support/__init__.py,sha256=xiVSE5Q1y0aspJRYCR0Q16H_Z81s-lr1D0RdLBBEqJ4,16164
217
+ ccxt/async_support/__init__.py,sha256=AdhlG-KnOMhw8e9OEhHiCX-nNZmnomTg3XYB0RRgkkY,15954
222
218
  ccxt/async_support/alpaca.py,sha256=Tag0HpHxho_qrXoQ8rjZBVJZj9T38qg8g-mZR39_m18,81133
223
- ccxt/async_support/apex.py,sha256=OiWJTq0eouOQSOwqEfRvkGTf4Uv91kzh0m97YMvKcx0,83110
219
+ ccxt/async_support/apex.py,sha256=Lf740Qrx0kRb2fVZWS0FwZeysyMz65IEFD66jzn-NfA,83168
224
220
  ccxt/async_support/ascendex.py,sha256=_xO9L6_uFJd1TxbGPH_QQ22Ototci8e4_M5eJKhz53s,157943
225
221
  ccxt/async_support/bequant.py,sha256=wMwmsTUd5cKYqt1rWyIqgyVzoznhEBtClG_vncshz5w,1232
226
222
  ccxt/async_support/bigone.py,sha256=LIFOq8_49wkrql1VLqFJhJaOokDqw6JnYfS4fdkfCGU,96099
@@ -236,69 +232,67 @@ ccxt/async_support/bitcoincom.py,sha256=NN_AWmT0tzikiwFDtf3aUqRXbgFTbdRIeL0kPbL5
236
232
  ccxt/async_support/bitfinex.py,sha256=reAsUMsbu8a3g_hK0s50btHcWQXo3jTH4bfvjFM5dRE,168627
237
233
  ccxt/async_support/bitfinex1.py,sha256=5wTplLdKMIEoWUwrG5_W5rXhrPbrch1358Bwa6TU1ek,74689
238
234
  ccxt/async_support/bitflyer.py,sha256=i68Vb2iY6OCXQ2DU9pHKJexOxH8dZAZrZSPr_q-colA,47252
239
- ccxt/async_support/bitget.py,sha256=YwcpyXTOTrNjuv56qC4krYjYPSj0-yPbAzgEAtWIPX0,440884
235
+ ccxt/async_support/bitget.py,sha256=tBQA80pN9ZKH46cQiNx1cSlJJsdjPqGNnQSPs5X7zNg,440840
240
236
  ccxt/async_support/bithumb.py,sha256=ar0QoFintFU7qv7wW6xjnYqBR3keNYN4qN5cbybYxEY,51919
241
237
  ccxt/async_support/bitmart.py,sha256=8U1WC9fD8CLJFJC85wHZyZuf0XihYL4DubW3ZTtVEac,249352
242
238
  ccxt/async_support/bitmex.py,sha256=ySXncjhPs47qdGGkNgjZppMIfHf4UmqKOungNwz-EQk,132379
243
239
  ccxt/async_support/bitopro.py,sha256=ZSzfoGFxe8005JhF58OGhAgjOz_ElL4kS8gZBxlp5cs,75862
244
240
  ccxt/async_support/bitpanda.py,sha256=zj2ad7e9spjosP19nGH2s9oJnlSsJ7CZFNK4alIt51w,524
245
- ccxt/async_support/bitrue.py,sha256=0Q5w0yeS84y4LT9QGtKL3KuLVqMn4-sUWBNUy2QC0Yk,142588
246
- ccxt/async_support/bitso.py,sha256=sxa9qvlBYRorMWzDed4NYSUjJQLC4QVoztKjCHPEDrY,74547
247
- ccxt/async_support/bitstamp.py,sha256=7MNcyr9yI9jR4e3CzIp2H9sku979VtjM4Tp2hGfWJSo,96097
241
+ ccxt/async_support/bitrue.py,sha256=uO8VU-q6bpZXuvnwkrdGbs9bME7IKs0nyaFRKX9jVlI,141121
242
+ ccxt/async_support/bitso.py,sha256=VxJIMonNL21HlZtf1t_VTTdwfrpDr5B8FB0o-aSISP4,76080
243
+ ccxt/async_support/bitstamp.py,sha256=RD8F7UtyaSfJKBgbIjA38QTu64TQ1kGbIJ2eAdNAc7A,97630
248
244
  ccxt/async_support/bitteam.py,sha256=ln3-UTgne2oPqefhsyO8nmKcIMnQ-K1QwKGXFujeTf8,105642
249
245
  ccxt/async_support/bitvavo.py,sha256=a9MEDZOv0frBGl-mDL7fu2QleqWA2qvNFiLAJEHLFQM,95847
250
- ccxt/async_support/bl3p.py,sha256=9KnX8oJej2PmbzX6zHfBnvZZ4Vil7c50AcVN4Hxgou8,22386
251
246
  ccxt/async_support/blockchaincom.py,sha256=t6fKdJrwSTZH6Ztki45oV_mt2FORVwmSpJxwn1DFtrM,52109
252
- ccxt/async_support/blofin.py,sha256=5zsb0cTQdGTCJXasplE85Mgike2YazKGJ9Bo--RF7E0,107971
247
+ ccxt/async_support/blofin.py,sha256=uaykyvjInh2CyUTWSflG1c-P8nksCERfLLGxHZ3Oov0,114016
253
248
  ccxt/async_support/btcalpha.py,sha256=60k6itHUZebFUStxORVOcImG6qeFiad8mKlhTsLqVGE,39984
254
- ccxt/async_support/btcbox.py,sha256=bY4LZaCVh2eEyrHF0rRc65D8ws53oAcC0MqbJyU_odE,30258
249
+ ccxt/async_support/btcbox.py,sha256=LDK_Pc2RIdvuQ6nD3CxozOKXAZjGUwYFEdXa7OcWdUA,31256
255
250
  ccxt/async_support/btcmarkets.py,sha256=Zg3yrl0Gep_0_-pbRW3og0YUxutQe2iWXPorOhypAkQ,56179
256
251
  ccxt/async_support/btcturk.py,sha256=f2xZPMhw-4CKf9e5DYoNdDkbdqgyWvWRAZ9faaUPUyI,39700
257
- ccxt/async_support/bybit.py,sha256=HNR8FuGLYO7UiPiwXWjJ9SjKCTh4qLpprQ4J8dbb1PI,441026
258
- ccxt/async_support/cex.py,sha256=VZTWfub6BcTSX99K2uMqQc5lr68zcaNWJZYVLdvO4Gw,73042
259
- ccxt/async_support/coinbase.py,sha256=c4wUQKTikKeJj7meniyhvZZOQgV5SkpvdcmNLDXNtkg,237024
252
+ ccxt/async_support/bybit.py,sha256=OYcXpzKLFfHWDDp0kRAaDbH5YNPmjaNnJDcBOUjhBTQ,439413
253
+ ccxt/async_support/cex.py,sha256=glezHtzVpvdGI6GvN2kpwah5uJGStbg2e1rIh7UKRLE,72928
254
+ ccxt/async_support/coinbase.py,sha256=r9CVO7jN76hNFxhEPdlzbHT4rbKZggHL2D3J17QNMRs,238005
260
255
  ccxt/async_support/coinbaseadvanced.py,sha256=TnsUS2r5fvHIEfQmJh7J6Muyg8tPqDJphKYmK7gUQGE,591
261
- ccxt/async_support/coinbaseexchange.py,sha256=gItAdPlwvLERYDtZpb2ikoPu8QI6LNtCC9U_9nepGiw,82903
256
+ ccxt/async_support/coinbaseexchange.py,sha256=HDpvVVbjP1ufz2v-GyBVHl550XhsrXuPNQYYriFOSVQ,87684
262
257
  ccxt/async_support/coinbaseinternational.py,sha256=0wTE9n8B_GOeHOH0CdA_2hnhe0abqx7Wwk4roaotE0Y,101419
263
- ccxt/async_support/coincatch.py,sha256=dkoKneUEeuMxZc9JNHNngy_gYzEQfZVorrx6zXIe5s0,247879
258
+ ccxt/async_support/coincatch.py,sha256=2_qdmOvJo-T65OGW3LKIpYm2H2eBP7T1y6BiIJBZnc8,245391
264
259
  ccxt/async_support/coincheck.py,sha256=riQpuspYXE3FXgjQQaNFSjnWGtsPUBwdOrq9Hy3eTO8,38217
265
- ccxt/async_support/coinex.py,sha256=B-40JNdBoWgj-BCMVrdyCNpTTiN-TTV85d8Hv8WxG6E,268631
266
- ccxt/async_support/coinlist.py,sha256=Ejb42XG1xje-SivMSteM2B95RsjsHY4ZetrqjzllKtI,114619
260
+ ccxt/async_support/coinex.py,sha256=lj_2qf1gnqmXbVf_pXBZddBFsHeVmh_N2JIxBHhmPwM,268569
261
+ ccxt/async_support/coinlist.py,sha256=GaZ8TTROBzs6woGTpnvTnfyP3CP6JocQyES5tc-jXFw,114610
267
262
  ccxt/async_support/coinmate.py,sha256=iC1zJju22iTcFtrQKFSsOyPkgTFQkUDa_2FWOOH029w,49039
268
- ccxt/async_support/coinmetro.py,sha256=j--kJNppZEMGBBsxR9P_W6W7JeizLAVER55_0ivNrrY,84378
269
- ccxt/async_support/coinone.py,sha256=-2KiLKmgyjIL3WOoAOZb6JJFfJmQXBFMnO_lYFSpRS4,49532
270
- ccxt/async_support/coinsph.py,sha256=-Ah82PH0mChd3T9ZQcHyCN_1ZTRsux8zR3cD4d_O00U,94551
263
+ ccxt/async_support/coinmetro.py,sha256=v-xMWbm7oIQ1GGFCDg-oUrYK935y4vOQ3QP8WW6OLJE,84694
264
+ ccxt/async_support/coinone.py,sha256=nNNpMSRHFz8pQEkHcEIj9GHNHsnlWhwk_ZauMmAIePI,49473
265
+ ccxt/async_support/coinsph.py,sha256=zHsKdCq_EMNfqlO68i-uop_ctXmwfbfUcQ_4yGmmQeI,99902
271
266
  ccxt/async_support/coinspot.py,sha256=TpccNE4N4g2lVcPPVzDVR5P2rD8TxqYXzpmNqpxRulQ,26155
272
- ccxt/async_support/cryptocom.py,sha256=6X7gz7uJuWgYv5YWCMfgwoAmP6ci88YMxRsHU3FGlG4,141739
273
- ccxt/async_support/cryptomus.py,sha256=p6hDlvDUyOic62x_SM7QPA13Y0jNzuxRxQ-u5ZqIXFE,49565
267
+ ccxt/async_support/cryptocom.py,sha256=Yf_e0b9YbiuA-P21mISGUG8q1arflDzFYLT1yZVQfaw,146399
268
+ ccxt/async_support/cryptomus.py,sha256=6DWJOBddqi7hYI71Y7U4-Y5vYj81Mw2EZDrCLDjgQhM,47706
274
269
  ccxt/async_support/defx.py,sha256=mhcJBpJGSZZm3IoKyaGuTIOokmvVm6RVl9mRf-39_3A,85793
275
- ccxt/async_support/delta.py,sha256=bw_ydxZ67uN0EIqXTSotWzxjL_yZpyZiMRRmbjmb8j8,155606
270
+ ccxt/async_support/delta.py,sha256=XxblatTO3a7hp96OjfYqrCZ2zsMAgzKZdcUdjCyZBJM,157861
276
271
  ccxt/async_support/deribit.py,sha256=RvyTQUeXombfwhr-k6B2kzjI1Hovu5zxkItz7687iVE,167953
277
- ccxt/async_support/derive.py,sha256=ZFaiLSpRKufYjY5YlKZo3qqPQZPtIFCLZK7hCtdJIM8,120980
272
+ ccxt/async_support/derive.py,sha256=wvaGnXWt8llnj9YCRW6Mke8t3oyIu0m_4sFYd-AHo3I,122751
278
273
  ccxt/async_support/digifinex.py,sha256=9ZzHoo2AJBG8Zl1SVh1F-YNWkcUo8ePSgcqq1feP9u8,178420
279
- ccxt/async_support/ellipx.py,sha256=rNGNBp2Wko2yG-Fx0p9TM862Md6MOmloxbugb4ngh9U,79274
274
+ ccxt/async_support/ellipx.py,sha256=q_Mf8eDeZK1XdXTfCujzTtggomGOh9jn76-d1H_AjZM,84374
280
275
  ccxt/async_support/exmo.py,sha256=G8SrYyKO0yIjLXjM9MYdBN6n0AU2a8aHN11RbXf-66I,121290
281
276
  ccxt/async_support/fmfwio.py,sha256=daZ_yHYGThtJQV2LIh0wSS1uotTY-CH8e8pdNLr_Otw,1289
282
- ccxt/async_support/gate.py,sha256=pYpJtFpqydeVZu-BZrNhS24SWh4NhOCFhh-koFgDU2o,353109
277
+ ccxt/async_support/gate.py,sha256=CYgGmv3nR6r3WuieLpKEhwKRRFpDzPO5FMZKv5Nwj5I,353102
283
278
  ccxt/async_support/gateio.py,sha256=Sy9taiR0_0k4oh5GHjTjpwuCzskKiCCEQljuz7OxDVs,498
284
- ccxt/async_support/gemini.py,sha256=E9eGYX1DojVJ2Zbgmg11kfplbYmOTbhtP5Hx9sNYMs8,84152
279
+ ccxt/async_support/gemini.py,sha256=-6EoDaH5Ybs37lXoatifP3A39mrppJPOrS7y2NrMA-E,84149
285
280
  ccxt/async_support/hashkey.py,sha256=K4cruVZA7kKO_jeOSZv4YVpesXnO0vkXu_N5MjYbygI,192621
286
- ccxt/async_support/hitbtc.py,sha256=LjdIn5xT6gnwdQJuPqkU8bg3AcbLLRkuZqW6gA25W34,160808
281
+ ccxt/async_support/hitbtc.py,sha256=gZ8_Gso14v-RNPuufqOkqpeAId58KtAnumVbWgq3ZdA,160723
287
282
  ccxt/async_support/hollaex.py,sha256=S15xim4cjHNQmVMaFezF28Td0CN0yRTEAfPcwlaG-XM,79566
288
283
  ccxt/async_support/htx.py,sha256=BetMmPqVk24ybyE6I30dMKGinMCmLGlbWqW_4KBnGbs,447321
289
284
  ccxt/async_support/huobi.py,sha256=D4CTKw-2sl7iiX3yh7hMMkhBXHvQQ3to9_tW4WKm0rA,491
290
285
  ccxt/async_support/huobijp.py,sha256=g0kcnpXyTB7-xGVPeiqdc3erfeB6horhETouayfgcv8,93446
291
- ccxt/async_support/hyperliquid.py,sha256=T61r-yD_GCI4P6TqiUTXcYfK-Iuh03YJpao2i4nuNGw,150058
292
- ccxt/async_support/idex.py,sha256=qIgNayuCWXCggvnVDhVOCUOYknMmgwMjqXhEJWXzrqs,76680
286
+ ccxt/async_support/hyperliquid.py,sha256=UUqRkjTXXY_Grn5g2v-PRhYvclqjCg1mAqjSm83qDoY,150088
293
287
  ccxt/async_support/independentreserve.py,sha256=HvAj_2WG3lKNy5R2vDmV32frQbsOb3TSvg7QHZ8E8So,43512
294
288
  ccxt/async_support/indodax.py,sha256=JssbOrL5Xy5MVgwtv9nbKPelmgOS9IMAniyZ5D5d6Lc,58047
295
- ccxt/async_support/kraken.py,sha256=lcluqwYZxo5eN965c7PaWCFcnrpbH9wGlIhY893W-dI,148910
289
+ ccxt/async_support/kraken.py,sha256=TKpYxIFHPkuS44MdvQMAM1VumfztEU6WI5znyEYxymA,149256
296
290
  ccxt/async_support/krakenfutures.py,sha256=eUeNv8u1DyIVIL7R-DxCh25SPOgGL90aHDoHmFDia28,123840
297
291
  ccxt/async_support/kucoin.py,sha256=kUz1hYpOU364piOa-psqtxTm11f6KlXS0HErk9_J-xk,233531
298
- ccxt/async_support/kucoinfutures.py,sha256=liCwPP9vjx2CZCuO3ENCG58mjln0vh3UCX_IlrEePD4,146989
292
+ ccxt/async_support/kucoinfutures.py,sha256=irTJoiMRS_8FGDalVNXE1sV1zhkM9rkVtqUOreL0tTM,147290
299
293
  ccxt/async_support/kuna.py,sha256=KLY3tK_qr-XqQKWsYKcnBVvPHsfYzlbFk6rCzEn9f1c,98702
300
294
  ccxt/async_support/latoken.py,sha256=RdEFvig7T_GbtwUy8MG3ZKnlsM6UDJnjbvjTs7Y7Qis,82810
301
- ccxt/async_support/lbank.py,sha256=sTVLgcj_EP4xIHO0sVSZWiJhj8Ijfe2rHnjb4iq_Cjo,124347
295
+ ccxt/async_support/lbank.py,sha256=cIEIQYDUTzTbnCZTxkfSS4ef80zlwlw1GBIRJJReopU,124369
302
296
  ccxt/async_support/luno.py,sha256=B8VWaNjEYO_vdHypHP_iEpPlo0FQwrO4LMhkhmuYAwk,54088
303
297
  ccxt/async_support/mercado.py,sha256=rC48RX-XpLRd2u0roaGc5JY046mHrI6nq1b-4vhNeGU,38708
304
298
  ccxt/async_support/mexc.py,sha256=2AOkhXyED_2TRlXDGrFw6oxlzCN_aP3TJwkJYqYmmzw,260129
@@ -311,7 +305,7 @@ ccxt/async_support/okx.py,sha256=jJAqxgW-wooNmEPO-Sp7SBvFMbjOrBvGbrjRPh5Gnfk,395
311
305
  ccxt/async_support/onetrading.py,sha256=rHzlEI2JW61LbuNUtSZeICL7Pa71lwJthU8lJJn3O9M,76661
312
306
  ccxt/async_support/oxfun.py,sha256=apPsU8fG7ncnWtAdp3ac8A9jqCOZCVLUyVRPesiCERk,128921
313
307
  ccxt/async_support/p2b.py,sha256=A_RPhOvbOMozI8Ypvw_Qzon5c6609l-fle3hYMT4j4w,56967
314
- ccxt/async_support/paradex.py,sha256=Jvh9l-O13yaS23cz9VWHA0D5TRxEZH7aklGqSPdhY6w,100729
308
+ ccxt/async_support/paradex.py,sha256=8FqoumREI3mxS3zhn8bPsu7ae0zvv99cdoXaAQT_ZDI,106063
315
309
  ccxt/async_support/paymium.py,sha256=x4-ORMQoTtML3ZOSlBc6oH139SzVbzs0deVpV5cnqBQ,26407
316
310
  ccxt/async_support/phemex.py,sha256=mcoTE7oeGJTsxEgDJm3UWRzStsYqfphJBmnUBTN9yb0,242947
317
311
  ccxt/async_support/poloniex.py,sha256=B4iS67iujd9WtypRI56UDP-pLrcvH3jzhzdLMBWG1Ak,155665
@@ -331,13 +325,12 @@ ccxt/async_support/yobit.py,sha256=B2T9UXo0ke-YyXxNW9avOPJ8cReVGXWD9OpkORI9ZSU,5
331
325
  ccxt/async_support/zaif.py,sha256=jZZv3ZjGQgkPNRfY5B5p5DNMvanHWTTS8m6BLBWm9tA,31357
332
326
  ccxt/async_support/zonda.py,sha256=2QL_B9CmBu4SU4K-Y8segpj57vzAd4aUT2H2cD3b07g,85320
333
327
  ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
334
- ccxt/async_support/base/exchange.py,sha256=xymY5wNLj91rnBu030hAcaAJS8HQQ-x4fQfx9t18fJU,117601
328
+ ccxt/async_support/base/exchange.py,sha256=ez6SSEp3QG4HwJ3H4qAFmC4mHA9IVz_gEaReL_Z3kzM,118577
335
329
  ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
336
330
  ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
337
331
  ccxt/async_support/base/ws/aiohttp_client.py,sha256=Y5HxAVXyyYduj6b6SbbUZETlq3GrVMzrkW1r-TMgpb8,6329
338
- ccxt/async_support/base/ws/cache.py,sha256=Qf7a9t22vW6jfl387IUTl0lPmIejBW3VG38ge1Jh55g,8170
332
+ ccxt/async_support/base/ws/cache.py,sha256=xf2VOtfUwloxSlIQ39M1RGZHWQzyS9IGhB5NX6cDcAc,8370
339
333
  ccxt/async_support/base/ws/client.py,sha256=J5lTz3QGTaURZYeqW4R5xNw1orDlHYoOVXIJIX6d5Zc,8188
340
- ccxt/async_support/base/ws/fast_client.py,sha256=WPXKqSi9OPDtpgAvt19T1EVtTg4BNk8WGSLtxUVMh08,3956
341
334
  ccxt/async_support/base/ws/functions.py,sha256=qwvEnjtINWL5ZU-dbbeIunjyBxzFqbGWHfVhxqAcKug,1499
342
335
  ccxt/async_support/base/ws/future.py,sha256=WhAJ7wdEiLdfgl5tfGHv6HgLxAN0tTc9xL4gbkKVOaE,2409
343
336
  ccxt/async_support/base/ws/order_book.py,sha256=uBUaIHhzMRykpmo4BCsdJ-t_HozS6VxhEs8x-Kbj-NI,2894
@@ -345,15 +338,15 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=GhnGUt78pJ-AYL_Dq9produGjmB
345
338
  ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
346
339
  ccxt/base/decimal_to_precision.py,sha256=fgWRBzRTtsf3r2INyS4f7WHlzgjB5YM1ekiwqD21aac,6634
347
340
  ccxt/base/errors.py,sha256=MvCrL_sAM3de616T6RE0PSxiF2xV6Qqz5b1y1ghidbk,4888
348
- ccxt/base/exchange.py,sha256=5P2wgylW2NDJMPKQJpXvQ3CYcV4eSwIZJs4ckrU1oZo,327106
341
+ ccxt/base/exchange.py,sha256=w3T16lJ5Ii89lYzC5xpr_tZqilvTWgcF6D9WKfRfzzI,328021
349
342
  ccxt/base/precise.py,sha256=koce64Yrp6vFbGijJtUt-QQ6XhJgeGTCksZ871FPp_A,8886
350
- ccxt/base/types.py,sha256=SfxIKDSsxP7MPHWiOVI965Nr5NSEPpAno5fuveTRi3w,11423
351
- ccxt/pro/__init__.py,sha256=o4jmmQrkItjNKDltPBfY4WB5_Wh3k1n60FODGYOz9Rs,7799
343
+ ccxt/base/types.py,sha256=IbLO7Ni-plO36xlOdJQFqujSJBq0q9qll009ShZ0M_U,11468
344
+ ccxt/pro/__init__.py,sha256=OHMQaCtN2T6Wjw6BE40h4mQf-xGlCi2DuYbZzEGHnCg,11200
352
345
  ccxt/pro/alpaca.py,sha256=_WEorh5thYhvhn7R8hBvHW2m1P2foIbp8URjIt_9vcg,27623
353
346
  ccxt/pro/apex.py,sha256=fiKLT2R4vSCtTBXtXOgw_rJc6jPGINrpEJagzfvlL9c,42004
354
347
  ccxt/pro/ascendex.py,sha256=aSbIEzJ0Og_Nc5UGTYj3DVjGfIJ0-q0DdXSWJcQCKb4,37512
355
348
  ccxt/pro/bequant.py,sha256=reG2yXBhxn_TuOIg4J2BiLxl8Lw5Lag3IBMGBkiQCd0,1591
356
- ccxt/pro/binance.py,sha256=xbzhWnTPEutMx2bv6QEUYPARAfWfQb0-Zgty4aekBsk,204512
349
+ ccxt/pro/binance.py,sha256=xWdvViFQJXhUdjL6ki8TPLRdFJ7Eybe-BnDOtbEsc2Y,204211
357
350
  ccxt/pro/binancecoinm.py,sha256=AfOWR--71YCCYSUsX50G4sW2OxvLKJX00XcpItnfG7o,1075
358
351
  ccxt/pro/binanceus.py,sha256=PMx1G5RD-whXM02hRF8A6aW_-4-LJqPbx9o63nBp_8o,2034
359
352
  ccxt/pro/binanceusdm.py,sha256=n01dbMu25CEcaJXNve--Ngf2Toqg3yWHstqTz4vtOUU,1551
@@ -362,7 +355,7 @@ ccxt/pro/bitcoincom.py,sha256=a0dw4oSbeq43tRYIwPGCmQP3dc4BxfW0tPDxCMUc2bs,1220
362
355
  ccxt/pro/bitfinex.py,sha256=ZLQEFVjWb94XHBsRE6QBEtA4cpvL5gD_K3UV1SCTmD8,43115
363
356
  ccxt/pro/bitfinex1.py,sha256=6SHvEOedkCAfYjXOSVvl9yAmwezip-GAVg0vaG8Cu34,25323
364
357
  ccxt/pro/bitget.py,sha256=RG3ePuPfGNY0XW0kGOxaDlwQ_MKpA99ZMVYBe1G_ZUg,90331
365
- ccxt/pro/bithumb.py,sha256=SigdB02sLM-3cp8aY29B1qpkbCj3G_Ce3nGAfFtu22Q,17407
358
+ ccxt/pro/bithumb.py,sha256=aXK63jzW1tZS76vHZzcBPji7_HdERRSi3m1toA-LxWE,17546
366
359
  ccxt/pro/bitmart.py,sha256=Kuw1n-SuUT_vVs2HObJkE6jtieS55qeD9dcWbZGBeT0,67210
367
360
  ccxt/pro/bitmex.py,sha256=Vwb7J6ToIKLsx00OdX3Om47bufLi6d7HRm9hP2w9zSg,74652
368
361
  ccxt/pro/bitopro.py,sha256=9Fq3ICU9prweuUzSksjyJKIyjzngQq8uYiQt0cEJVYU,19117
@@ -397,15 +390,14 @@ ccxt/pro/htx.py,sha256=qjvYQIRz3nLSjCarLJIEqTo2YVwfIvv9OwXJynkLGwY,97645
397
390
  ccxt/pro/huobi.py,sha256=MPqx8sS8dX9pQHiSWZKzKgNRB2O4yfblX7yTTbM7Tp0,424
398
391
  ccxt/pro/huobijp.py,sha256=DNgm6jrERyJG_fWu6xvlEs0lNy6TBsCsIWct0wrOjJA,23330
399
392
  ccxt/pro/hyperliquid.py,sha256=IwO7ZJ-N6JSGx5lJhaDAq0xjGqdBrj32zuqj2WR1xC8,42785
400
- ccxt/pro/idex.py,sha256=-S5IcxqDPahlS-ptORSGlWH2PanJ0JFa8vFEfND4dXw,28612
401
393
  ccxt/pro/independentreserve.py,sha256=3FGcNr9nrlf6Qt_q29lMe9I760IP9T-DBgDj_kmAo2g,11368
402
- ccxt/pro/kraken.py,sha256=GdcrqW_aWbvXRnXKH99EbjIvrMwDuyz-iZHnXY7o3Ls,66474
394
+ ccxt/pro/kraken.py,sha256=bUK2d6Z8i4FUQ5I3o-94EOOA9vjaKld2G7iHclo3BV0,77310
403
395
  ccxt/pro/krakenfutures.py,sha256=2qfn_xJ7UYnJFYusG9iqlyd7O-peZm5aCfzVHFLD_mc,63913
404
396
  ccxt/pro/kucoin.py,sha256=aXBSfhUVZEyGLwoJJSi9MIOxyWWmnd_FRf38R6fAuV4,60753
405
397
  ccxt/pro/kucoinfutures.py,sha256=9EbEi4vCwLl9evPlJLX7tQTk18mPz87piKnH6GZbMvo,56070
406
398
  ccxt/pro/lbank.py,sha256=CyrosUibFTA_CwCamYoWtrOzg_scpR79GvO4p5wu7Tg,35582
407
399
  ccxt/pro/luno.py,sha256=QWGa52-wDisT3QGT-ZiEuqdvUxzTDbIR4ijr94PihIY,12392
408
- ccxt/pro/mexc.py,sha256=ADmJF3_ATP-QAV8vTt6XG8YDUDLYwRcg5OWmWWSF4HA,56498
400
+ ccxt/pro/mexc.py,sha256=zEaG1bXH-_l7Xzd62vH494tAJ6l4vstMcTl_801jIZw,68474
409
401
  ccxt/pro/myokx.py,sha256=iSdyUUOmRA8QdJNJSn-DoLJb-fw88ReQxAs6nithKVQ,1237
410
402
  ccxt/pro/ndax.py,sha256=3cTUYVycEVaw2a13pScrQgbDWYM_JQAxZJ2LIe1q9pw,22975
411
403
  ccxt/pro/okcoin.py,sha256=KADyAILCS5_Nab5yDp4ALe5OP29euKXfWrX_ohPwUPM,31036
@@ -415,7 +407,7 @@ ccxt/pro/oxfun.py,sha256=hmHxKVLmOM6WAb6thiDOrouFEs77GklMlIgLQDw6wWg,46659
415
407
  ccxt/pro/p2b.py,sha256=ljmk5mQhB68D1_i0OpNS87Hp66i4YIv347IOYvDocHE,20893
416
408
  ccxt/pro/paradex.py,sha256=dVvrsdpzVK_QxPYUzQeemwaUWEo0BnsT-AZmRJSwYiY,14427
417
409
  ccxt/pro/phemex.py,sha256=cLJoHG6MUqh5osNOmecC81ZrGPQwlAX0XXoySy9nJRE,63343
418
- ccxt/pro/poloniex.py,sha256=JO5leNDEGrtvUQToP0pwg_j5bKoykmuWeWPqXEqJKx0,53438
410
+ ccxt/pro/poloniex.py,sha256=BbHcQfV6HOVdBFZ8bysKWTdMQPqViQrRmMv7SpPm8uQ,53568
419
411
  ccxt/pro/poloniexfutures.py,sha256=3bpcwhUZ1-oNyJBSMVIowazYKwh-eEcI65FsORdfeZU,41992
420
412
  ccxt/pro/probit.py,sha256=hh8MUW_5Al6zN4rtveUKEXveDI8bStIB2az8FaGQew0,23136
421
413
  ccxt/pro/tradeogre.py,sha256=9PQUWy2YuMG2X15c-_eCF2UYt3zuJE-SvJUOtkrLmjo,10598
@@ -657,8 +649,8 @@ ccxt/test/tests_async.py,sha256=VDX_aKVOe8UEfLlNxBae8owl6LbvQ4yWieD2Oky0BU4,9400
657
649
  ccxt/test/tests_helpers.py,sha256=egM69A2ZFYeVF5hwC1Qt-c5DOeClY5bv4jowmceeFV8,9736
658
650
  ccxt/test/tests_init.py,sha256=qM0-Gb0h0p6CANWTkyYZI7wl-iYOcrPur7aj_OKh7m0,1212
659
651
  ccxt/test/tests_sync.py,sha256=bFtFwtgH9Hws0yi9PUi-KXl4xe7zxJWJu_loyevMz1c,92992
660
- ccxt-4.4.82.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
661
- ccxt-4.4.82.dist-info/METADATA,sha256=cu8PMq9hb80JB5a4lkRcaOQE93aF0IUTM0JpMrvV49A,129494
662
- ccxt-4.4.82.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
663
- ccxt-4.4.82.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
664
- ccxt-4.4.82.dist-info/RECORD,,
652
+ ccxt-4.4.85.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
653
+ ccxt-4.4.85.dist-info/METADATA,sha256=609etqJqG-sNnAyFxdoTKYCfVaN-v-qhRm3lNVOskXk,127950
654
+ ccxt-4.4.85.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
655
+ ccxt-4.4.85.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
656
+ ccxt-4.4.85.dist-info/RECORD,,
ccxt/abstract/bl3p.py DELETED
@@ -1,19 +0,0 @@
1
- from ccxt.base.types import Entry
2
-
3
-
4
- class ImplicitAPI:
5
- public_get_market_ticker = publicGetMarketTicker = Entry('{market}/ticker', 'public', 'GET', {})
6
- public_get_market_orderbook = publicGetMarketOrderbook = Entry('{market}/orderbook', 'public', 'GET', {})
7
- public_get_market_trades = publicGetMarketTrades = Entry('{market}/trades', 'public', 'GET', {})
8
- private_post_market_money_depth_full = privatePostMarketMoneyDepthFull = Entry('{market}/money/depth/full', 'private', 'POST', {})
9
- private_post_market_money_order_add = privatePostMarketMoneyOrderAdd = Entry('{market}/money/order/add', 'private', 'POST', {})
10
- private_post_market_money_order_cancel = privatePostMarketMoneyOrderCancel = Entry('{market}/money/order/cancel', 'private', 'POST', {})
11
- private_post_market_money_order_result = privatePostMarketMoneyOrderResult = Entry('{market}/money/order/result', 'private', 'POST', {})
12
- private_post_market_money_orders = privatePostMarketMoneyOrders = Entry('{market}/money/orders', 'private', 'POST', {})
13
- private_post_market_money_orders_history = privatePostMarketMoneyOrdersHistory = Entry('{market}/money/orders/history', 'private', 'POST', {})
14
- private_post_market_money_trades_fetch = privatePostMarketMoneyTradesFetch = Entry('{market}/money/trades/fetch', 'private', 'POST', {})
15
- private_post_genmkt_money_info = privatePostGENMKTMoneyInfo = Entry('GENMKT/money/info', 'private', 'POST', {})
16
- private_post_genmkt_money_deposit_address = privatePostGENMKTMoneyDepositAddress = Entry('GENMKT/money/deposit_address', 'private', 'POST', {})
17
- private_post_genmkt_money_new_deposit_address = privatePostGENMKTMoneyNewDepositAddress = Entry('GENMKT/money/new_deposit_address', 'private', 'POST', {})
18
- private_post_genmkt_money_wallet_history = privatePostGENMKTMoneyWalletHistory = Entry('GENMKT/money/wallet/history', 'private', 'POST', {})
19
- private_post_genmkt_money_withdraw = privatePostGENMKTMoneyWithdraw = Entry('GENMKT/money/withdraw', 'private', 'POST', {})
ccxt/abstract/idex.py DELETED
@@ -1,26 +0,0 @@
1
- from ccxt.base.types import Entry
2
-
3
-
4
- class ImplicitAPI:
5
- public_get_ping = publicGetPing = Entry('ping', 'public', 'GET', {'cost': 1})
6
- public_get_time = publicGetTime = Entry('time', 'public', 'GET', {'cost': 1})
7
- public_get_exchange = publicGetExchange = Entry('exchange', 'public', 'GET', {'cost': 1})
8
- public_get_assets = publicGetAssets = Entry('assets', 'public', 'GET', {'cost': 1})
9
- public_get_markets = publicGetMarkets = Entry('markets', 'public', 'GET', {'cost': 1})
10
- public_get_tickers = publicGetTickers = Entry('tickers', 'public', 'GET', {'cost': 1})
11
- public_get_candles = publicGetCandles = Entry('candles', 'public', 'GET', {'cost': 1})
12
- public_get_trades = publicGetTrades = Entry('trades', 'public', 'GET', {'cost': 1})
13
- public_get_orderbook = publicGetOrderbook = Entry('orderbook', 'public', 'GET', {'cost': 1})
14
- private_get_user = privateGetUser = Entry('user', 'private', 'GET', {'cost': 1})
15
- private_get_wallets = privateGetWallets = Entry('wallets', 'private', 'GET', {'cost': 1})
16
- private_get_balances = privateGetBalances = Entry('balances', 'private', 'GET', {'cost': 1})
17
- private_get_orders = privateGetOrders = Entry('orders', 'private', 'GET', {'cost': 0.1})
18
- private_get_fills = privateGetFills = Entry('fills', 'private', 'GET', {'cost': 0.1})
19
- private_get_deposits = privateGetDeposits = Entry('deposits', 'private', 'GET', {'cost': 1})
20
- private_get_withdrawals = privateGetWithdrawals = Entry('withdrawals', 'private', 'GET', {'cost': 1})
21
- private_get_wstoken = privateGetWsToken = Entry('wsToken', 'private', 'GET', {'cost': 1})
22
- private_post_wallets = privatePostWallets = Entry('wallets', 'private', 'POST', {'cost': 1})
23
- private_post_orders = privatePostOrders = Entry('orders', 'private', 'POST', {'cost': 0.1})
24
- private_post_orders_test = privatePostOrdersTest = Entry('orders/test', 'private', 'POST', {'cost': 0.1})
25
- private_post_withdrawals = privatePostWithdrawals = Entry('withdrawals', 'private', 'POST', {'cost': 1})
26
- private_delete_orders = privateDeleteOrders = Entry('orders', 'private', 'DELETE', {'cost': 0.1})
@@ -1,97 +0,0 @@
1
- """A faster version of aiohttp's websocket client that uses select and other optimizations"""
2
-
3
- import asyncio
4
- import socket
5
- import collections
6
- from ccxt.async_support.base.ws.aiohttp_client import AiohttpClient
7
- from ccxt.base.errors import NetworkError
8
-
9
-
10
- class FastClient(AiohttpClient):
11
- transport = None
12
-
13
- def __init__(self, url, on_message_callback, on_error_callback, on_close_callback, on_connected_callback, config={}):
14
- super(FastClient, self).__init__(url, on_message_callback, on_error_callback, on_close_callback, on_connected_callback, config)
15
- # instead of using the deque in aiohttp we implement our own for speed
16
- # https://github.com/aio-libs/aiohttp/blob/1d296d549050aa335ef542421b8b7dad788246d5/aiohttp/streams.py#L534
17
- self.stack = collections.deque()
18
- self.callback_scheduled = False
19
-
20
- def receive_loop(self):
21
- def handler():
22
- if not self.stack:
23
- self.callback_scheduled = False
24
- return
25
- message = self.stack.popleft()
26
- try:
27
- self.handle_message(message)
28
- except Exception as error:
29
- self.reject(error)
30
- self.asyncio_loop.call_soon(handler)
31
-
32
- def feed_data(message, size):
33
- if not self.callback_scheduled:
34
- self.callback_scheduled = True
35
- self.asyncio_loop.call_soon(handler)
36
- self.stack.append(message)
37
-
38
- def feed_eof():
39
- if self.connection._close_code == 1000: # OK close
40
- self.on_close(1000)
41
- else:
42
- self.on_error(NetworkError("Abnormal closure of client")) # ABNORMAL_CLOSURE
43
-
44
- def wrapper(func):
45
- def parse_frame(buf):
46
- while self.stack:
47
- self.handle_message(self.stack.popleft())
48
- return func(buf)
49
- return parse_frame
50
-
51
- async def close(code=1000, message=b''):
52
- # this is needed because our other wrappers break the closing process
53
- # we also don't wait for a response to the close message to speed it up
54
- # this code is adapted from aiohttp client_ws.py
55
- _self = self.connection
56
- if not _self._closed:
57
- _self._cancel_heartbeat()
58
- _self._closed = True
59
- try:
60
- await _self._writer.close(code, message)
61
- _self._response.close()
62
- _self._close_code = 1000
63
- except asyncio.CancelledError:
64
- _self._response.close()
65
- _self._close_code = 1006
66
- raise
67
- except Exception as exc:
68
- _self._close_code = 1006
69
- _self._exception = exc
70
- return True
71
-
72
- connection = self.connection._conn
73
- if connection.closed:
74
- # connection got terminated after the connection was made and before the receive loop ran
75
- self.on_close(1006)
76
- return
77
- self.transport = connection.transport
78
- # increase the RCVBUF so that the tcp window size can be larger
79
- sock = self.transport.get_extra_info('socket')
80
- current_size = sock.getsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF)
81
- # 2 mebibytes is a performance value
82
- new_size = max(current_size, 2097152)
83
- sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, new_size)
84
-
85
- ws_reader = connection.protocol._payload_parser
86
- ws_reader.parse_frame = wrapper(ws_reader.parse_frame)
87
- ws_reader.queue.feed_data = feed_data
88
- ws_reader.queue.feed_eof = feed_eof
89
- self.connection.close = close
90
- # return a future so super class won't complain
91
- return asyncio.sleep(0)
92
-
93
- def reset(self, error):
94
- super(FastClient, self).reset(error)
95
- self.stack.clear()
96
- if self.transport:
97
- self.transport.abort()