Tried to "record" the initialization of multiple contracts for Echidna and wanted to do it through etheno using docker as per end-to-end-testing.md guide in building-secure-contracts repo.
Both building the image locally from the latest etheno repo and pulling the latest "trailofbits/etheno" from docker hub give the same error.
As per tutorial first start the container:
docker run -it -p 8545:8545 -v ~/etheno:/home/etheno/ trailofbits/etheno
Then running this command inside the container:
etheno --ganache --ganache-args="--miner.blockGasLimit 10000000" -x init.json
Result:
Traceback (most recent call last):
File "/usr/local/bin/etheno", line 5, in <module>
from etheno.__main__ import main
File "/usr/local/lib/python3.8/dist-packages/etheno/__init__.py", line 1, in <module>
from .etheno import Etheno, EthenoPlugin
File "/usr/local/lib/python3.8/dist-packages/etheno/etheno.py", line 15, in <module>
VERSION: str = pkg_resources.require("etheno")[0].version
File "/usr/local/lib/python3.8/dist-packages/pkg_resources/__init__.py", line 1062, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/local/lib/python3.8/dist-packages/pkg_resources/__init__.py", line 889, in resolve
dist = self._resolve_dist(
File "/usr/local/lib/python3.8/dist-packages/pkg_resources/__init__.py", line 935, in _resolve_dist
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (eth-typing 4.3.1 (/usr/local/lib/python3.8/dist-packages), Requirement.parse('eth-typing<3.0.0,>=2.2.1'), {'eth-utils'})
Seems like multiple packages inside the container have conflicting dependencies and if trying to manually install them you eventually hit a spot where a conflicting package version is not overlapping at all.
Has anybody else hit this or just me? Or is etheno docker just not supported that much anymore?