crytic / slither

Static Analyzer for Solidity and Vyper
https://blog.trailofbits.com/2018/10/19/slither-a-solidity-static-analysis-framework/
GNU Affero General Public License v3.0
5.27k stars 964 forks source link

[Bug]: import missing middleware from `web3.middleware` in `slither-check-upgradeability` #2539

Closed NIC619 closed 1 month ago

NIC619 commented 1 month ago

Describe the issue:

Import error when running upgradeability check:

Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.11.9/x64/bin/slither-check-upgradeability", line 5, in <module>
    from slither.tools.upgradeability.__main__ import main
  File "/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/slither/tools/upgradeability/__main__.py", line 16, in <module>
    from slither.tools.upgradeability.checks import all_checks
  File "/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/slither/tools/upgradeability/checks/all_checks.py", line 16, in <module>
    from slither.tools.upgradeability.checks.variables_order import (
  File "/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/slither/tools/upgradeability/checks/variables_order.py", line 9, in <module>
    from slither.utils.upgradeability import get_missing_vars
  File "/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/slither/utils/upgradeability.py", line 24, in <module>
    from slither.tools.read_storage.read_storage import SlotInfo, SlitherReadStorage
  File "/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/slither/tools/read_storage/__init__.py", line 1, in <module>
    from .read_storage import SlitherReadStorage, RpcInfo
  File "/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/slither/tools/read_storage/read_storage.py", line 13, in <module>
    from web3.middleware import geth_poa_middleware
ImportError: cannot import name 'geth_poa_middleware' from 'web3.middleware' (/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/web3/middleware/__init__.py)

We run the check in CI. It worked a few days ago and we didn't change any settings regarding python or slither. Web3.py v7.0.0 is released a few days ago too and it does not support geth_poa_middleware in its middleware anymore.

Code example to reproduce the issue:

NA

Version:

0.10.3

Relevant log output:

The installed packages are different too:

The one failed:

Collecting slither-analyzer==0.10.3
  Downloading slither_analyzer-0.10.3-py3-none-any.whl.metadata (33 kB)
Collecting packaging (from slither-analyzer==0.10.3)
  Downloading packaging-24.1-py3-none-any.whl.metadata (3.2 kB)
Collecting prettytable>=3.3.0 (from slither-analyzer==0.10.3)
  Downloading prettytable-3.11.0-py3-none-any.whl.metadata (30 kB)
Collecting pycryptodome>=3.4.6 (from slither-analyzer==0.10.3)
  Downloading pycryptodome-3.20.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.4 kB)
Collecting crytic-compile<0.4.0,>=0.3.7 (from slither-analyzer==0.10.3)
  Downloading crytic_compile-0.3.7-py3-none-any.whl.metadata (3.6 kB)
Collecting web3>=6.0.0 (from slither-analyzer==0.10.3)
  Downloading web3-7.0.0-py3-none-any.whl.metadata (5.1 kB)
Collecting eth-abi>=4.0.0 (from slither-analyzer==0.10.3)
  Downloading eth_abi-5.1.0-py3-none-any.whl.metadata (5.1 kB)
Collecting eth-typing>=3.0.0 (from slither-analyzer==0.10.3)
  Downloading eth_typing-5.0.0-py3-none-any.whl.metadata (5.1 kB)
Collecting eth-utils>=2.1.0 (from slither-analyzer==0.10.3)
  Downloading eth_utils-5.0.0-py3-none-any.whl.metadata (5.4 kB)
Collecting cbor2 (from crytic-compile<0.4.0,>=0.3.7->slither-analyzer==0.10.3)
  Downloading cbor2-5.6.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.0 kB)
Collecting solc-select>=v1.0.4 (from crytic-compile<0.4.0,>=0.3.7->slither-analyzer==0.10.3)
  Downloading solc_select-1.0.4-py3-none-any.whl.metadata (5.3 kB)
Collecting parsimonious<0.11.0,>=0.10.0 (from eth-abi>=4.0.0->slither-analyzer==0.10.3)
  Downloading parsimonious-0.10.0-py3-none-any.whl.metadata (25 kB)
Collecting typing-extensions>=4.5.0 (from eth-typing>=3.0.0->slither-analyzer==0.10.3)
  Downloading typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)
Collecting eth-hash>=0.3.1 (from eth-utils>=2.1.0->slither-analyzer==0.10.3)
  Downloading eth_hash-0.7.0-py3-none-any.whl.metadata (5.4 kB)
Collecting hexbytes>=1.0.0 (from eth-utils>=2.1.0->slither-analyzer==0.10.3)
  Downloading hexbytes-1.2.1-py3-none-any.whl.metadata (3.7 kB)
Collecting cytoolz>=0.10.1 (from eth-utils>=2.1.0->slither-analyzer==0.10.3)
  Downloading cytoolz-0.12.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.6 kB)
Collecting wcwidth (from prettytable>=3.3.0->slither-analyzer==0.10.3)
  Downloading wcwidth-0.2.13-py2.py3-none-any.whl.metadata (14 kB)
Collecting aiohttp>=3.7.4.post0 (from web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading aiohttp-3.10.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (7.5 kB)
Collecting eth-account>=0.13.1 (from web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading eth_account-0.13.2-py3-none-any.whl.metadata (5.3 kB)
Collecting pydantic>=2.4.0 (from web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading pydantic-2.8.2-py3-none-any.whl.metadata (125 kB)
Collecting requests>=2.23.0 (from web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)
Collecting types-requests>=2.0.0 (from web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading types_requests-2.32.0.20240712-py3-none-any.whl.metadata (1.9 kB)
Collecting websockets>=10.0.0 (from web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading websockets-13.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.7 kB)
Collecting pyunormalize>=15.0.0 (from web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading pyunormalize-15.1.0.tar.gz (515 kB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting aiohappyeyeballs>=2.3.0 (from aiohttp>=3.7.4.post0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading aiohappyeyeballs-2.4.0-py3-none-any.whl.metadata (5.9 kB)
Collecting aiosignal>=1.1.2 (from aiohttp>=3.7.4.post0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading aiosignal-1.3.1-py3-none-any.whl.metadata (4.0 kB)
Collecting attrs>=17.3.0 (from aiohttp>=3.7.4.post0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading attrs-24.2.0-py3-none-any.whl.metadata (11 kB)
Collecting frozenlist>=1.1.1 (from aiohttp>=3.7.4.post0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading frozenlist-1.4.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (12 kB)
Collecting multidict<7.0,>=4.5 (from aiohttp>=3.7.4.post0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading multidict-6.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.2 kB)
Collecting yarl<2.0,>=1.0 (from aiohttp>=3.7.4.post0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading yarl-1.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (31 kB)
Collecting toolz>=0.8.0 (from cytoolz>=0.10.1->eth-utils>=2.1.0->slither-analyzer==0.10.3)
  Downloading toolz-0.12.1-py3-none-any.whl.metadata (5.1 kB)
Collecting bitarray>=2.4.0 (from eth-account>=0.13.1->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading bitarray-2.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (34 kB)
Collecting eth-keyfile>=0.6.0 (from eth-account>=0.13.1->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading eth_keyfile-0.8.1-py3-none-any.whl.metadata (8.5 kB)
Collecting eth-keys>=0.4.0 (from eth-account>=0.13.1->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading eth_keys-0.5.1-py3-none-any.whl.metadata (13 kB)
Collecting eth-rlp>=2.1.0 (from eth-account>=0.13.1->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading eth_rlp-2.1.0-py3-none-any.whl.metadata (4.6 kB)
Collecting rlp>=1.0.0 (from eth-account>=0.13.1->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading rlp-4.0.1-py3-none-any.whl.metadata (4.6 kB)
Collecting ckzg>=2.0.0 (from eth-account>=0.13.1->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading ckzg-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (683 bytes)
Collecting regex>=2022.3.15 (from parsimonious<0.11.0,>=0.10.0->eth-abi>=4.0.0->slither-analyzer==0.10.3)
  Downloading regex-2024.7.24-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (40 kB)
Collecting annotated-types>=0.4.0 (from pydantic>=2.4.0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)
Collecting pydantic-core==2.20.1 (from pydantic>=2.4.0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)
Collecting charset-normalizer<4,>=2 (from requests>=2.23.0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (33 kB)
Collecting idna<4,>=2.5 (from requests>=2.23.0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading idna-3.7-py3-none-any.whl.metadata (9.9 kB)
Collecting urllib3<3,>=1.21.1 (from requests>=2.23.0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading urllib3-2.2.2-py3-none-any.whl.metadata (6.4 kB)
Collecting certifi>=2017.4.17 (from requests>=2.23.0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading certifi-2024.7.4-py3-none-any.whl.metadata (2.2 kB)
Downloading slither_analyzer-0.10.3-py3-none-any.whl (794 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 794.2/794.2 kB 14.1 MB/s eta 0:00:00
Downloading crytic_compile-0.3.7-py3-none-any.whl (97 kB)
Downloading eth_abi-5.1.0-py3-none-any.whl (29 kB)
Downloading eth_typing-5.0.0-py3-none-any.whl (20 kB)
Downloading eth_utils-5.0.0-py3-none-any.whl (100 kB)
Downloading prettytable-3.11.0-py3-none-any.whl (28 kB)
Downloading pycryptodome-3.20.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 34.3 MB/s eta 0:00:00
Downloading web3-7.0.0-py3-none-any.whl (1.3 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.3/1.3 MB 21.2 MB/s eta 0:00:00
Downloading packaging-24.1-py3-none-any.whl (53 kB)
Downloading aiohttp-3.10.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.3/1.3 MB 57.7 MB/s eta 0:00:00
Downloading cytoolz-0.12.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 59.7 MB/s eta 0:00:00
Downloading eth_account-0.13.2-py3-none-any.whl (580 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 580.1/580.1 kB 45.4 MB/s eta 0:00:00
Downloading eth_hash-0.7.0-py3-none-any.whl (8.7 kB)
Downloading hexbytes-1.2.1-py3-none-any.whl (5.2 kB)
Downloading parsimonious-0.10.0-py3-none-any.whl (48 kB)
Downloading pydantic-2.8.2-py3-none-any.whl (423 kB)
Downloading pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 37.7 MB/s eta 0:00:00
Downloading requests-2.32.3-py3-none-any.whl (64 kB)
Downloading solc_select-1.0.4-py3-none-any.whl (20 kB)
Downloading types_requests-2.32.0.20240712-py3-none-any.whl (15 kB)
Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)
Downloading websockets-13.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (157 kB)
Downloading cbor2-5.6.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (249 kB)
Downloading wcwidth-0.2.13-py2.py3-none-any.whl (34 kB)
Downloading aiohappyeyeballs-2.4.0-py3-none-any.whl (12 kB)
Downloading aiosignal-1.3.1-py3-none-any.whl (7.6 kB)
Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB)
Downloading attrs-24.2.0-py3-none-any.whl (63 kB)
Downloading bitarray-2.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (296 kB)
Downloading certifi-2024.7.4-py3-none-any.whl (162 kB)
Downloading charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (140 kB)
Downloading ckzg-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (168 kB)
Downloading eth_keyfile-0.8.1-py3-none-any.whl (7.5 kB)
Downloading eth_keys-0.5.1-py3-none-any.whl (21 kB)
Downloading eth_rlp-2.1.0-py3-none-any.whl (5.1 kB)
Downloading frozenlist-1.4.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (272 kB)
Downloading idna-3.7-py3-none-any.whl (66 kB)
Downloading multidict-6.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (128 kB)
Downloading regex-2024.7.24-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (786 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 786.6/786.6 kB 29.7 MB/s eta 0:00:00
Downloading rlp-4.0.1-py3-none-any.whl (20 kB)
Downloading toolz-0.12.1-py3-none-any.whl (56 kB)
Downloading urllib3-2.2.2-py3-none-any.whl (121 kB)
Downloading yarl-1.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (328 kB)
Building wheels for collected packages: pyunormalize
  Building wheel for pyunormalize (pyproject.toml): started
  Building wheel for pyunormalize (pyproject.toml): finished with status 'done'
  Created wheel for pyunormalize: filename=pyunormalize-15.1.0-py3-none-any.whl size=516031 sha256=7997e75a2a57eeb869f8a69a4a7963d25ea867ecb1009da3f605413f8cdfbbe8
  Stored in directory: /home/runner/.cache/pip/wheels/07/4e/a1/96ad639a4f1f708e8ccf733b63783ef98e994b1c0e54599ca2
Successfully built pyunormalize
Installing collected packages: wcwidth, ckzg, bitarray, websockets, urllib3, typing-extensions, toolz, regex, pyunormalize, pycryptodome, prettytable, packaging, multidict, idna, hexbytes, frozenlist, eth-hash, charset-normalizer, certifi, cbor2, attrs, annotated-types, aiohappyeyeballs, yarl, types-requests, solc-select, requests, pydantic-core, parsimonious, eth-typing, cytoolz, aiosignal, pydantic, eth-utils, crytic-compile, aiohttp, rlp, eth-keys, eth-abi, eth-rlp, eth-keyfile, eth-account, web3, slither-analyzer
Successfully installed aiohappyeyeballs-2.4.0 aiohttp-3.10.5 aiosignal-1.3.1 annotated-types-0.7.0 attrs-24.2.0 bitarray-2.9.2 cbor2-5.6.4 certifi-2024.7.4 charset-normalizer-3.3.2 ckzg-2.0.0 crytic-compile-0.3.7 cytoolz-0.12.3 eth-abi-5.1.0 eth-account-0.13.2 eth-hash-0.7.0 eth-keyfile-0.8.1 eth-keys-0.5.1 eth-rlp-2.1.0 eth-typing-5.0.0 eth-utils-5.0.0 frozenlist-1.4.1 hexbytes-1.2.1 idna-3.7 multidict-6.0.5 packaging-24.1 parsimonious-0.10.0 prettytable-3.11.0 pycryptodome-3.20.0 pydantic-2.8.2 pydantic-core-2.20.1 pyunormalize-15.1.0 regex-2024.7.24 requests-2.32.3 rlp-4.0.1 slither-analyzer-0.10.3 solc-select-1.0.4 toolz-0.12.1 types-requests-2.32.0.20240712 typing-extensions-4.12.2 urllib3-2.2.2 wcwidth-0.2.13 web3-7.0.0 websockets-13.0 yarl-1.9.4

This one (a few days ago) succeeded:

Collecting slither-analyzer==0.10.3
  Downloading slither_analyzer-0.10.3-py3-none-any.whl.metadata (33 kB)
Collecting packaging (from slither-analyzer==0.10.3)
  Downloading packaging-24.1-py3-none-any.whl.metadata (3.2 kB)
Collecting prettytable>=3.3.0 (from slither-analyzer==0.10.3)
  Downloading prettytable-3.11.0-py3-none-any.whl.metadata (30 kB)
Collecting pycryptodome>=3.4.6 (from slither-analyzer==0.10.3)
  Downloading pycryptodome-3.20.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.4 kB)
Collecting crytic-compile<0.4.0,>=0.3.7 (from slither-analyzer==0.10.3)
  Downloading crytic_compile-0.3.7-py3-none-any.whl.metadata (3.6 kB)
Collecting web3>=6.0.0 (from slither-analyzer==0.10.3)
  Downloading web3-6.20.2-py3-none-any.whl.metadata (4.5 kB)
Collecting eth-abi>=4.0.0 (from slither-analyzer==0.10.3)
  Downloading eth_abi-5.1.0-py3-none-any.whl.metadata (5.1 kB)
Collecting eth-typing>=3.0.0 (from slither-analyzer==0.10.3)
  Downloading eth_typing-5.0.0-py3-none-any.whl.metadata (5.1 kB)
Collecting eth-utils>=2.1.0 (from slither-analyzer==0.10.3)
  Downloading eth_utils-5.0.0-py3-none-any.whl.metadata (5.4 kB)
Collecting cbor2 (from crytic-compile<0.4.0,>=0.3.7->slither-analyzer==0.10.3)
  Downloading cbor2-5.6.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.0 kB)
Collecting solc-select>=v1.0.4 (from crytic-compile<0.4.0,>=0.3.7->slither-analyzer==0.10.3)
  Downloading solc_select-1.0.4-py3-none-any.whl.metadata (5.3 kB)
Collecting parsimonious<0.11.0,>=0.10.0 (from eth-abi>=4.0.0->slither-analyzer==0.10.3)
  Downloading parsimonious-0.10.0-py3-none-any.whl.metadata (25 kB)
Collecting typing-extensions>=4.5.0 (from eth-typing>=3.0.0->slither-analyzer==0.10.3)
  Downloading typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)
Collecting eth-hash>=0.3.1 (from eth-utils>=2.1.0->slither-analyzer==0.10.3)
  Downloading eth_hash-0.7.0-py3-none-any.whl.metadata (5.4 kB)
Collecting hexbytes>=1.0.0 (from eth-utils>=2.1.0->slither-analyzer==0.10.3)
  Downloading hexbytes-1.2.1-py3-none-any.whl.metadata (3.7 kB)
Collecting cytoolz>=0.10.1 (from eth-utils>=2.1.0->slither-analyzer==0.10.3)
  Downloading cytoolz-0.12.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.6 kB)
Collecting wcwidth (from prettytable>=3.3.0->slither-analyzer==0.10.3)
  Downloading wcwidth-0.2.13-py2.py3-none-any.whl.metadata (14 kB)
Collecting aiohttp>=3.7.4.post0 (from web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading aiohttp-3.10.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (7.5 kB)
Collecting eth-account<0.13,>=0.8.0 (from web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading eth_account-0.12.3-py3-none-any.whl.metadata (5.1 kB)
INFO: pip is looking at multiple versions of web3 to determine which version is compatible with other requirements. This could take a while.
Collecting web3>=6.0.0 (from slither-analyzer==0.10.3)
  Downloading web3-6.20.1-py3-none-any.whl.metadata (4.5 kB)
  Downloading web3-6.20.0-py3-none-any.whl.metadata (4.5 kB)
  Downloading web3-6.19.0-py3-none-any.whl.metadata (4.5 kB)
  Downloading web3-6.18.0-py3-none-any.whl.metadata (4.5 kB)
  Downloading web3-6.17.2-py3-none-any.whl.metadata (4.5 kB)
  Downloading web3-6.17.1-py3-none-any.whl.metadata (4.5 kB)
  Downloading web3-6.17.0-py3-none-any.whl.metadata (4.5 kB)
Collecting eth-account>=0.8.0 (from web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading eth_account-0.13.1-py3-none-any.whl.metadata (5.3 kB)
INFO: pip is still looking at multiple versions of web3 to determine which version is compatible with other requirements. This could take a while.
Collecting web3>=6.0.0 (from slither-analyzer==0.10.3)
  Downloading web3-6.16.0-py3-none-any.whl.metadata (4.9 kB)
  Downloading web3-6.15.1-py3-none-any.whl.metadata (4.9 kB)
  Downloading web3-6.15.0-py3-none-any.whl.metadata (4.9 kB)
  Downloading web3-6.14.0-py3-none-any.whl.metadata (4.9 kB)
  Downloading web3-6.13.0-py3-none-any.whl.metadata (4.9 kB)
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
  Downloading web3-6.12.0-py3-none-any.whl.metadata (4.9 kB)
  Downloading web3-6.11.4-py3-none-any.whl.metadata (4.9 kB)
  Downloading web3-6.11.3-py3-none-any.whl.metadata (4.9 kB)
  Downloading web3-6.11.2-py3-none-any.whl.metadata (4.9 kB)
  Downloading web3-6.11.1-py3-none-any.whl.metadata (4.9 kB)
  Downloading web3-6.11.0-py3-none-any.whl.metadata (4.9 kB)
Collecting jsonschema>=4.0.0 (from web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading jsonschema-4.23.0-py3-none-any.whl.metadata (7.9 kB)
Collecting lru-dict>=1.1.6 (from web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading lru_dict-1.3.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.5 kB)
Collecting protobuf>=4.21.6 (from web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading protobuf-5.27.3-cp38-abi3-manylinux2014_x86_64.whl.metadata (592 bytes)
Collecting requests>=2.16.0 (from web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)
Collecting websockets>=10.0.0 (from web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading websockets-13.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.7 kB)
Collecting pyunormalize>=15.0.0 (from web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading pyunormalize-15.1.0.tar.gz (515 kB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting aiohappyeyeballs>=2.3.0 (from aiohttp>=3.7.4.post0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading aiohappyeyeballs-2.4.0-py3-none-any.whl.metadata (5.9 kB)
Collecting aiosignal>=1.1.2 (from aiohttp>=3.7.4.post0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading aiosignal-1.3.1-py3-none-any.whl.metadata (4.0 kB)
Collecting attrs>=17.3.0 (from aiohttp>=3.7.4.post0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading attrs-24.2.0-py3-none-any.whl.metadata (11 kB)
Collecting frozenlist>=1.1.1 (from aiohttp>=3.7.4.post0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading frozenlist-1.4.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (12 kB)
Collecting multidict<7.0,>=4.5 (from aiohttp>=3.7.4.post0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading multidict-6.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.2 kB)
Collecting yarl<2.0,>=1.0 (from aiohttp>=3.7.4.post0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading yarl-1.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (31 kB)
Collecting toolz>=0.8.0 (from cytoolz>=0.10.1->eth-utils>=2.1.0->slither-analyzer==0.10.3)
  Downloading toolz-0.12.1-py3-none-any.whl.metadata (5.1 kB)
Collecting bitarray>=2.4.0 (from eth-account>=0.8.0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading bitarray-2.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (34 kB)
Collecting eth-keyfile>=0.6.0 (from eth-account>=0.8.0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading eth_keyfile-0.8.1-py3-none-any.whl.metadata (8.5 kB)
Collecting eth-keys>=0.4.0 (from eth-account>=0.8.0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading eth_keys-0.5.1-py3-none-any.whl.metadata (13 kB)
Collecting eth-rlp>=2.1.0 (from eth-account>=0.8.0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading eth_rlp-2.1.0-py3-none-any.whl.metadata (4.6 kB)
Collecting rlp>=1.0.0 (from eth-account>=0.8.0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading rlp-4.0.1-py3-none-any.whl.metadata (4.6 kB)
Collecting ckzg>=0.4.3 (from eth-account>=0.8.0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading ckzg-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (683 bytes)
Collecting pydantic>=2.0.0 (from eth-account>=0.8.0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading pydantic-2.8.2-py3-none-any.whl.metadata (125 kB)
Collecting jsonschema-specifications>=2023.03.6 (from jsonschema>=4.0.0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading jsonschema_specifications-2023.12.1-py3-none-any.whl.metadata (3.0 kB)
Collecting referencing>=0.28.4 (from jsonschema>=4.0.0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading referencing-0.35.1-py3-none-any.whl.metadata (2.8 kB)
Collecting rpds-py>=0.7.1 (from jsonschema>=4.0.0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading rpds_py-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.2 kB)
Collecting regex>=2022.3.15 (from parsimonious<0.11.0,>=0.10.0->eth-abi>=4.0.0->slither-analyzer==0.10.3)
  Downloading regex-2024.7.24-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (40 kB)
Collecting charset-normalizer<4,>=2 (from requests>=2.16.0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (33 kB)
Collecting idna<4,>=2.5 (from requests>=2.16.0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading idna-3.7-py3-none-any.whl.metadata (9.9 kB)
Collecting urllib3<3,>=1.21.1 (from requests>=2.16.0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading urllib3-2.2.2-py3-none-any.whl.metadata (6.4 kB)
Collecting certifi>=2017.4.17 (from requests>=2.16.0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading certifi-2024.7.4-py3-none-any.whl.metadata (2.2 kB)
Collecting annotated-types>=0.4.0 (from pydantic>=2.0.0->eth-account>=0.8.0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)
Collecting pydantic-core==2.20.1 (from pydantic>=2.0.0->eth-account>=0.8.0->web3>=6.0.0->slither-analyzer==0.10.3)
  Downloading pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)
Downloading slither_analyzer-0.10.3-py3-none-any.whl (794 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 794.2/794.2 kB 56.8 MB/s eta 0:00:00
Downloading crytic_compile-0.3.7-py3-none-any.whl (97 kB)
Downloading eth_abi-5.1.0-py3-none-any.whl (29 kB)
Downloading eth_typing-5.0.0-py3-none-any.whl (20 kB)
Downloading eth_utils-5.0.0-py3-none-any.whl (100 kB)
Downloading prettytable-3.11.0-py3-none-any.whl (28 kB)
Downloading pycryptodome-3.20.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 137.8 MB/s eta 0:00:00
Downloading web3-6.11.0-py3-none-any.whl (1.6 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 132.5 MB/s eta 0:00:00
Downloading packaging-24.1-py3-none-any.whl (53 kB)
Downloading aiohttp-3.10.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.3/1.3 MB 95.3 MB/s eta 0:00:00
Downloading cytoolz-0.12.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 137.9 MB/s eta 0:00:00
Downloading eth_account-0.13.1-py3-none-any.whl (352 kB)
Downloading eth_hash-0.7.0-py3-none-any.whl (8.7 kB)
Downloading hexbytes-1.2.1-py3-none-any.whl (5.2 kB)
Downloading jsonschema-4.23.0-py3-none-any.whl (88 kB)
Downloading lru_dict-1.3.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (31 kB)
Downloading parsimonious-0.10.0-py3-none-any.whl (48 kB)
Downloading protobuf-5.27.3-cp38-abi3-manylinux2014_x86_64.whl (309 kB)
Downloading requests-2.32.3-py3-none-any.whl (64 kB)
Downloading solc_select-1.0.4-py3-none-any.whl (20 kB)
Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)
Downloading websockets-13.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (157 kB)
Downloading cbor2-5.6.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (249 kB)
Downloading wcwidth-0.2.13-py2.py3-none-any.whl (34 kB)
Downloading aiohappyeyeballs-2.4.0-py3-none-any.whl (12 kB)
Downloading aiosignal-1.3.1-py3-none-any.whl (7.6 kB)
Downloading attrs-24.2.0-py3-none-any.whl (63 kB)
Downloading bitarray-2.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (296 kB)
Downloading certifi-2024.7.4-py3-none-any.whl (162 kB)
Downloading charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (140 kB)
Downloading ckzg-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (168 kB)
Downloading eth_keyfile-0.8.1-py3-none-any.whl (7.5 kB)
Downloading eth_keys-0.5.1-py3-none-any.whl (21 kB)
Downloading eth_rlp-2.1.0-py3-none-any.whl (5.1 kB)
Downloading frozenlist-1.4.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (272 kB)
Downloading idna-3.7-py3-none-any.whl (66 kB)
Downloading jsonschema_specifications-2023.12.1-py3-none-any.whl (18 kB)
Downloading multidict-6.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (128 kB)
Downloading pydantic-2.8.2-py3-none-any.whl (423 kB)
Downloading pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 118.1 MB/s eta 0:00:00
Downloading referencing-0.35.1-py3-none-any.whl (26 kB)
Downloading regex-2024.7.24-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (786 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 786.6/786.6 kB 90.7 MB/s eta 0:00:00
Downloading rlp-4.0.1-py3-none-any.whl (20 kB)
Downloading rpds_py-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (354 kB)
Downloading toolz-0.12.1-py3-none-any.whl (56 kB)
Downloading urllib3-2.2.2-py3-none-any.whl (121 kB)
Downloading yarl-1.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (328 kB)
Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB)
Building wheels for collected packages: pyunormalize
  Building wheel for pyunormalize (pyproject.toml): started
  Building wheel for pyunormalize (pyproject.toml): finished with status 'done'
  Created wheel for pyunormalize: filename=pyunormalize-15.1.0-py3-none-any.whl size=516031 sha256=cb36ba4498d939df3dc6ed002c9ad5f6afc15282de76b617e75a458ce231e833
  Stored in directory: /home/runner/.cache/pip/wheels/07/4e/a1/96ad639a4f1f708e8ccf733b63783ef98e994b1c0e54599ca2
Successfully built pyunormalize
Installing collected packages: wcwidth, ckzg, bitarray, websockets, urllib3, typing-extensions, toolz, rpds-py, regex, pyunormalize, pycryptodome, protobuf, prettytable, packaging, multidict, lru-dict, idna, hexbytes, frozenlist, eth-hash, charset-normalizer, certifi, cbor2, attrs, annotated-types, aiohappyeyeballs, yarl, solc-select, requests, referencing, pydantic-core, parsimonious, eth-typing, cytoolz, aiosignal, pydantic, jsonschema-specifications, eth-utils, crytic-compile, aiohttp, rlp, jsonschema, eth-keys, eth-abi, eth-rlp, eth-keyfile, eth-account, web3, slither-analyzer
Successfully installed aiohappyeyeballs-2.4.0 aiohttp-3.10.5 aiosignal-1.3.1 annotated-types-0.7.0 attrs-24.2.0 bitarray-2.9.2 cbor2-5.6.4 certifi-2024.7.4 charset-normalizer-3.3.2 ckzg-2.0.0 crytic-compile-0.3.7 cytoolz-0.12.3 eth-abi-5.1.0 eth-account-0.13.1 eth-hash-0.7.0 eth-keyfile-0.8.1 eth-keys-0.5.1 eth-rlp-2.1.0 eth-typing-5.0.0 eth-utils-5.0.0 frozenlist-1.4.1 hexbytes-1.2.1 idna-3.7 jsonschema-4.23.0 jsonschema-specifications-2023.12.1 lru-dict-1.3.0 multidict-6.0.5 packaging-24.1 parsimonious-0.10.0 prettytable-3.11.0 protobuf-5.27.3 pycryptodome-3.20.0 pydantic-2.8.2 pydantic-core-2.20.1 pyunormalize-15.1.0 referencing-0.35.1 regex-2024.7.24 requests-2.32.3 rlp-4.0.1 rpds-py-0.20.0 slither-analyzer-0.10.3 solc-select-1.0.4 toolz-0.12.1 typing-extensions-4.12.2 urllib3-2.2.2 wcwidth-0.2.13 web3-6.11.0 websockets-13.0 yarl-1.9.4
0xalpharush commented 1 month ago

Thanks for opening this! Should be fixed in the latest release https://github.com/crytic/slither/releases/tag/0.10.4