Vyper support is limited
ggrieco-tob opened this issue · 2 comments
ggrieco-tob commented
Echidna works on vyper contracts running the .vy files directly, however:
- properties should be hardcoded in the contract
- any use of framework will fail to work (e.g. brownie).
- slither won't run on it, so there is no constant extraction or assertion detection.
- we still get the constants if they are returned by a function inside the code
- coverage feedback and source code integration works
It is expected to have a limited effectiveness since we cannot get useful constants from the source code.
ggrieco-tob commented
This is something we won't fix unless Vyper has more traction.
pcaversaccio commented
FYI, I added Echidna to my 🐍 snekmate Vyper contracts: pcaversaccio/snekmate#239. Some important learnings:
hevm
doesn't strip whitespace characters (!) when FFI is used,- use
filterFunctions
in the Echidna config file to remove crashing calls to theVyperDeployer
contract ifallContracts: true
is used.