generated from zgrdmr80/hardhat-project-template-ts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfoundry.toml
46 lines (44 loc) · 4.2 KB
/
foundry.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
## defaults for all profiles
[profile.default]
src = 'contracts/src' # the source directory
test = 'contracts/test' # the test directory
out = 'forge-artifacts' # the output directory (for artifacts)
libs = ['contracts/lib'] # a list of library directories
remappings = [] # a list of remappings
libraries = [] # a list of deployed libraries to link against
cache = true # whether to cache builds or not
cache_path = 'cache' # where the cache is stored if enabled
force = true # whether to ignore the cache (clean build)
evm_version = 'paris' # the evm version (by hardfork name)
gas_reports = ['*'] # list of contracts to report gas of
solc_version = '0.8.19' # override for the solc version (setting this ignores `auto_detect_solc`)
auto_detect_solc = true # enable auto-detection of the appropriate solc version to use
offline = false # offline mode, if enabled, network access (downloading solc) is disallowed
optimizer = true # enable or disable the solc optimizer
optimizer_runs = 999999 # the number of optimizer runs
via_ir = false # whether to enable EVM bytecode generation through an intermediate representation (ir) or not
verbosity = 2 # the verbosity of tests
ignored_error_codes = [] # a list of ignored solc error codes
fuzz = { runs = 256 } # the number of fuzz runs for tests
invariant = { runs = 256 } # the number of runs that must execute for each invariant test group
ffi = false # whether to enable foreign function interface (ffi) cheatcodes or not
sender = '0x00a329c0648769a73afac7f9381e08fb43dbea72' # the address of `msg.sender` in tests
tx_origin = '0x00a329c0648769a73afac7f9381e08fb43dbea72' # the address of `tx.origin` in tests
initial_balance = '0xffffffffffffffffffffffff' # the initial balance of the test contract
block_number = 0 # the block number we are at in tests
chain_id = 99 # the chain id we are on in tests
gas_limit = 9223372036854775807 # the gas limit in tests
gas_price = 0 # the gas price (in wei) in tests
block_base_fee_per_gas = 0 # the base fee (in wei) in tests
block_coinbase = '0x0000000000000000000000000000000000000000' # the address of `block.coinbase` in tests
block_timestamp = 0 # the value of `block.timestamp` in tests
block_difficulty = 0 # the value of `block.difficulty` in tests
fs_permissions = [{ access = "read-write", path = "./"}] # set read-write access to project root
## optimizer details for the default profile
[profile.default.optimizer_details]
constantOptimizer = true # whether to enable the optimizer for literal numbers and strings or not
yul = true # whether to enable the new Yul optimizer or not
# sets the `yulDetails` of the `optimizer_details` for the `default` profile
[profile.default.optimizer_details.yulDetails]
stackAllocation = true # whether to enable the improvement of allocation of stack slots for variables or not
optimizerSteps = 'dhfoDgvulfnTUtnIf' # the optimization steps to be applied