crytic_compile package

Submodules

crytic_compile.crytic_compile module

CryticCompile main module. Handle the compilation.

class crytic_compile.crytic_compile.CryticCompile(target: Union[str, crytic_compile.platform.abstract_platform.AbstractPlatform], **kwargs)[source]

Bases: object

Main class.

abi(name: str) → Dict[KT, VT][source]

Get the ABI from a contract

Parameters:name
Returns:
abis

Return the ABIs

Returns:
absolute_filename_of_contract(name: str) → str[source]
Returns:Absolute filename
ast(path: str) → Optional[Dict[KT, VT]][source]

Return of the file

Parameters:path
Returns:
asts

Return the ASTs

Returns:dict (absolute filename -> AST)
bytecode_init(name: str, libraries: Union[None, Dict[str, str]] = None) → str[source]

Return the init bytecode of the contract. If library is provided, patch the bytecode

Parameters:
  • name
  • libraries
Returns:

bytecode_only

Return true if only the bytecode was retrieved

Returns:
bytecode_runtime(name: str, libraries: Union[None, Dict[str, str]] = None) → str[source]

Return the runtime bytecode of the contract. If library is provided, patch the bytecode

Parameters:
  • name
  • libraries
Returns:

bytecodes_init

Return the init bytecodes

Returns:
bytecodes_runtime

Return the runtime bytecodes

Returns:
compiler_version

Return the compiler used as a namedtuple(compiler, version)

Returns:
contracts_absolute_filenames

Return a dict (contract_name -> absolute filename)

Returns:
contracts_filenames

Return a dict contract_name -> Filename namedtuple (absolute, used)

Returns:dict(name -> utils.namings.Filename)
contracts_names

Return the contracts names

Returns:
contracts_names_without_libraries

Return the contracts names (without the librairies)

Returns:
dependencies

Return the dependencies files

Returns:
export(**kwargs) → Optional[str][source]

Export to json. The json format can be crytic-compile, solc or truffle.

filename_lookup(filename: str) → crytic_compile.utils.naming.Filename[source]

Return a crytic_compile.naming.Filename from a any filename form (used/absolute/relative)

Parameters:filename – str
Returns:crytic_compile.naming.Filename
filename_of_contract(name: str) → crytic_compile.utils.naming.Filename[source]
Returns:utils.namings.Filename
filenames
Returns:set(naming.Filename)
find_absolute_filename_from_used_filename(used_filename: str) → str[source]

Return the absolute filename based on the used one

Parameters:used_filename
Returns:absolute filename
hashes(name: str) → Dict[str, int][source]

Return the hashes of the functions

Parameters:name
Returns:
static import_archive_compilations(compiled_archive: Union[str, Dict[KT, VT]]) → List[crytic_compile.crytic_compile.CryticCompile][source]

Import from an archive. compiled_archive is either a json file or the loaded dictionary The dictionary myst contain the “compilations” keyword

Parameters:compiled_archive
Returns:
is_dependency(filename: str) → bool[source]

Check if the filename is a dependency

Parameters:filename
Returns:
libraries

Return the libraries used (contract_name -> [(library, pattern))])

Returns:
libraries_names(name: str) → List[str][source]

Return the name of the libraries used by the contract

Parameters:name – contract
Returns:list of libraries name
libraries_names_and_patterns(name)[source]

Return the name of the libraries used by the contract

Parameters:name – contract
Returns:list of (libraries name, pattern)
natspec

Return the natspec of the contractse

Returns:Dict[str, Natspec]
package

Return the package name

Returns:
package_name
Returns:str or None
platform

Return the platform module

Returns:
relative_filename_from_absolute_filename(absolute_filename: str) → str[source]

Return the relative file based on the absolute name

Parameters:absolute_filename
Returns:
src_content

Return the source content, filename -> source_code

Returns:
src_content_for_file(filename_absolute: str) → Optional[str][source]

Get the source code of the file

Parameters:filename_absolute
Returns:
srcmap_init(name: str) → List[str][source]

Return the init srcmap

Parameters:name
Returns:
srcmap_runtime(name: str) → List[str][source]

Return the runtime srcmap

Parameters:name
Returns:
srcmaps_init

Return the init srcmap

Returns:
srcmaps_runtime

Return the runtime srcmap

Returns:
target

Return the target (project)

Returns:
type

Return the type of the platform used

Returns:
used_filename_of_contract(name: str) → str[source]
Returns:Used filename
working_dir

Return the working dir

Returns:
crytic_compile.crytic_compile.compile_all(target: str, **kwargs) → List[crytic_compile.crytic_compile.CryticCompile][source]

Given a direct or glob pattern target, compiles all underlying sources and returns all the relevant instances of CryticCompile.

Parameters:
  • target – A string representing a file/directory path or glob pattern denoting where compilation shouldoccur.
  • kwargs – The remainder of the arguments passed through to all compilation steps.
Returns:

Returns a list of CryticCompile instances for all compilations which occurred.

crytic_compile.crytic_compile.get_platforms() → List[Type[crytic_compile.platform.abstract_platform.AbstractPlatform]][source]

Return the available platforms classes

Returns:
crytic_compile.crytic_compile.is_supported(target: str) → bool[source]

Check if the target is supported

Parameters:target
Returns:

Module contents

Init module