-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfoundry.toml
More file actions
47 lines (40 loc) · 1.59 KB
/
Copy pathfoundry.toml
File metadata and controls
47 lines (40 loc) · 1.59 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
[profile.default]
src = "src"
out = "out"
libs = ["lib"]
test = "test"
cache_path = "foundry-cache"
# Remappings — all deps are pinned git submodules in lib/ (no npm for contracts)
remappings = [
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
"@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
"@account-abstraction/contracts/=lib/account-abstraction/contracts/",
"forge-std/=lib/forge-std/src/",
]
# Solidity compiler settings
auto_detect_solc = true
evm_version = "cancun"
optimizer = true
optimizer_runs = 200
# (legacy imports/ and SimpleAccount re-exports removed in the Foundry-native layout)
# Fuzzing configuration
[fuzz]
runs = 1000 # Number of fuzz runs per test
max_test_rejects = 65536 # Max invalid inputs before giving up
seed = "0x3e8" # Reproducible seed
dictionary_weight = 40 # Weight for dictionary-based fuzzing
[invariant]
runs = 256 # Number of invariant test runs
depth = 50 # Call depth per run
fail_on_revert = false # Don't fail on expected reverts
# Gas reporting
[profile.default.fmt]
line_length = 120
tab_width = 4
bracket_spacing = true
# Fork test RPC endpoints (Tier A: integration tests against live on-chain state).
# The fork test reads ARBITRUM_SEPOLIA_RPC_URL (env) first, falling back to this.
[rpc_endpoints]
arbitrum_sepolia = "https://sepolia-rollup.arbitrum.io/rpc"
# Base Sepolia probe — the test reads BASE_SEPOLIA_RPC_URL (env) first, falling back to this.
base_sepolia = "https://sepolia.base.org"