Description: The test mode to run. It should be one of the following items: * "property": Run user-defined property tests. * "assertion": Detect assertion failures (previously checkAsserts). * "optimization": Find the maximum value for a function. * "overflow": Detect integer overflows (only available in Solidity 0.8.0 or greater). * "exploration": Run contract code without executing any tests.
testLimit
Type: Int
Default: 50000
Description: Number of sequences of transactions to generate during testing.
seqLen
Type: Int
Default: 100
Description: Number of transactions to generate during testing.
shrinkLimit
Type: Int
Default: 5000
Description: Number of attempts to shrink a failing sequence of transactions.
Description: Address to deploy the contract to test.
coverage
Type: Bool
Default: true
Description: Enable the use of coverage-guided fuzzing and corpus collection.
corpusDir
Type: String
Default: null
Description: Directory to save the corpus collected (requires coverage enabled).
deployer
Type: Address
Default: "0x30000"
Description: Address of the deployer of the contract to test.
deployContracts
Type: [[Address, String]]
Default: []
Description: Addresses and contract names to deploy using the available source code. The deployer address is the same as the contract to test. Echidna will error if the deployment fails.
deployBytecodes
Type: [[Address, String]]
Default: []
Description: Addresses and bytecodes to deploy. The deployer address is the same as the contract to test. Echidna will error if the deployment fails.
sender
Type: [Address]
Default: ["0x10000", "0x20000", "0x30000"]
Description: List of addresses to (randomly) use for the transactions sent during testing.
psender
Type: Address
Default: "0x10000"
Description: Address of the sender of the property to test.
prefix
Type: String
Default: "echidna_"
Description: Prefix of the function names used as properties in the contract to test.
propMaxGas
Type: Int
Default: 12500000 (current max gas per block)
Description: Maximum amount of gas to consume when running function properties.
testMaxGas
Type: Int
Default: 12500000 (current max gas per block)
Description: Maximum amount of gas to consume when running random transactions.
maxGasprice
Type: Int
Default: 0
Description: Maximum amount of gas price to randomly use in transactions. Do not change it unless you absolutely need it.
maxTimeDelay
Type: Int
Default: 604800 (one week)
Description: Maximum amount of seconds of delay between transactions.
maxBlockDelay
Type: Int
Default: 60480
Description: Maximum amount of block numbers between transactions.
solcArgs
Type: String
Default: ""
Description: Additional arguments to use in solc for compiling the contract to test.
cryticArgs
Type: [String]
Default: []
Description: Additional arguments to use in crytic-compile for compiling the contract to test.
quiet
Type: Bool
Default: False
Description: Hide solc stderr output and additional information during the testing.
format
Type: String
Default: null
Description: Select a textual output format. By default, interactive TUI is run or text if a terminal is absent. * "text": simple textual interface. * "json": JSON output. * "none": no output.
balanceContract
Type: Int
Default: 0
Description: Initial Ether balance of contractAddr.
balanceAddr
Type: Int
Default: 0xffffffff
Description: Initial Ether balance of deployer and each of the sender accounts.
maxValue
Type: Int
Default: 100000000000000000000 (100 ETH)
Description: Max amount of value in each randomly generated transaction.
testDestruction
Type: Bool
Default: False
Description: Add a special test that fails if a contract is self-destructed.
stopOnFail
Type: Bool
Default: False
Description: Stops the fuzzing campaign when the first test fails.
allContracts
Type: Bool
Default: False
Description: Makes Echidna fuzz the provided test contracts and any other deployed contract whose ABI is known at runtime.
allowFFI
Type: Bool
Default: False
Description: Allows the use of the HEVM ffi cheatcode.