crytic / crytic-compile

Abstraction layer for smart contract build systems
GNU Affero General Public License v3.0
157 stars 84 forks source link

fix integration with echidna and medusa so that caching works #563

Open 0xalpharush opened 5 months ago

0xalpharush commented 5 months ago

We switched to only compiling foundry's source directory, excluding tests and scripts, in https://github.com/crytic/crytic-compile/pull/488. This has interacted poorly with Echidna and Medusa. We should aim to have a way for Slither and fuzzers have the best possible defaults UX wise and most quickly recompile targets. Foundry now has caching for --build-info (https://github.com/foundry-rs/foundry/pull/8164) and allows compiling individual directories/paths natively so we can clean up how we handle this (https://github.com/foundry-rs/foundry/pull/8149).

We may need to have a way for Slither to not request the build info (including bytecode) and instead only get the AST (https://github.com/foundry-rs/foundry/issues/7212, https://github.com/crytic/slither/issues/2421).

xref https://github.com/foundry-rs/foundry/issues/8071#issuecomment-2151065609

cc @aviggiano