Util to facilitate smart contracts compilation.
Project description
Crytic-compile
Library to help smart contract compilation. It includes support for:
- Direct solc compilation
- Foundry
- Hardhat
- Brownie
- Buidler
- Dapp
- Embark
- Etherlime
- Etherscan (including several alt-chain explorers and testnets)
- Truffle
- Waffle
To force compilation with a specific framework, use the --compile-force-framework
flag. For example, to force compilation with Hardhat:
crytic-compile . --compile-force-framework hardhat
See the Configuration documentation for advanced usages.
The plugin is used in Trail of Bits tools, including:
Installation
pip3 install crytic-compile
Usage
In the root directory of your project e.g. same directory as hardhat.config.js
or foundry.toml
, run:
crytic-compile .
Crytic-compile will generate crytic-export/contracts.json
containing the AST/ABI and bytecodes of the contracts.
Run crytic-compile --help
for more options.
Library Linking
If your project uses libraries with external functions, they can be linked to their deployed address with the --compile-libraries
flag. For example, if you have a library SafeMath
deployed at 0xff
, you can link it with:
crytic-compile . --compile-libraries "(SafeMath, 0xff)"
If you are fuzzing with Echidna or Medusa, follow this tutorial on linking libraries.
As a library
See the library documentation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for crytic_compile-0.3.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd92a74f4da8253416e48b36e0b56ee2b45cc20f52bd3470b876e77dd4e745ac |
|
MD5 | 1c5f4ef7961686565e5ea4dddea94e9e |
|
BLAKE2b-256 | 0dc50a1f59d3e924fc50bc64c8535cebcd3f642e53af084d689d842b52ef3398 |