-
Notifications
You must be signed in to change notification settings - Fork 413
Config
Emilio López edited this page May 1, 2025
·
18 revisions
Important
This page has been deprecated, please refer to the list of Echidna configuration options hosted in Building Secure Contracts for up-to-date documentation.
-
testMode- Type: String
- Default:
"property" - Description: The test mode to run. It should be one of the following items:
-
"property": Run user-defined property tests. -
"assertion": Detect assertion failures (previouslycheckAsserts). -
"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.
-
contractAddr- Type: Address
- Default:
"0x00a329c0648769a73afac7f9381e08fb43dbea72" - 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
solcfor compiling the contract to test.
-
cryticArgs- Type: [String]
- Default:
[] - Description: Additional arguments to use in
crytic-compilefor compiling the contract to test.
-
quiet- Type: Bool
- Default:
False - Description: Hide
solcstderr 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
deployerand each of thesenderaccounts.
-
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
fficheatcode.