Open
Description
I think we need to rethink this because it causes stuff like parser errors, wrong solc version, or any error in crytic-compile to be shown twice. It's very verbose and obfuscates the issue (e.g. it looks like it's a slither or crytic-compile error when in fact it may have to do with a missing comma in Solidity)
Lines 873 to 877 in 3d4f934
For example
Traceback (most recent call last):
File "/Users/alpharush/env/lib/python3.9/site-packages/slither/__main__.py", line 814, in main_impl
) = process_all(filename, args, detector_classes, printer_classes)
File "/Users/alpharush/env/lib/python3.9/site-packages/slither/__main__.py", line 91, in process_all
compilations = compile_all(target, **vars(args))
File "/Users/alpharush/env/lib/python3.9/site-packages/crytic_compile/crytic_compile.py", line 646, in compile_all
compilations.append(CryticCompile(target, **kwargs))
File "/Users/alpharush/env/lib/python3.9/site-packages/crytic_compile/crytic_compile.py", line 131, in __init__
self._compile(**kwargs)
File "/Users/alpharush/env/lib/python3.9/site-packages/crytic_compile/crytic_compile.py", line 553, in _compile
self._platform.compile(self, **kwargs)
File "/Users/alpharush/env/lib/python3.9/site-packages/crytic_compile/platform/solc.py", line 149, in compile
targets_json = _get_targets_json(compilation_unit, self._target, **kwargs)
File "/Users/alpharush/env/lib/python3.9/site-packages/crytic_compile/platform/solc.py", line 278, in _get_targets_json
return _run_solc(
File "/Users/alpharush/env/lib/python3.9/site-packages/crytic_compile/platform/solc.py", line 495, in _run_solc
compiler="solc", version=get_version(solc, env), optimized=is_optimized(solc_arguments)
File "/Users/alpharush/env/lib/python3.9/site-packages/crytic_compile/platform/solc.py", line 393, in get_version
raise InvalidCompilation(
crytic_compile.platform.exceptions.InvalidCompilation:
Solidity version not found:
STDOUT:
STDERR:
Traceback (most recent call last):
File "/Users/alpharush/env/bin/solc", line 8, in <module>
sys.exit(solc())
File "/Users/alpharush/env/lib/python3.9/site-packages/solc_select/__main__.py", line 80, in solc
res = current_version()
File "/Users/alpharush/env/lib/python3.9/site-packages/solc_select/solc_select.py", line 62, in current_version
raise argparse.ArgumentTypeError(
argparse.ArgumentTypeError: No solc version set. Run `solc-select use VERSION` or set SOLC_VERSION environment variable.
ERROR:root:Error in test3.sol
ERROR:root:Traceback (most recent call last):
File "/Users/alpharush/env/lib/python3.9/site-packages/slither/__main__.py", line 814, in main_impl
) = process_all(filename, args, detector_classes, printer_classes)
File "/Users/alpharush/env/lib/python3.9/site-packages/slither/__main__.py", line 91, in process_all
compilations = compile_all(target, **vars(args))
File "/Users/alpharush/env/lib/python3.9/site-packages/crytic_compile/crytic_compile.py", line 646, in compile_all
compilations.append(CryticCompile(target, **kwargs))
File "/Users/alpharush/env/lib/python3.9/site-packages/crytic_compile/crytic_compile.py", line 131, in __init__
self._compile(**kwargs)
File "/Users/alpharush/env/lib/python3.9/site-packages/crytic_compile/crytic_compile.py", line 553, in _compile
self._platform.compile(self, **kwargs)
File "/Users/alpharush/env/lib/python3.9/site-packages/crytic_compile/platform/solc.py", line 149, in compile
targets_json = _get_targets_json(compilation_unit, self._target, **kwargs)
File "/Users/alpharush/env/lib/python3.9/site-packages/crytic_compile/platform/solc.py", line 278, in _get_targets_json
return _run_solc(
File "/Users/alpharush/env/lib/python3.9/site-packages/crytic_compile/platform/solc.py", line 495, in _run_solc
compiler="solc", version=get_version(solc, env), optimized=is_optimized(solc_arguments)
File "/Users/alpharush/env/lib/python3.9/site-packages/crytic_compile/platform/solc.py", line 393, in get_version
raise InvalidCompilation(
crytic_compile.platform.exceptions.InvalidCompilation:
Solidity version not found:
STDOUT:
STDERR:
Traceback (most recent call last):
File "/Users/alpharush/env/bin/solc", line 8, in <module>
sys.exit(solc())
File "/Users/alpharush/env/lib/python3.9/site-packages/solc_select/__main__.py", line 80, in solc
res = current_version()
File "/Users/alpharush/env/lib/python3.9/site-packages/solc_select/solc_select.py", line 62, in current_version
raise argparse.ArgumentTypeError(
argparse.ArgumentTypeError: No solc version set. Run `solc-select use VERSION` or set SOLC_VERSION environment variable.