|
|
|
@ -12,6 +12,7 @@ from mythril.ether.util import compile_solidity |
|
|
|
|
from mythril.rpc.client import EthJsonRpc |
|
|
|
|
from mythril.ipc.client import EthIpc |
|
|
|
|
from mythril.support.loader import DynLoader |
|
|
|
|
from mythril.exceptions import CompilerError |
|
|
|
|
from ethereum import utils |
|
|
|
|
from laser.ethereum import svm, laserfree |
|
|
|
|
from pathlib import Path |
|
|
|
@ -152,7 +153,11 @@ elif (len(args.solidity_file)): |
|
|
|
|
for file in args.solidity_file: |
|
|
|
|
|
|
|
|
|
file = file.replace("~", str(Path.home())) # Expand user path |
|
|
|
|
name, bytecode = compile_solidity(solc_binary, file) |
|
|
|
|
|
|
|
|
|
try: |
|
|
|
|
name, bytecode = compile_solidity(solc_binary, file) |
|
|
|
|
except CompilerError as e: |
|
|
|
|
exitWithError(e) |
|
|
|
|
|
|
|
|
|
# Max. 16 contracts supported! |
|
|
|
|
|
|
|
|
@ -223,7 +228,7 @@ elif (args.graph) or (args.fire_lasers): |
|
|
|
|
|
|
|
|
|
else: |
|
|
|
|
|
|
|
|
|
laserfree.fire(_svm) |
|
|
|
|
laserfree.fire(modules, contracts[0].address) |
|
|
|
|
|
|
|
|
|
else: |
|
|
|
|
parser.print_help() |
|
|
|
|