crytic / crytic/crytic-compile
[Bug]: Slither ValueError: contracts.sol does not exist in a list of contracts
- Dominant language
- Python
- Stars
- 197
- Forks
- 97
- PR merge metrics
- No merged PRs in 30d
Description
### Describe the issue:
I created a project that you could have [the link here](https://github.com/rere-rere/decentralize-car-sharing).
I wanted to try to use `slither` on my contracts but, I got some errors.
I am new on writing smart contracts, so maybe, I did something wrong in my implementation. Nevertheless, I describe my steps to get the issue.
```bash
cd Test
git clone https://github.com/rere-rere/decentralize-car-sharing
cd decentralize-car-sharing/
npm install
python3 -m venv env
source env/bin/activate
pip3 install slither-analyzer
slither .
```
I also try to use:
```bash
slither . --solc-remaps @openzeppelin=node_modules/@openzeppelin
```
Because I am using Ownable contract from openzeppelin.
With this process, I got the error sets on the logs field. However, I try to use it specifically on my smart contract and it seems to works. For example: `slither ./contracts/Migrations.sol` works.
Regarding my contracts, I have already compile and deploy them on a local ganache. It seems that maybe the error refer to relative/absolute path ? Or maybe it is due to my project structure ?
### Code example to reproduce the issue:
```bash
cd Test
git clone https://github.com/rere-rere/decentralize-car-sharing
cd decentralize-car-sharing/
npm install
python3 -m venv env
source env/bin/activate
pip3 install slither-analyzer
slither .
```
### Version:
0.8.3
### Relevant log output:
```shell
'npx truffle compile --all' running (use --truffle-version truffle@x.x.x to use specific version)
Compiling your contracts...
===========================
> Compiling ./contracts/CarFactory.sol
> Compiling ./contracts/CarHelper.sol
> Compiling ./contracts/Migrations.sol
> Compiling ./contracts/Route.sol
> Compiling ./contracts/Verifier.sol
> Compiling ./contracts/rental/RentalContract.sol
> Compiling ./contracts/rental/RentalFinalization.sol
> Compiling ./contracts/rental/RentalProposition.sol
> Compiling ./contracts/rental/RentalReservation.sol
> Compiling ./contracts/rental/RentalStructure.sol
> Compiling openzeppelin-solidity/contracts/access/Ownable.sol
> Compiling openzeppelin-solidity/contracts/utils/Context.sol
> Artifacts written to /media/rere/Common1/Test/decentralize-car-sharing/build/contracts
> Compiled successfully using:
- solc: 0.8.14+commit.80d49f37.Emscripten.clang
Traceback (most recent call last):
File "/media/rere/Common1/Test/decentralize-car-sharing/env/lib/python3.8/site-packages/slither/__main__.py", line 744, in main_impl
) = process_all(filename, args, detector_classes, printer_classes)
File "/media/rere/Common1/Test/decentralize-car-sharing/env/lib/python3.8/site-packages/slither/__main__.py", line 87, in process_all
) = process_single(compilation, args, detector_classes, printer_classes)
File "/media/rere/Common1/Test/decentralize-car-sharing/env/lib/python3.8/site-packages/slither/__main__.py", line 70, in process_single
slither = Slither(target, ast_format=ast, **vars(args))
File "/media/rere/Common1/Test/decentralize-car-sharing/env/lib/python3.8/site-packages/slither/slither.py", line 95, in __init__
parser.parse_top_level_from_loaded_json(ast, path)
File "/media/rere/Common1/Test/decentralize-car-sharing/env/lib/python3.8/site-packages/slither/solc_parsing/slither_compilation_unit_solc.py", line 256, in parse_top_level_from_loaded_json
get_imported_scope = self.compilation_unit.get_scope(import_directive.filename)
File "/media/rere/Common1/Test/decentralize-car-sharing/env/lib/python3.8/site-packages/slither/core/compilation_unit.py", line 231, in get_scope
filename = self._crytic_compile_compilation_unit.crytic_compile.filename_lookup(
File "/media/rere/Common1/Test/decentralize-car-sharing/env/lib/python3.8/site-packages/crytic_compile/crytic_compile.py", line 199, in filename_lookup
raise ValueError(
ValueError: contracts/Route.sol does not exist in ['/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalProposition.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalProposition.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalProposition.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/Migrations.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/Migrations.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/Migrations.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalFinalization.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalFinalization.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalFinalization.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalContract.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalContract.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalContract.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/CarFactory.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/CarFactory.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/CarFactory.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/Verifier.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/Verifier.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/Verifier.sol', '/media/rere/Common1/Test/decentralize-car-sharing/node_modules/openzeppelin-solidity/contracts/access/Ownable.sol', '/media/rere/Common1/Test/decentralize-car-sharing/node_modules/openzeppelin-solidity/contracts/access/Ownable.sol', '/media/rere/Common1/Test/decentralize-car-sharing/node_modules/openzeppelin-solidity/contracts/access/Ownable.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalStructure.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalStructure.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalStructure.sol', '/media/rere/Common1/Test/decentralize-car-sharing/node_modules/openzeppelin-solidity/contracts/utils/Context.sol', '/media/rere/Common1/Test/decentralize-car-sharing/node_modules/openzeppelin-solidity/contracts/utils/Context.sol', '/media/rere/Common1/Test/decentralize-car-sharing/node_modules/openzeppelin-solidity/contracts/utils/Context.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalReservation.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalReservation.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalReservation.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/CarHelper.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/CarHelper.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/CarHelper.sol']
None
Error in .
Traceback (most recent call last):
File "/media/rere/Common1/Test/decentralize-car-sharing/env/lib/python3.8/site-packages/slither/__main__.py", line 744, in main_impl
) = process_all(filename, args, detector_classes, printer_classes)
File "/media/rere/Common1/Test/decentralize-car-sharing/env/lib/python3.8/site-packages/slither/__main__.py", line 87, in process_all
) = process_single(compilation, args, detector_classes, printer_classes)
File "/media/rere/Common1/Test/decentralize-car-sharing/env/lib/python3.8/site-packages/slither/__main__.py", line 70, in process_single
slither = Slither(target, ast_format=ast, **vars(args))
File "/media/rere/Common1/Test/decentralize-car-sharing/env/lib/python3.8/site-packages/slither/slither.py", line 95, in __init__
parser.parse_top_level_from_loaded_json(ast, path)
File "/media/rere/Common1/Test/decentralize-car-sharing/env/lib/python3.8/site-packages/slither/solc_parsing/slither_compilation_unit_solc.py", line 256, in parse_top_level_from_loaded_json
get_imported_scope = self.compilation_unit.get_scope(import_directive.filename)
File "/media/rere/Common1/Test/decentralize-car-sharing/env/lib/python3.8/site-packages/slither/core/compilation_unit.py", line 231, in get_scope
filename = self._crytic_compile_compilation_unit.crytic_compile.filename_lookup(
File "/media/rere/Common1/Test/decentralize-car-sharing/env/lib/python3.8/site-packages/crytic_compile/crytic_compile.py", line 199, in filename_lookup
raise ValueError(
ValueError: contracts/Route.sol does not exist in ['/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalProposition.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalProposition.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalProposition.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/Migrations.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/Migrations.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/Migrations.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalFinalization.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalFinalization.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalFinalization.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalContract.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalContract.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalContract.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/CarFactory.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/CarFactory.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/CarFactory.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/Verifier.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/Verifier.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/Verifier.sol', '/media/rere/Common1/Test/decentralize-car-sharing/node_modules/openzeppelin-solidity/contracts/access/Ownable.sol', '/media/rere/Common1/Test/decentralize-car-sharing/node_modules/openzeppelin-solidity/contracts/access/Ownable.sol', '/media/rere/Common1/Test/decentralize-car-sharing/node_modules/openzeppelin-solidity/contracts/access/Ownable.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalStructure.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalStructure.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalStructure.sol', '/media/rere/Common1/Test/decentralize-car-sharing/node_modules/openzeppelin-solidity/contracts/utils/Context.sol', '/media/rere/Common1/Test/decentralize-car-sharing/node_modules/openzeppelin-solidity/contracts/utils/Context.sol', '/media/rere/Common1/Test/decentralize-car-sharing/node_modules/openzeppelin-solidity/contracts/utils/Context.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalReservation.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalReservation.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/rental/RentalReservation.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/CarHelper.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/CarHelper.sol', '/media/rere/Common1/Test/decentralize-car-sharing/contracts/CarHelper.sol']
```
Contributor guide
Assessment
This issue has not been assessed yet.