manticore icon indicating copy to clipboard operation
manticore copied to clipboard

Is there a way to work with solc 0.5.x?

Open mstad opened this issue 4 years ago • 1 comments

Summary of the problem

Manticore docker container works with 0.4.25 solc release. Is there a way to work solc - release 0.5.x?

Manticore version

0.3.4

Python version

3.7.7

OS / Environment

No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 8.11 (jessie) Release: 8.11 Codename: jessie

Dependencies

Step to reproduce the behavior

docker container-> manticore nomefile.sol (file with 0.5.x)

Expected behavior

Analysis

Actual behavior

Error in analysis - version supported 0.4.25

Any relevant logs

2020-07-01 05:11:54,910: [24] m.e.manticore:INFO: Failed to build contract None Errors : Invalid solc compilation /share/0x1c_fixed.sol:90:32: Error: Expected ',' but got 'payable' function withdrawEth(address payable _to) external; ^-----^

. Solidity failed to generate bytecode for your contract. Check if all the abstract functions are implemented.

mstad avatar Jul 01 '20 05:07 mstad

Manticore works best with 0.4.x releases of solidity (it's what we test against) but the support for more recent versions has improved a lot recently. We probably won't be able to switch the default version, but I've opened a PR to check that here: #1760.

In the meantime, if you install Manticore locally, it'll use whatever solc is in your path by default, so you can try out your particular contract to see if it's supported. You can also change the solc version URL in the Dockerfile and run it locally, depending on what works best for you.

ehennenfent avatar Jul 01 '20 19:07 ehennenfent