-
Notifications
You must be signed in to change notification settings - Fork 42
/
Copy pathfoundry.toml
87 lines (80 loc) · 2.64 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
[profile.default]
solc_version = "0.8.23" # Override for the solc version (setting this ignores `auto_detect_solc`)
evm_version = "paris" # to prevent usage of PUSH0, which is not supported on all chains
gas_reports = [
"SuperformRouter",
"BaseForm",
"SuperformFactory",
"SuperPositions",
"DstSwapper",
]
libraries = []
optimizer = true
optimizer_runs = 200
verbosity = 0
ffi = true
libs = ["lib"]
fs_permissions = [{ access = "read-write", path = "./" }]
remappings = [ # do not change these remappings otherwise new create2 addresses will be generated, see https://github.com/foundry-rs/foundry/issues/7826
"solmate/=lib/ERC1155A/lib/solmate/src/",
"ERC1155A/=lib/ERC1155A/src/",
"@openzeppelin/contracts/=lib/ERC1155A/lib/openzeppelin-contracts/contracts/",
"ds-test/=lib/ds-test/src/",
"erc4626-tests/=lib/ERC1155A/lib/openzeppelin-contracts/lib/erc4626-tests/",
"forge-std/=lib/forge-std/src/",
"openzeppelin-contracts/=lib/ERC1155A/lib/openzeppelin-contracts/",
"pigeon/=lib/pigeon/src/",
"solady/=lib/pigeon/lib/solady/",
"super-vaults/=lib/super-vaults/src/",
"v2-core/=lib/super-vaults/lib/v2-core/contracts/",
"v2-periphery/=lib/super-vaults/lib/v2-periphery/contracts/",
"v3-core/=lib/super-vaults/lib/v3-core/",
]
out = "out"
script = "script"
src = "src"
test = "test"
auto_detect_remappings = false
assertions_revert = true
legacy_assertions = true
gas_limit = "18446744073709551615"
[profile.localdev]
optimizer = false
out = 'localdev'
[profile.coverage]
fuzz = { runs = 1, max_test_rejects = 350_000 }
invariant = { runs = 10 }
src = 'src'
test = 'test'
script = 'src'
[profile.production]
out = 'out' # separates optimized build folder (default profile) from localdev folder. Faster to build and deploy
src = 'src'
test = 'src'
script = 'script'
[rpc_endpoints]
ethereum = "${ETHEREUM_RPC_URL}"
polygon = "${POLYGON_RPC_URL}"
bsc = "${BSC_RPC_URL}"
avalanche = "${AVALANCHE_RPC_URL}"
arbitrum = "${ARBITRUM_RPC_URL}"
optimism = "${OPTIMISM_RPC_URL}"
base = "${BASE_RPC_URL}"
fantom = "${FANTOM_RPC_URL}"
[fuzz]
max_test_rejects = 1_000_000 # Number of times `vm.assume` can fail
runs = 50
[invariant]
runs = 20
depth = 2 # “Calls” refer to the number of times functions in the smart contract are called during a single test run. “Reverts” refers to the number of times a call to any function within the smart contract resulted in a transaction being reverted due to an error or exception.
fail_on_revert = true
call_override = false
[fmt]
bracket_spacing = true
int_types = "long"
line_length = 120
multiline_func_header = "all"
number_underscore = "thousands"
quote_style = "double"
tab_width = 4
wrap_comments = true