Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

manticore breaks with crytic-compile v0.2.2 #2509

Closed
elopez opened this issue Dec 14, 2021 · 0 comments · Fixed by #2512
Closed

manticore breaks with crytic-compile v0.2.2 #2509

elopez opened this issue Dec 14, 2021 · 0 comments · Fixed by #2512
Labels

Comments

@elopez
Copy link
Member

elopez commented Dec 14, 2021

Summary of the problem

Manticore uses filename_of_contract which has been removed on crytic-compile v0.2.2 (via crytic/crytic-compile#223)

https://github.com/trailofbits/manticore/blob/master/manticore/ethereum/manticore.py#L305

This causes manticore to throw an exception. Downgrading crytic-compile with pip install crytic-compile==0.2.1 fixes this issue.

Manticore version

Version: 0.3.6

Python version

Python 3.6.9

OS / Environment

Distributor ID: Ubuntu
Description: Ubuntu 18.04.6 LTS
Release: 18.04
Codename: bionic

Dependencies

cryptography==2.1.4
crytic-compile==0.2.2
cytoolz==0.11.2
dataclasses==0.8
eth-hash==0.3.2
eth-typing==3.0.0
eth-utils==2.0.0
future==0.18.2
idna==2.6
importlib-metadata==4.8.2
intervaltree==3.1.0
keyring==10.6.0
keyrings.alt==3.0
manticore==0.3.6
ply==3.11
prettytable==2.4.0
protobuf==3.19.1
pycrypto==2.6.1
pyevmasm==0.2.3
pygobject==3.26.1
pysha3==1.0.2
python-apt==1.6.5+ubuntu0.7
pyxdg==0.25
PyYAML==6.0
rlp==3.0.0
SecretStorage==2.3.1
six==1.11.0
solc-select==0.2.1
sortedcontainers==2.4.0
toolz==0.11.2
typing-extensions==4.0.1
unattended-upgrades==0.1
wasm==1.2
wcwidth==0.2.5
z3-solver==4.8.13.0
zipp==3.6.0

Step to reproduce the behavior

Run manticore tests from https://github.com/crytic/building-secure-contracts

Expected behavior

Tests run

Actual behavior

Manticore throws an exception

Any relevant logs

Traceback (most recent call last):
  File "example_run.py", line 9, in <module>
    contract_account = m.solidity_create_contract(f, owner=user_account)
  File "/usr/local/lib/python3.6/dist-packages/manticore/ethereum/manticore.py", line 576, in solidity_create_contract
    source_code, contract_name_i, libraries=deps, crytic_compile_args=compile_args
  File "/usr/local/lib/python3.6/dist-packages/manticore/ethereum/manticore.py", line 350, in _compile
    source_code, contract_name, libraries, crytic_compile_args
  File "/usr/local/lib/python3.6/dist-packages/manticore/ethereum/manticore.py", line 305, in _compile_through_crytic_compile
    filename = compilation_unit.filename_of_contract(name).absolute
AttributeError: 'CompilationUnit' object has no attribute 'filename_of_contract'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant