ucsb-seclab / sailfish

Data and code for the IEEE S&P'22 paper SAILFISH: Vetting Smart Contract State-Inconsistency Bugs in Seconds
47 stars 11 forks source link

TypeError: the JSON object must be str, bytes or bytearray, not 'list' #8

Open Troublor opened 1 year ago

Troublor commented 1 year ago

I tried to analyze a flattened version of this contract: https://etherscan.io/address/0xd56B5A63DAc64990e7eCcD046eC7119e38e422Dc#code But I got the following error message:

[INFO] | 2022-07-21 05:00:09 AM | analyzer.flattened | Analysis started at: 2022-07-21 05:00:09 AM

Traceback (most recent call last):

  File "contractlint.py", line 67, in analyze_contracts

    slither_obj = Slither(contract_path, solc=solc_path)

  File "/usr/local/lib/python3.6/dist-packages/slither_analyzer-0.6.8-py3.6.egg/slither/slither.py", line 60, in __init__

    crytic_compile = CryticCompile(target, **kwargs)

  File "/usr/local/lib/python3.6/dist-packages/crytic_compile/crytic_compile.py", line 137, in __init__

    self._compile(**kwargs)

  File "/usr/local/lib/python3.6/dist-packages/crytic_compile/crytic_compile.py", line 987, in _compile

    self._platform.compile(self, **kwargs)

  File "/usr/local/lib/python3.6/dist-packages/crytic_compile/platform/solc.py", line 180, in compile

    crytic_compile.abis[contract_name] = json.loads(info["abi"])

  File "/usr/lib/python3.6/json/__init__.py", line 348, in loads

    'not {!r}'.format(s.__class__.__name__))

TypeError: the JSON object must be str, bytes or bytearray, not 'list'