Releases: crytic/crytic-compile
v0.1.7
0.1.7 - 2020-03-23
This release includes a large refactor of the platforms leading to a simpler and cleaner API, the documentation is now on readthedocs. crytic-compile
will try to guess the unit-tests command according to the platform. Additionally, this release allows third-parties tools to get the natpsec documentation.
Added
- Guessing of the unit test commands (#69)
- Natpsec parsing (#66)
- Add documentation to https://crytic-compile.readthedocs.io/en/latest/ (#77)
--etherscan-apikey
flag (#64)- Use npx for embark/etherlime (#74)
Changed
- The platform architecture was refactored. All the platforms inherit from
AbstractPlatform
. As a result, it will be easier to interact with a custom platform from a script, and the code was cleaned. (#68) - Truffle: get the compiler version from the json objects. This will speed up all truffle usage by avoiding one call to the platform (#67)
- Import the output in case of errors (#45)
- The default filename is now
crytic_compile.config.json
(#76) [BREAKING CHANGE] - Use
deleteCompiledFiles
for etherlime (#75)
v0.1.6
0.1.6 - 2019-12-20
This release improves the overall code quality through the use of python type annotation, and a significant increase in the documentation coverage. Additionally, a new flag was added --ignore-compile
and we moved from travis to GitHub actions.
Thanks to our external contributor:
Added
- Python type annotation (#54)
--ignore-compile
flag, which disables the compilation for any platform (shortcut for--truffle-ignore-compile --embark-ignore-compile ....
) (#55)
Changed
- Increase documentation coverage (#54)
cryticparser.defaults_flag_in_config
is renamedDEFAULTS_FLAG_IN_CONFIG
(#54, breaking change)- Use GitHub action instead of travis (#57, #58)
Fixed
- Many pylint issues (#54)
v0.1.5
0.1.5 - 2019-11-22
This release adds support for Waffle and bytecode-only contracts from Etherscan. It also fixes minor bugs.
Thanks to our external contributor:
Added
Fixed
v0.1.4
0.1.4 - 2019-10-04
This release adds the support for Brownie, integrates minor improvements and fixes several bugs.
Thanks to our external contributor:
Added
Changed
- Truffle: naive solc version deduction form the config file (#38) (speed up truffle platform)
- Dapp: use cache for travis test (#42)
Fixed
v0.1.3
0.1.3 - 2019-08-16
This release adds support for Vyper, an archive mode to simplify codebase export, improves the API, and fixes multiple bugs.
The Vyper support allows Manticore to work natively on Vyper codebase.
Added
- Vyper support (#25)
- Archive mode (#24)
- Library detection (#26)
- Provide source code content (d9846f2)
Fixed
0.1.2 - 2019-06-05
0.1.2 - 2019-06-05
This release extends crytic-compile capacities and fixes a bug related to the file encoding.
Added
- Support for native
solc
in truffle (#20) - Add etherlime> 2.0.0 support (#19)
- Add support for a list of different
solc
versions (#18)
Changed
- Cli: return -1 if the compilation failed (#21)
Fixed
v0.1.1
0.1.1 - 2019-05-14
This release fixes minor bugs and extends crytic-compile
capacities
Added
is_dependency
API to determine if a file is from a library (3ed5160)- Allow compilation of relative and absolute paths for truffle/embark/dapp #14
Changed
- Improve support for old solc version (5bf2527)
- Improve custom version of truffle (dbf3a16)
- Use
truffle compile --all
to prevent incorrect json update (e74f659) - Change filename of saved etherscan files #15
Fixed
v0.1.0
0.1.0 - 2019-04-24
First public release of crytic-compile
. The library standardizes the smart contract compilation. It can be used as a command line or through the Python API.
Features
- ASTs
- ABIs
- Init and runtime bytecode
- Init and runtime source map
- Compiler version and optimization
- Standardization of the paths
- Standardization of the compilation options
Platforms supported
- Truffle
- Embark
- Dapp
- Etherlime
- Etherscan
See the Configuration documentation for advanced usages.
Tools integration
- Slither crytic/slither#199
- Echidna crytic/echidna#204
- Manticore trailofbits/manticore#1406
- evm-cfg-builder crytic/evm_cfg_builder#19