Crytic-compile

Latest version: v0.3.7

Safety actively analyzes 682387 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

0.3.7

This release adds support for retrieving source code from [Blast's block explorer](https://blastscan.io/) (`crytic-compile blast:0x`). Crytic-compile will also now automatically configure remappings for Etherscan and derivative block explorers such that it can be compiled from disk without intervention.

We'd like to thank our external contributor(s):
- shortdoom

What's Changed
* Improve handling of "version" string from Etherscan by ggrieco-tob in https://github.com/crytic/crytic-compile/pull/545
* Allow library users to use a custom current working directory by frabert in https://github.com/crytic/crytic-compile/pull/551
* feat: automatically handle solc configuration for Etherscan Platform by shortdoom in https://github.com/crytic/crytic-compile/pull/544
* fix: normalize windows path to handle solc >=0.8.8 filename lookup by 0xalpharush in https://github.com/crytic/crytic-compile/pull/554
* Add Blast support by smonicas in https://github.com/crytic/crytic-compile/pull/556

New Contributors
* frabert made their first contribution in https://github.com/crytic/crytic-compile/pull/551
* shortdoom made their first contribution in https://github.com/crytic/crytic-compile/pull/544

**Full Changelog**: https://github.com/crytic/crytic-compile/compare/0.3.6...0.3.7

0.3.6

This release fixes an issue related to detecting Foundry projects when the target directory contains a `foundry.toml` file, adds support for contract from Etherscan that require via-ir, fixes Python >=3.12.1 compatibility, and fixes a regression in the error message when a target is not a file/directory.

What's Changed
* platform: etherscan: add support for viaIR by elopez in https://github.com/crytic/crytic-compile/pull/517
* fix(vyper): only raise InvalidCompilation on hard errors by 0xalpharush in https://github.com/crytic/crytic-compile/pull/532
* Fix Python 3.12 compatibility by elopez in https://github.com/crytic/crytic-compile/pull/516
* fix(ci): guard brownie on Py3.10,3.11 by 0xalpharush in https://github.com/crytic/crytic-compile/pull/533
* fix: use target to get config, drop toml for json by 0xalpharush in https://github.com/crytic/crytic-compile/pull/515
* ci: re-enable testing on Windows with Python 3.12 by elopez in https://github.com/crytic/crytic-compile/pull/535
* fix: raise error when target is not file/directory by 0xalpharush in https://github.com/crytic/crytic-compile/pull/539


**Full Changelog**: https://github.com/crytic/crytic-compile/compare/0.3.5...0.3.6

0.3.5

This release enables building a single file for Foundry projects:
- Running `crytic-compile contracts/file.sol` will automatically resolve the necessary imports and compile only the relevant files. Note, this requires providing the [solc version in the project's foundry.toml](https://book.getfoundry.sh/reference/config/solidity-compiler#solc_version).
- Tests and scripts files are no longer compiled by default. This will impact echidna and medusa users. To include them, use `--foundry-compile-all`, or run the tool on the target file instead of the project directory.

Additionally, this releases improves the support for vyper, and adds three new etherscan-like platform (base, gnosis, and zkevm).

What's Changed
- Improve foundry compilation by smonicas in https://github.com/crytic/crytic-compile/pull/488
- Add support for base, gnosis and zkevm chain by vikramarun in https://github.com/crytic/crytic-compile/pull/487
- Add vyper 0.3.7 standard json support by 0xalpharush in https://github.com/crytic/crytic-compile/pull/492
- Add CompilationUnit.implementation_address for proxy contracts by SheldonHolmgren in https://github.com/crytic/crytic-compile/pull/452
- Tests for file ordering by samalws-tob in https://github.com/crytic/crytic-compile/pull/499
- Deprecate support for kovan and ropsten networks https://github.com/crytic/crytic-compile/pull/502

CI
- Bump sigstore/gh-action-sigstore-python from 2.0.1 to 2.1.0 by dependabot in https://github.com/crytic/crytic-compile/pull/498
- Bump sigstore/gh-action-sigstore-python from 2.0.0 to 2.0.1 by dependabot in https://github.com/crytic/crytic-compile/pull/490
- Bump pypa/gh-action-pypi-publish from 1.8.8 to 1.8.10 by dependabot in https://github.com/crytic/crytic-compile/pull/489
- Bump actions/checkout from 3 to 4 by dependabot in https://github.com/crytic/crytic-compile/pull/497
- Bump cachix/install-nix-action from 20 to 23 by dependabot in https://github.com/crytic/crytic-compile/pull/496
- Add more delay on the etherscan CI test by montyly in https://github.com/crytic/crytic-compile/pull/500

New Contributors
* vikramarun made their first contribution in https://github.com/crytic/crytic-compile/pull/487
* SheldonHolmgren made their first contribution in https://github.com/crytic/crytic-compile/pull/452

**Full Changelog**: https://github.com/crytic/crytic-compile/compare/0.3.4...0.3.5

0.3.4

This release improves support for libraries, specifically for users of Echidna and Medusa. Please see the usage and accompanying tutorial for more information [here](https://github.com/crytic/crytic-compile#library-linking).

Thank you vovikhangcdv for your contribution.

What's Changed
* docs: add useful info like linking and forcing framework to README by 0xalpharush in https://github.com/crytic/crytic-compile/pull/478
* add library names and placeholder to solc export format by 0xalpharush in https://github.com/crytic/crytic-compile/pull/479
* allow 20 byte address for --compile-libraries and raise error if argument is invalid by 0xalpharush in https://github.com/crytic/crytic-compile/pull/477
* fix: unhandled invalid api key by vovikhangcdv in https://github.com/crytic/crytic-compile/pull/475

New Contributors
* vovikhangcdv made their first contribution in https://github.com/crytic/crytic-compile/pull/475

**Full Changelog**: https://github.com/crytic/crytic-compile/compare/0.3.3...0.3.4

0.3.3

This release adds support for detecting the Hardhat framework when CommonJS config files (`hardhat.config.cjs`) are used.

What's Changed
* Add support for Hardhat CommonJS config, clean up platform ordering by elopez in https://github.com/crytic/crytic-compile/pull/468

New Contributors
* dependabot made their first contribution in https://github.com/crytic/crytic-compile/pull/459
* oldsj made their first contribution in https://github.com/crytic/crytic-compile/pull/463

**Full Changelog**: https://github.com/crytic/crytic-compile/compare/0.3.2...0.3.3

0.3.2

This release improves support for verified contracts on Ethercan, improves integration with Echidna's coverage collection, and fixes several bugs. Additionally, this release fixes a potential path traversal responsibly disclosed by [Lucas Ma](https://twitter.com/MaLucasBC) which could potentially overwrite a file if a user ran the crytic-compile on a specific, malicious address.

We would like to thank all of our external contributors:
* ale-coinbase
* karmacoma-eth
* sidarth16

Added
* Add support for https://goerli.basescan.org (Coinbase Base Goerli Testnet) by ale-coinbase in https://github.com/crytic/crytic-compile/pull/419
* improve error message if target does not exist by 0xalpharush in https://github.com/crytic/crytic-compile/pull/442
* create release action with sigstore by 0xalpharush in https://github.com/crytic/crytic-compile/pull/446
* increase observability and provide suggestions/clearer errors by 0xalpharush in https://github.com/crytic/crytic-compile/pull/444
* platform: etherscan: add support for solc remaps, evm version by elopez in https://github.com/crytic/crytic-compile/pull/447
* handle when AST json is `legactAST` in hardhat by 0xalpharush in https://github.com/crytic/crytic-compile/pull/455

Changed
* **[Breaking API Change]** Use list instead of set for filenames and contracts_names; change filename ordering by montyly, samalws-tob in https://github.com/crytic/crytic-compile/pull/436
* Do not explicitly pass --force to forge build by karmacoma-eth in https://github.com/crytic/crytic-compile/pull/429
* use hash of relative path to make filename key more reliable by 0xalpharush in https://github.com/crytic/crytic-compile/pull/450
* Update dependabot.yml by 0xalpharush in https://github.com/crytic/crytic-compile/pull/454

Fixed
* platform: hardhat: explicitly terminate console after querying paths by elopez in https://github.com/crytic/crytic-compile/pull/417
* handle relpath when path and start on different drives by 0xalpharush in https://github.com/crytic/crytic-compile/pull/413
* use foundry action in integration test by 0xalpharush in https://github.com/crytic/crytic-compile/pull/428
* prevent possible path traversal for etherscan platform by 0xalpharush in https://github.com/crytic/crytic-compile/pull/425
* add more logging for subprocess calls by 0xalpharush in https://github.com/crytic/crytic-compile/pull/431
* improve error message for solc platform if file is dir by 0xalpharush in https://github.com/crytic/crytic-compile/pull/427
* typo by sidarth16 in https://github.com/crytic/crytic-compile/pull/412
* Fix etherscan rate limit check by smonicas in https://github.com/crytic/crytic-compile/pull/426
* add makefile by 0xalpharush in https://github.com/crytic/crytic-compile/pull/441
* Doc site by 0xalpharush in https://github.com/crytic/crytic-compile/pull/445
* Fix --allow-paths argument in solc.py by samalws-tob in https://github.com/crytic/crytic-compile/pull/433


New Contributors
* ale-coinbase made their first contribution in https://github.com/crytic/crytic-compile/pull/419
* karmacoma-eth made their first contribution in https://github.com/crytic/crytic-compile/pull/429
* sidarth16 made their first contribution in https://github.com/crytic/crytic-compile/pull/412
* samalws-tob made their first contribution in https://github.com/crytic/crytic-compile/pull/433

**Full Changelog**: https://github.com/crytic/crytic-compile/compare/0.3.1...0.3.2

Page 1 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.