-
Notifications
You must be signed in to change notification settings - Fork 378
Config
Artur Cygan edited this page Mar 4, 2024
·
17 revisions
-
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
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 thesender
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.