crytic_compile.platform package¶
Submodules¶
crytic_compile.platform.abstract_platform module¶
Abstract Platform
-
class
crytic_compile.platform.abstract_platform.AbstractPlatform(target: str, **kwargs)[source]¶ Bases:
objectThis is the abstract class for the platform
-
HIDE= False¶
-
NAME= ''¶
-
PROJECT_URL= ''¶
-
TYPE= 0¶
-
compile(crytic_compile: CryticCompile, **kwargs)[source]¶ Run the compilation
Parameters: - crytic_compile –
- kwargs –
Returns:
-
guessed_tests() → List[str][source]¶ Guess the potential unit tests commands
Returns: list of unit tests command guessed
-
is_dependency(path: str) → bool[source]¶ Check if the target is a dependency
Parameters: path – Returns:
-
static
is_supported(target: str, **kwargs) → bool[source]¶ Check if the target is a project supported by this platform
Parameters: target – Returns:
-
platform_name_used¶ Return the underlying platform used
Returns:
-
platform_project_url_used¶ Return the underlying platform url used
Returns:
-
platform_type_used¶ Return the underlying platform url used
Returns:
-
target¶ Return the target name
Returns:
-
crytic_compile.platform.all_export module¶
Module containing all the supported export functions
crytic_compile.platform.all_platforms module¶
Module containing all the platforms
crytic_compile.platform.archive module¶
Archive platform. It is similar to the standard platform, except that the file generated contains a “source_content” field Which is a map: filename -> sourcecode
-
class
crytic_compile.platform.archive.Archive(target: str, **kwargs)[source]¶ Bases:
crytic_compile.platform.abstract_platform.AbstractPlatformArchive platform. It is similar to the Standard platform, but contains also the source code
-
HIDE= True¶
-
NAME= 'Archive'¶
-
PROJECT_URL= 'https://github.com/crytic/crytic-compile'¶
-
TYPE= 101¶
-
compile(crytic_compile: CryticCompile, **_kwargs)[source]¶ Compile
Parameters: - crytic_compile –
- _kwargs –
Returns:
-
crytic_compile.platform.brownie module¶
Brownie platform. https://github.com/iamdefinitelyahuman/brownie
-
class
crytic_compile.platform.brownie.Brownie(target: str, **kwargs)[source]¶ Bases:
crytic_compile.platform.abstract_platform.AbstractPlatformBrownie class
-
NAME= 'Brownie'¶
-
PROJECT_URL= 'https://github.com/iamdefinitelyahuman/brownie'¶
-
TYPE= 9¶
-
compile(crytic_compile: CryticCompile, **kwargs)[source]¶ Compile the target
Parameters: - crytic_compile –
- target –
- kwargs –
Returns:
-
crytic_compile.platform.dapp module¶
Dapp platform. https://github.com/dapphub/dapptools
-
class
crytic_compile.platform.dapp.Dapp(target: str, **kwargs)[source]¶ Bases:
crytic_compile.platform.abstract_platform.AbstractPlatformDapp class
-
NAME= 'Dapp'¶
-
PROJECT_URL= 'https://github.com/dapphub/dapptools'¶
-
TYPE= 4¶
-
compile(crytic_compile: CryticCompile, **kwargs)[source]¶ Compile the target
Parameters: - crytic_compile –
- target –
- kwargs –
Returns:
-
crytic_compile.platform.embark module¶
Embark platform. https://github.com/embark-framework/embark
-
class
crytic_compile.platform.embark.Embark(target: str, **kwargs)[source]¶ Bases:
crytic_compile.platform.abstract_platform.AbstractPlatformEmbark platform
-
NAME= 'Embark'¶
-
PROJECT_URL= 'https://github.com/embarklabs/embark'¶
-
TYPE= 3¶
-
compile(crytic_compile: CryticCompile, **kwargs)[source]¶ Compile the target
Parameters: - crytic_compile –
- target –
- kwargs –
Returns:
-
crytic_compile.platform.etherlime module¶
Etherlime platform. https://github.com/LimeChain/etherlime
-
class
crytic_compile.platform.etherlime.Etherlime(target: str, **kwargs)[source]¶ Bases:
crytic_compile.platform.abstract_platform.AbstractPlatformEtherlime platform
-
NAME= 'Etherlime'¶
-
PROJECT_URL= 'https://github.com/LimeChain/etherlime'¶
-
TYPE= 5¶
-
compile(crytic_compile: CryticCompile, **kwargs)[source]¶ Compile the target
Parameters: - crytic_compile –
- target –
- kwargs –
Returns:
-
crytic_compile.platform.etherscan module¶
Etherscan platform.
-
class
crytic_compile.platform.etherscan.Etherscan(target: str, **kwargs)[source]¶ Bases:
crytic_compile.platform.abstract_platform.AbstractPlatformEtherscan platform
-
NAME= 'Etherscan'¶
-
PROJECT_URL= 'https://etherscan.io/'¶
-
TYPE= 6¶
-
crytic_compile.platform.exceptions module¶
Crytic Compile Exceptions
crytic_compile.platform.solc module¶
Solc platform
-
class
crytic_compile.platform.solc.Solc(target: str, **kwargs)[source]¶ Bases:
crytic_compile.platform.abstract_platform.AbstractPlatformSolc platform
-
NAME= 'solc'¶
-
PROJECT_URL= 'https://github.com/ethereum/solidity'¶
-
TYPE= 1¶
-
-
crytic_compile.platform.solc.export_to_solc(crytic_compile: CryticCompile, **kwargs) → Optional[str][source]¶ Export the project to the solc format
Parameters: - crytic_compile –
- kwargs –
Returns:
-
crytic_compile.platform.solc.get_version(solc: str) → str[source]¶ Get the compiler verison used
Parameters: solc – Returns:
crytic_compile.platform.solc_standard_json module¶
Handle compilation through the standard solc json format
-
class
crytic_compile.platform.solc_standard_json.SolcStandardJson(target: Union[str, dict] = None, **kwargs)[source]¶ Bases:
crytic_compile.platform.solc.SolcRepresent the Standard solc Json object
-
NAME= 'Solc-json'¶
-
PROJECT_URL= 'https://solidity.readthedocs.io/en/latest/using-the-compiler.html#compiler-input-and-output-json-description'¶
-
TYPE= 10¶
-
crytic_compile.platform.standard module¶
Standard crytic-compile export
-
class
crytic_compile.platform.standard.Standard(target: str, **kwargs)[source]¶ Bases:
crytic_compile.platform.abstract_platform.AbstractPlatformStandard platform (crytic-compile specific)
-
HIDE= True¶
-
NAME= 'Standard'¶
-
PROJECT_URL= 'https://github.com/crytic/crytic-compile'¶
-
TYPE= 100¶
-
compile(crytic_compile: CryticCompile, **_kwargs)[source]¶ Compile the target (load file)
Parameters: - crytic_compile –
- target –
- kwargs –
Returns:
-
static
is_supported(target: str, **kwargs) → bool[source]¶ Check if the target is the standard crytic compile export
Parameters: target – Returns:
-
platform_name_used¶ Return the underlying platform used
Returns:
-
platform_project_url_used¶ Return the underlying platform url used
Returns:
-
platform_type_used¶ Return the underlying platform url used
Returns:
-
-
crytic_compile.platform.standard.export_to_standard(crytic_compile: CryticCompile, **kwargs) → str[source]¶ Export the project to the standard crytic compile format :param crytic_compile: :param kwargs: :return:
crytic_compile.platform.truffle module¶
Truffle platform
-
class
crytic_compile.platform.truffle.Truffle(target: str, **kwargs)[source]¶ Bases:
crytic_compile.platform.abstract_platform.AbstractPlatformTruffle platform
-
NAME= 'Truffle'¶
-
PROJECT_URL= 'https://github.com/trufflesuite/truffle'¶
-
TYPE= 2¶
-
compile(crytic_compile: CryticCompile, **kwargs)[source]¶ Compile the target
Parameters: kwargs – Returns:
-
crytic_compile.platform.types module¶
Handle the platform type
crytic_compile.platform.vyper module¶
Vyper platform
-
class
crytic_compile.platform.vyper.Vyper(target: str, **kwargs)[source]¶ Bases:
crytic_compile.platform.abstract_platform.AbstractPlatformVyper platform
-
NAME= 'vyper'¶
-
PROJECT_URL= 'https://github.com/vyperlang/vyper'¶
-
TYPE= 7¶
-
crytic_compile.platform.waffle module¶
Waffle platform
-
class
crytic_compile.platform.waffle.Waffle(target: str, **kwargs)[source]¶ Bases:
crytic_compile.platform.abstract_platform.AbstractPlatformWaffle platform
-
NAME= 'Waffle'¶
-
PROJECT_URL= 'https://github.com/EthWorks/Waffle'¶
-
TYPE= 8¶
-
compile(crytic_compile: CryticCompile, **kwargs)[source]¶ Compile the target
Parameters: - crytic_compile –
- target –
- kwargs –
Returns:
-
Module contents¶
Init module