mythril.solidity package

Submodules

mythril.solidity.soliditycontract module

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

class mythril.solidity.soliditycontract.SolcAST(ast)[source]

Bases: object

property abs_path
property node_type
property nodes
class mythril.solidity.soliditycontract.SolcSource(source)[source]

Bases: object

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

Bases: EVMContract

Representation of a Solidity contract.

static get_full_contract_src_maps(ast: SolcAST) 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(input_file: str, data: Dict) Dict[source]

Returns solc file indices

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

  • constructor

Returns:

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

Get source indices mapping. Function not needed for older solc versions.

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

mythril.solidity.soliditycontract.get_contracts_from_foundry(input_file, foundry_json)[source]
Parameters:
  • input_file

  • solc_settings_json

  • solc_binary

Module contents