Questions tagged [echidna]

The tag has no usage guidance.

Filter by
Sorted by
Tagged with
0 votes
0 answers
16 views

Issue when running the Echidna fuzzer with Etheno trace (init.json)

I'm following the echidna official documentation for End to End testing as in here; https://github.com/crytic/building-secure-contracts/blob/master/program-analysis/echidna/advanced/end-to-end-testing....
0 votes
0 answers
10 views

Why doesn't echidna capture failure when Roles are used?

I'm having this test, which deliberately introduces a failure of integer overflow, which is usually captured with Echidna. function inc(uint256 val) public { unchecked { counter += val; ...
1 vote
0 answers
15 views

In echidna fuzzing, what is meant by *, r and *r?

In the echidna advanced documentation, it is mentioned as The label r on the left of each line indicates that Echidna can reach these lines, but they result in a revert. however it doesn't describe ...
1 vote
0 answers
28 views

Capturing an assertion failure and detailing it out in a corpus is not working as expected

I'm having this famous integer overflow function within my Test code so that I'm sure it is failed and captured within the corpus. *r | function inc(uint256 val) public { *r | uint256 ...
1 vote
0 answers
76 views

Invariant Testing: Bounding an input parameter to the output of contract-specific functions

Foundry’s invariant testing allow us to declare a set of truths that should always hold no matter which action or sequence of action is performed. We declare these truths and then Foundry sets the ...
5 votes
1 answer
962 views

What's the difference between invariant and fuzz testing?

echidna is a popular property-based fuzz tester, and Foundry comes packed with invariant tests. What is the difference between them?
2 votes
0 answers
521 views

Between writing fuzzing tests with echidna vs writing fuzzing tests with foundry, are there any advantages one has over the other?

Deciding which tool to use to write some fuzzing tests, was curious if one tool or the other performs better at fuzz testing than the other. It seems to me that foundry will be easier to setup my ...
0 votes
1 answer
178 views

Echidna: test contract balance

Is it possible to send funds to an Echnidna fuzzing contract before the tests start? For example, if I wanted to test for address(this).balance != 0 as an invariant, how would I seed to contract with ...
1 vote
0 answers
250 views

Why ECDSA.tryRecover() returns Zero Address

I am trying to familiarize myself with the Echidna fuzzer by writing a property test on an ERC721 contract with permit. Once I run echidna in docker using command npx hardhat clean && npx ...
1 vote
0 answers
44 views

Send ETH on echidna test

How do I make msg.value something (aka send some ETH) on the beginning of an Echidna test? For example, if I have this function: function test() external payable { if (msg.value > 0) { ...