|
|
@ -81,6 +81,7 @@ utilities.add_argument('--solv', help='specify solidity compiler version. If not |
|
|
|
options = parser.add_argument_group('options') |
|
|
|
options = parser.add_argument_group('options') |
|
|
|
options.add_argument('--sync-all', action='store_true', help='Also sync contracts with zero balance') |
|
|
|
options.add_argument('--sync-all', action='store_true', help='Also sync contracts with zero balance') |
|
|
|
options.add_argument('--max-depth', type=int, default=12, help='Maximum recursion depth for symbolic execution') |
|
|
|
options.add_argument('--max-depth', type=int, default=12, help='Maximum recursion depth for symbolic execution') |
|
|
|
|
|
|
|
options.add_argument('--solc-args', help='Extra arguments for solc') |
|
|
|
options.add_argument('--enable-physics', type=bool, default=False, help='enable graph physics simulation') |
|
|
|
options.add_argument('--enable-physics', type=bool, default=False, help='enable graph physics simulation') |
|
|
|
options.add_argument('-v', type=int, help='log level (0-2)', metavar='LOG_LEVEL') |
|
|
|
options.add_argument('-v', type=int, help='log level (0-2)', metavar='LOG_LEVEL') |
|
|
|
|
|
|
|
|
|
|
@ -95,6 +96,8 @@ rpc.add_argument('--infura-ropsten', action='store_true', help='Preset: Infura N |
|
|
|
|
|
|
|
|
|
|
|
# Get config values |
|
|
|
# Get config values |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
args = parser.parse_args() |
|
|
|
|
|
|
|
|
|
|
|
try: |
|
|
|
try: |
|
|
|
mythril_dir = os.environ['MYTHRIL_DIR'] |
|
|
|
mythril_dir = os.environ['MYTHRIL_DIR'] |
|
|
|
except KeyError: |
|
|
|
except KeyError: |
|
|
@ -130,8 +133,6 @@ else: |
|
|
|
|
|
|
|
|
|
|
|
# Parse cmdline args |
|
|
|
# Parse cmdline args |
|
|
|
|
|
|
|
|
|
|
|
args = parser.parse_args() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if not (args.search or args.init_db or args.hash or args.disassemble or args.graph or args.xrefs or args.fire_lasers or args.storage or args.truffle): |
|
|
|
if not (args.search or args.init_db or args.hash or args.disassemble or args.graph or args.xrefs or args.fire_lasers or args.storage or args.truffle): |
|
|
|
parser.print_help() |
|
|
|
parser.print_help() |
|
|
|
sys.exit() |
|
|
|
sys.exit() |
|
|
@ -293,7 +294,7 @@ elif (len(args.solidity_file)): |
|
|
|
try: |
|
|
|
try: |
|
|
|
signatures.add_signatures_from_file(file, sigs) # Parse file for new function signatures |
|
|
|
signatures.add_signatures_from_file(file, sigs) # Parse file for new function signatures |
|
|
|
|
|
|
|
|
|
|
|
contract = SolidityContract(file, contract_name) |
|
|
|
contract = SolidityContract(file, contract_name, solc_args=args.solc_args) |
|
|
|
|
|
|
|
|
|
|
|
logging.info("Analyzing contract %s:%s" % (file, contract.name)) |
|
|
|
logging.info("Analyzing contract %s:%s" % (file, contract.name)) |
|
|
|
|
|
|
|
|
|
|
|