-
Notifications
You must be signed in to change notification settings - Fork 8
/
foundry.toml
80 lines (68 loc) · 1.97 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
[profile.default]
src = 'src'
out = 'out'
libs = ['lib']
no_match_contract = "CryticTester"
solc_version = "0.8.26"
evm_version = "cancun"
optimizer = true
optimizer_runs = 500
verbosity = 3
ffi = true
fs_permissions = [{ access = "read-write", path = ".forge-snapshots/"}, { access = "read", path = "./deployments"}]
[profile.default.fuzz]
runs = 100
max_test_rejects = 1_000_000 # Number of times `vm.assume` can fail
[profile.default.invariant]
runs = 10
depth = 100
call_override = false
fail_on_revert = false
[profile.ci.fuzz]
runs = 1000
max_test_rejects = 1_000_000 # Number of times `vm.assume` can fail
[profile.ci.invariant]
runs = 100
depth = 1000
call_override = false
fail_on_revert = false
[profile.smt.model_checker]
engine = "chc" # constrained Horn clauses
invariants = ["contract", "reentrancy"]
show_unproved = true
timeout = 100_000 # in milliseconds, per solving query
targets = [
"assert",
"constantCondition",
"divByZero",
"outOfBounds",
"overflow",
"underflow",
]
[profile.smt.model_checker.contracts]
"src/ERC7540Vault.sol" = ["ERC7540Vault"]
"src/InvestmentManager.sol" = ["InvestmentManager"]
"src/PoolManager.sol" = ["PoolManager"]
"src/Escrow.sol" = ["Escrow"]
"src/Root.sol" = ["Root"]
"src/token/ERC20.sol" = ["ERC20"]
"src/token/Tranche.sol" = ["Tranche"]
"src/token/RestrictionManager.sol" = ["RestrictionManager"]
"src/admin/Guardian.sol" = ["Guardian"]
[doc]
ignore = ["**/*.t.sol", "**/*.s.sol"]
out = "docs"
repository = "https://github.com/centrifuge/liquidity-pools"
[fmt]
line_length = 120
tab_width = 4
bracket_spacing = false
int_types = "long"
multiline_func_header = "attributes_first"
quote_style = "double"
number_underscore = "preserve"
wrap_comments = true
ignore = ["test/*.sol"]
[rpc_endpoints]
ethereum-mainnet = "https://mainnet.infura.io/v3/${INFURA_API_KEY}"
polygon-mainnet = "https://polygon-mainnet.infura.io/v3/${INFURA_API_KEY}"