mythril.solidity package

Submodules

mythril.solidity.soliditycontract module

This module contains representation classes for Solidity files, contracts and source mappings.

class mythril.solidity.soliditycontract.SolidityContract(input_file, name=None, solc_settings_json=None, solc_binary='solc')[source]

Bases: mythril.ethereum.evmcontract.EVMContract

Representation of a Solidity contract.

static get_full_contract_src_maps(ast: Dict[KT, VT]) → Set[str][source]

Takes a solc AST and gets the src mappings for all the contracts defined in the top level of the ast :param ast: AST of the contract :return: The source maps

static get_solc_indices(data: Dict[KT, VT]) → Dict[KT, VT][source]

Returns solc file indices

get_source_info(address, constructor=False)[source]
Parameters:
  • address
  • constructor
Returns:

static get_sources(indices_data: Dict[KT, VT], source_data: Dict[KT, VT]) → None[source]

Get source indices mapping

class mythril.solidity.soliditycontract.SolidityFile(filename: str, data: str, full_contract_src_maps: Set[str])[source]

Bases: object

Representation of a file containing Solidity code.

class mythril.solidity.soliditycontract.SourceCodeInfo(filename, lineno, code, mapping)[source]

Bases: object

class mythril.solidity.soliditycontract.SourceMapping(solidity_file_idx, offset, length, lineno, mapping)[source]

Bases: object

mythril.solidity.soliditycontract.get_contracts_from_file(input_file, solc_settings_json=None, solc_binary='solc')[source]
Parameters:
  • input_file
  • solc_settings_json
  • solc_binary

Module contents