manticore
manticore copied to clipboard
Unable to use same address for deployer / senders / psender on manticore-verifier
Summary of the problem
When using the same address for deployer and sender, the CLI throws an error EthereumError: Address already used
.
The CLI should allow for transactions to be sent from deployer to test out properties for owner only methods.
Manticore version
Manticore 0.3.5
Python version
Python 3.7.4
OS / Environment
Ubuntu 18.04.5 LTS
Step to reproduce the behavior
- run
manticore-verifier some-contract.sol --contract contract-name --deployer address1 --senders address1
Expected behavior
Manticore to run with transaction sent from the deployer account
Actual behavior
Crash
Any relevant logs
Suggested Fix
The problem seemed to be in the file here: https://github.com/trailofbits/manticore/blob/master/manticore/ethereum/verifier.py#L152.
Instead of running m.create_account(...
on all account passed in, check against a list to see if it has been created before and if so, simply reuse previous account obj.