Skip to main content

Util to facilitate smart contracts compilation.

Project description

Crytic-compile

Build Status Slack Status PyPI version

Library to help smart contract compilation. It includes support for:

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

pip install crytic-compile

Or with uv:

uv pip 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

crytic_compile-0.4.0.tar.gz (69.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

crytic_compile-0.4.0-py3-none-any.whl (96.9 kB view details)

Uploaded Python 3

File details

Details for the file crytic_compile-0.4.0.tar.gz.

File metadata

  • Download URL: crytic_compile-0.4.0.tar.gz
  • Upload date:
  • Size: 69.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for crytic_compile-0.4.0.tar.gz
Algorithm Hash digest
SHA256 dd9501c1009053ff0ffb19e9d61446d2792b813a30148a12a05f16f1d8a506a6
MD5 2e36cf187efdea6a1b2ffb0f030c1589
BLAKE2b-256 34ba45c7ddbc029cc40883f27d0a4d8ac07aa3bc42fdee8e650d62d04906defa

See more details on using hashes here.

Provenance

The following attestation bundles were made for crytic_compile-0.4.0.tar.gz:

Publisher: publish.yml on crytic/crytic-compile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file crytic_compile-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: crytic_compile-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 96.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for crytic_compile-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5ae4e7f8388bc9115a1929aaa14bd10e05d94edc23140c516ebf39cea6f7226c
MD5 6b84c5abc8940dfa52ea594f5dec89b5
BLAKE2b-256 25ec3143b59cd86752ab7d0aeedc4aff97d411d3f93563b2e63989a6dc8357bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for crytic_compile-0.4.0-py3-none-any.whl:

Publisher: publish.yml on crytic/crytic-compile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page