Repository navigation
Expand file tree
/
Copy pathfoundry.toml
More file actions
49 lines (46 loc) · 2.42 KB
/
Copy pathfoundry.toml
File metadata and controls
49 lines (46 loc) · 2.42 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
[profile.default]
src = "src"
out = "out"
libs = ["lib"]
via-ir = true
optimizer = true
optimizer_runs = 200
# Pinned: v4-core and the CCA require exactly 0.8.26, and a partial compile (forge inspect)
# under auto-detection would pick a newer solc and produce bytecode that never matches chain.
solc = "0.8.26"
ignored_warnings_from = ["lib/"]
# Upgrade scripts read build artifacts to resolve linked library addresses.
fs_permissions = [{ access = "read", path = "./out" }, { access = "read", path = "../contracts.json" }]
# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options
remappings = [
'@openzeppelin/=lib/openzeppelin-contracts/',
'@solady=lib/solady/src/',
'@liquidity-launcher/=lib/liquidity-launcher/src/',
'@continuous-clearing-auction=lib/continuous-clearing-auction/src/',
'@uniswap/v4-core=lib/v4-core/',
'@uniswap/v4-periphery=lib/v4-periphery/',
'@uniswap/permit2=lib/v4-periphery/lib/permit2/',
'@blocknumberish/=lib/continuous-clearing-auction/lib/blocknumberish/',
'blocknumberish/=lib/continuous-clearing-auction/lib/blocknumberish/',
'@metavest/=lib/metavest/src/',
# CCA imports 'liquidity-launcher/src/...'. Without this, auto-detection resolves the
# prefix to lib/liquidity-launcher/src/ and the paths double up. Same pinned commit as
# CCA's own nested copy, so this resolves to identical sources.
'liquidity-launcher/=lib/liquidity-launcher/',
# Universal Router, deployed by DeployV4Infra on chains Uniswap has not shipped
# v4 to (Monad testnet). Pinned to 2.1.1, the version already deployed on Base
# and Sepolia: it builds against the v4 and permit2 we already vendor, so the
# remappings below redirect its nested copies of those. Only the V4 + Permit2
# command paths are reachable, but the V2/V3 and v3->v4 migrator modules still
# import interfaces from v2-core, v3-core and its own nested v3-periphery.
# Those are all pragma >=0.5.0, so they compile here.
'permit2/=lib/v4-periphery/lib/permit2/',
'solmate/=lib/v4-core/lib/solmate/',
'@uniswap/v2-core/=lib/v2-core/',
'@uniswap/v3-core/=lib/v3-core/',
'@uniswap/v3-periphery/=lib/universal-router/lib/v3-periphery/',
'@uniswap/universal-router/=lib/universal-router/',
]
[lint]
ignore = ["test/**/*.sol", "script/**/*.sol"]
exclude_lints = ["block-timestamp", "incorrect-shift", "divide-before-multiply", "unsafe-typecast"]