-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathfoundry.toml
More file actions
64 lines (56 loc) · 2.48 KB
/
Copy pathfoundry.toml
File metadata and controls
64 lines (56 loc) · 2.48 KB
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
[profile.default]
out = 'foundry-out'
auto_detect_solc = true
optimizer_runs = 44444444
via_ir = false
ffi = true
fs_permissions = [{ access = "read-write", path = ".forge-snapshots/" }, { access = "read", path = "foundry-out/" }, { access = "read-write", path = "docs/" }, { access = "read", path = "test/stable/data/" }, { access = "read", path = "test/alf/data/" }, { access = "read", path = "test/aggregator-hooks/StableSwapNG/precompiled/" }, { access = "read", path = "test/aggregator-hooks/StableSwap/precompiled/" }, { access = "read", path = "test/aggregator-hooks/UniswapV3/precompile/" }, { access = "read", path = "test/aggregator-hooks/PancakeSwapV3/precompile/" }, { access = "read", path = "test/aggregator-hooks/UniswapV2/precompile/" }]
evm_version = "cancun"
gas_limit = "3000000000"
bytecode_hash = "none"
# ALF contracts trip stack-too-deep under legacy codegen, and compiling them
# through a second compiler profile in the same invocation suffixes shared
# artifacts (PoolManager.json becomes PoolManager.default.json), which breaks
# tests that deployCode by artifact path. Skip alf here; the alf profile
# below builds and tests it in a dedicated CI job. The DualPool deploy
# scripts import src/alf, so they ride in the alf profile for the same reason.
skip = ["src/alf/**", "test/alf/**", "script/DeployDualPool*.s.sol"]
[profile.debug]
via_ir = false
optimizer_runs = 200
[profile.gas]
gas_limit=30_000_000
[profile.aggregator_hooks]
via_ir = false
optimizer_runs = 200
[profile.alf]
optimizer_runs = 200
via_ir = true
skip = []
# fluid-contracts-public uses inline assembly without memory-safe annotations,
# which prevents the via-ir Yul optimizer from reorganizing the stack and trips
# stack-too-deep in dexLite/adminModule/main.sol. Compile fluid with legacy
# codegen so this profile's via-ir default keeps working for everything else.
additional_compiler_profiles = [
{ name = "fluid", via_ir = false, optimizer_runs = 200 }
]
compilation_restrictions = [
{ paths = "lib/fluid-contracts-public/**", via_ir = false }
]
[fuzz]
runs = 10
[invariant]
runs = 256
depth = 32
fail_on_revert = false
shrink_run_limit = 1024
[rpc_endpoints]
sepolia = "https://rpc.sepolia.org"
unichain_sepolia = "https://sepolia.unichain.org"
base_sepolia = "https://sepolia.base.org"
arbitrum_sepolia = "https://sepolia-rollup.arbitrum.io/rpc"
mainnet = "https://mainnet.infura.io/v3/${INFURA_API_KEY}"
tempo_testnet = "https://rpc.moderato.tempo.xyz"
tempo_mainnet = "https://rpc.tempo.xyz"
[lint]
lint_on_build=false