crytic_compile.utils package

Submodules

crytic_compile.utils.naming module

Module handling the file naming operation (relative -> absolute, etc)

class crytic_compile.utils.naming.Filename(absolute, used, relative, short)

Bases: tuple

absolute

Alias for field number 0

relative

Alias for field number 2

short

Alias for field number 3

used

Alias for field number 1

crytic_compile.utils.naming.combine_filename_name(filename: str, name: str)[source]

Combine the filename with the contract name

Parameters:
  • filename
  • name
Returns:

crytic_compile.utils.naming.convert_filename(used_filename: Union[str, pathlib.Path], relative_to_short, crytic_compile: CryticCompile, working_dir=None) → crytic_compile.utils.naming.Filename[source]

Convert filename. The used_filename can be absolute, relative, or missing node_modules/contracts directory convert_filename return a tuple(absolute,used), where absolute points to the absolute path, and used the original

Parameters:
  • used_filename
  • relative_to_short – lambda function
  • crytic_compile
  • working_dir
Returns:

Filename (namedtuple)

crytic_compile.utils.naming.extract_filename(name: str)[source]

Convert ‘/path:Contract’ to /path

crytic_compile.utils.naming.extract_name(name: str)[source]

Convert ‘/path:Contract’ to Contract

crytic_compile.utils.natspec module

Natspec module https://solidity.readthedocs.io/en/latest/natspec-format.html

class crytic_compile.utils.natspec.DevDoc(devdoc: Dict[KT, VT])[source]

Bases: object

Model the dev doc

author

Return the dev author

Returns:Optional[str]
details

Return the dev details

Returns:Optional[str]
export() → Dict[KT, VT][source]

Export to a python dict

Returns:Dict
methods

Return the dev methods

Returns:Dict[str, DevMethod]
title

Return the dev title

Returns:Optional[str]
class crytic_compile.utils.natspec.DevMethod(method)[source]

Bases: object

Model the dev method

author

Return the method author

Returns:Optional[str]
details

Return the method details

Returns:Optional[str]
export() → Dict[KT, VT][source]

Export to a python dict

Returns:Dict
method_return

Return the method return

Returns:Optional[str]
params

Return the method params

Returns:Dict[str, str]
class crytic_compile.utils.natspec.Natspec(userdoc: Dict[KT, VT], devdoc: Dict[KT, VT])[source]

Bases: object

Model natspec

devdoc

Return the devdoc

Returns:DevDoc
userdoc

Return the userdoc

Returns:UserDoc
class crytic_compile.utils.natspec.UserDoc(userdoc: dict)[source]

Bases: object

Model the user doc

export() → Dict[KT, VT][source]

Export to a python dict

Returns:Dict
methods

Return the user methods

Returns:Dict[str, UserMethod]
notice

Return the user notice

Returns:Optional[str]
class crytic_compile.utils.natspec.UserMethod(method)[source]

Bases: object

Model the user method

export() → Dict[KT, VT][source]

Export to a python dict

Returns:Dict
notice

Return the method notice

Returns:Optional[str]

crytic_compile.utils.npm module

Module handling NPM related features

crytic_compile.utils.npm.get_package_name(target_txt: Union[str, SolcStandardJson]) → Optional[str][source]

Return the package’s name

Parameters:target_txt
Returns:str or None

crytic_compile.utils.unit_tests module

Module handling unit-tests features

crytic_compile.utils.unit_tests.guess_tests(target: str) → List[str][source]

Try to guess the unit tests

Parameters:target
Returns:

crytic_compile.utils.zip module

Handle ZIP operations

crytic_compile.utils.zip.load_from_zip(target: str) → List[crytic_compile.crytic_compile.CryticCompile][source]

Load a file from a zip

Parameters:target
Returns:
crytic_compile.utils.zip.save_to_zip(crytic_compiles: List[CryticCompile], zipfile: str)[source]

Save projects to a zip

Parameters:
  • crytic_compiles
  • zipfile
Returns:

Module contents