-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathfoundry.toml
More file actions
51 lines (44 loc) · 1.55 KB
/
foundry.toml
File metadata and controls
51 lines (44 loc) · 1.55 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
[profile.default]
src = "src"
out = "out"
libs = ["lib"]
test = "test"
ast = true
solc = "0.8.30"
optimizer = true
optimizer_runs = 200
[profile.default.fuzz]
runs = 256
# Named RPC endpoints. Referenced via `forge test --fork-url <name>`.
# See README "Fork testing" section for the invocation that runs the
# full unit-test suite against the live Rust precompiles.
[rpc_endpoints]
vibenet = "https://rpc.vibes.base.org/"
# Fork-testing profile. Reduces fuzz runs since each iteration may
# trigger RPC round-trips against the live precompiles, and the test
# author cares more about "does the layout / behavior match" than
# fuzz coverage at this stage.
#
# Usage (requires the base-anvil fork of forge with --base support):
# LIVE_PRECOMPILES=true FOUNDRY_PROFILE=fork \
# /path/to/base-anvil/target/debug/forge test \
# --fork-url http://localhost:8546
#
# `base = true` enables Base precompile dispatch (TokenFactory, B-20
# tokens, PolicyRegistry, ActivationRegistry) inside forge's EVM. The
# `LIVE_PRECOMPILES` env var tells `BaseTest.setUp` NOT to etch the
# mocks at the precompile addresses, so calls dispatch to the native
# Rust impls instead. Both flags are required: dispatch alone isn't
# enough if the mock bytecode is etched on top (the etched code
# executes first), and skipping the etch alone isn't enough if forge's
# REVM doesn't know about the precompiles (it just returns empty data).
[profile.fork.fuzz]
runs = 10
[profile.fork]
base = true
[fmt]
line_length = 120
tab_width = 4
quote_style = "double"
bracket_spacing = false
int_types = "long"