-
Notifications
You must be signed in to change notification settings - Fork 8
/
foundry.toml
91 lines (80 loc) · 2.51 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
[profile.default] # all profiles inherit from this
cache = false # !important! breaks echidna if cache = true.
libs = ['lib', 'node_modules']
out = 'out' # default
remappings = [
'forge-std/=lib/forge-std/src/',
'solmate/=lib/solmate/src/',
'solstat/=lib/solstat/src/',
'nugu/=lib/nugu/src/',
'openzeppelin/=lib/openzeppelin-contracts/contracts/',
]
solc = '0.8.19'
src = 'contracts'
test = 'test' # default
[profile.optimized] # uses via_ir and optimizer
optimizer = true
optimizer_runs = 0
out = 'optimized-out'
via_ir = true
[profile.optimizedcalls]
optimizer = true
optimizer_runs = 10000
out = 'optimized-out'
via_ir = true
[profile.test] # does not use optimizer
ffi = true
gas_reports = ["*"]
src = 'test/' # not default
[profile.echidna]
src = 'test/echidna' # not default
test = 'test/echidna' # not default
via_ir = false
[rpc_endpoints]
anvil = "http://127.0.0.1:8545"
primitive = "${PRIMITIVE_RPC}"
prod = "${MAINNET_URL}"
[fmt]
bracket_spacing = true
int_types = 'long'
line_length = 80
multiline_func_header = 'params_first'
quote_style = 'double'
tab_width = 4
wrap_comments = false
# See more config options https://github.com/gakonst/foundry/tree/master/config
# important documentation generation options
[doc]
out = "docs/auto"
title = "Autogenerated Portfolio Docs"
repository = "https://github.com/primitivefinance/portfolio"
[fuzz]
# The number of fuzz runs for fuzz tests
runs = 256
# The maximum number of test case rejections allowed by proptest, to be
# encountered during usage of `vm.assume` cheatcode. This will be used
# to set the `max_global_rejects` value in proptest test runner config.
# `max_local_rejects` option isn't exposed here since we're not using
# `prop_filter`.
max_test_rejects = 65536
# The weight of the dictionary
dictionary_weight = 40
# The flag indicating whether to include values from storage
include_storage = true
# The flag indicating whether to include push bytes values
include_push_bytes = true
[invariant]
# The number of runs that must execute for each invariant test group
runs = 256
# The number of calls executed to attempt to break invariants in one run
depth = 100
# Fails the invariant fuzzing if a revert occurs
fail_on_revert = false
# Allows overriding an unsafe external call when running invariant tests. eg. reentrancy checks
call_override = false
# The weight of the dictionary
dictionary_weight = 80
# The flag indicating whether to include values from storage
include_storage = true
# The flag indicating whether to include push bytes values
include_push_bytes = true