## Customizing config.yaml Echidna uses config files formatted in the [yaml syntax][yaml_syntax]. You can find a [sample config.yaml file here][sample_yaml]. [yaml_syntax]:https://en.wikipedia.org/wiki/YAML#Syntax [sample_yaml]:https://github.com/trailofbits/echidna/blob/master/solidity/config.yaml ### Default configuration values | Parameter | Default Value | Description | |-----------|---------------|-------------| | `solcArgs` | Empty string | Additional arguments to pass to solc. Internally echidna passes `--combined-json=bin-runtime,bin,srcmap,srcmap-runtime,abi,ast`. Avoid this unless you know what you're doing. | `epochs` | 2 | Number of iterations the genetic algorithm for coverage guided fuzzing executes. Only used if `printCoverage` is true or `--coverage` is passed on the command line. | `range` | 10 | Max number of function calls in a single test | `contractAddr` | 0x00a329c0648769a73afac7f9381e08fb43dbea72 | The address of the contract under test | `sender` | 0x00a329c0648769a73afac7f9381e08fb43dbea70 | The address from which echidna sends transaction | `addrList` | Empty List | A predefined list of addresses Echidna will use for functions accepting parameters of the address type | `gasLimit` | 0xffffffffffffffff | The maximum amount of gas to expend before erroring. | `testLimit` | 10000 | The maximum number of tests to execute | `shrinkLimit` | 1000 | The maximum number of shrinks to attempt | `return` | Success | Specifies the behavior of Echidna test functions. For a description of values see the "return" Parameters section. | `prefix` | "echidna_" | The function name prefix that identifies echidna tests. | `printCoverage` | False | Setting this to true has the same effect as the `--coverage` command line switch | `outputJson` | False | Setting this to true formats the output of echidna as JSON. ## `return` Parameters |Value | Meaning| |-|-| | `Success` | Tests return true to indicate test success | `Fail` | Tests return false to indicate test success | `Throw` | Tests revert to indicate test success | `Fail or Throw` | Tests should revert or return false to indicate test success