Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
4039 commits
Select commit Hold shift + click to select a range
fceb83b
fix(cheatcodes): read symlink targets correctly (#17208)
figtracer Sep 30, 2026
08a5791
fix(forge): export compiler-compatible standard JSON (#17207)
figtracer Sep 30, 2026
44a03b3
fix(evm): prevent OP fork fee panics (#17197)
mablr Sep 30, 2026
45d1fce
fix(forge): keep filtered ABI builds incremental (#17211)
figtracer Sep 30, 2026
31ec5f9
fix(anvil): compile with Base alone (#17214)
mablr Sep 30, 2026
0ebfc2d
fix(cast): replay prefix for EVM overrides (#17213)
mablr Sep 30, 2026
6bb6128
refactor(chisel): isolate view and narrow session credentials (#17191)
0xKarl98 Sep 30, 2026
e28eee0
fix(symbolic): model empty ecrecover returndata (#17218)
figtracer Sep 30, 2026
935076e
fix(symbolic): honor opcode activation forks (#17217)
figtracer Sep 30, 2026
1e38cfc
refactor(symbolic): reuse Alloy and revm helpers (#17223)
figtracer Sep 30, 2026
5d53cb3
fix(fmt): make the size estimate describe the printed form (#17137)
CalvinTjoaquinn Sep 30, 2026
66d3174
test(script): cover deployCode broadcast edges (#17225)
mablr Sep 30, 2026
473d7ed
chore(tests): bump forge-std version (#17228)
github-actions[bot] Sep 30, 2026
2891de9
fix(cli): warn on dotenv loading errors (#17203)
mablr Sep 30, 2026
5db7661
chore(deps): bump revm-inspectors to 0.44.1 (#17226)
mablr Sep 30, 2026
1eec009
test(forge): fix Windows signer conflict snapshot (#17230)
mablr Sep 30, 2026
aa0105c
fix(cast): list Turnkey signers in `cast wallet list --turnkey` (#17169)
aelmanaa Sep 30, 2026
462d979
fix(symbolic): classify exceptional halts (#17212)
figtracer Sep 30, 2026
ffc6c88
chore(deps): bump solar dependencies to 8f8a489 (#17182)
github-actions[bot] Sep 30, 2026
4e5a0af
fix(fuzz): preserve timed invariant seeds (#17099)
figtracer Sep 30, 2026
507a2e4
fix(forge): preserve filtered test diagnostics (#17229)
mablr Sep 30, 2026
d2fc46f
docs(lint): fix incorrect-erc20/erc721-interface examples and scope (…
ursiyan Sep 30, 2026
9ce8cd1
fix(cast): reject ambiguous constructor args (#17233)
figtracer Sep 30, 2026
114d681
fix(forge): enforce size limits in quiet mode (#17216)
figtracer Sep 30, 2026
b4a76a6
fix(traces): decode calldata with a trailing suffix (#17171)
mattsse Sep 30, 2026
a6379c7
feat(tempo): label OUSD token (#17237)
decofe Sep 30, 2026
6b0af65
fix(forge): enforce deny warnings on warm caches (#17202)
mablr Sep 30, 2026
5495cdf
fix(fuzz): skip history-changing trace seeds (#17235)
figtracer Sep 30, 2026
95b943d
chore(deps): bump tempo dependencies to 6ef1f81 (#17241)
decofe Oct 1, 2026
20d7092
fix(evm): replay Tempo AA transactions faithfully (#17195)
stevencartavia Oct 1, 2026
1691533
chore(deps): bump solar dependencies to 4cc64e7 (#17243)
github-actions[bot] Oct 1, 2026
25fd0f4
feat(cast): add tip20 role commands (#17246)
mattsse Oct 1, 2026
6c17909
fix(forge): recover filtered import cycles (#17238)
figtracer Oct 1, 2026
7f49a14
fix(fmt): skip symlinks that escape the project (#17196)
0xKarl98 Oct 1, 2026
df92604
fix(anvil): don't keep step traces of mined txs (#17240)
HubertRitzdorf-ChainSecurity Oct 1, 2026
baf2975
fix(tempo): align expiring nonce limits with T11 (#17244)
mattsse Oct 1, 2026
c7794ba
fix(cheatcodes): bump sponsored 7702 authority nonces (#17193)
stevencartavia Oct 1, 2026
4470aff
fix(cheatcodes): roll back history storage wipe on revert (#17194)
stevencartavia Oct 1, 2026
49b6273
fix(anvil): report unavailable replay state (#17249)
stevencartavia Oct 1, 2026
713c0f8
perf(anvil): replay blocks once for struct logs (#17250)
stevencartavia Oct 1, 2026
8215822
test(script): cover sponsored Tempo handoff (#17251)
stevencartavia Oct 1, 2026
13e34d4
chore(deps): bump taiki-e/install-action from 2.87.17 to 2.87.18 in t…
dependabot[bot] Oct 1, 2026
a732280
test(cast): relax Avalanche replay gas assertion (#17252)
mablr Oct 1, 2026
c7676f4
fix(anvil): mark created accounts as added in trace statediff (#17106)
banteg Oct 1, 2026
c5103ec
fix(forge): clear stale rerun failures (#16947)
Bruce039 Oct 1, 2026
b393dd2
fix(cast): preserve empty keychain scopes (#17255)
figtracer Oct 1, 2026
50af4ef
perf(forge): narrow test linking fallback (#17254)
mablr Oct 1, 2026
42fc869
fix(cast): guard virtual-master registration (#17257)
figtracer Oct 1, 2026
54ec10a
fix(cast): validate Tempo batch sender (#17258)
figtracer Oct 1, 2026
abe7a57
fix(anvil): retry ready txs left by full blocks (#17266)
stevencartavia Oct 2, 2026
89c01e5
chore(ci): re-pin dtolnay/rust-toolchain v1 (#17269)
stevencartavia Oct 2, 2026
2b15a5f
chore: fix nightly clippy (#17273)
stevencartavia Oct 2, 2026
328811c
chore(deps): bump solar dependencies to c0259d9 (#17267)
github-actions[bot] Oct 2, 2026
3ec8896
fix(doc): neutralize ESM lines in the homepage (#17272)
stevencartavia Oct 2, 2026
1ae3336
fix(anvil): reserve blob fee in gas estimation (#17270)
stevencartavia Oct 2, 2026
25dd26a
fix(cast): preserve fees in curl calls (#17261)
figtracer Oct 2, 2026
fc8f339
fix(forge): keep test listing out of build cache (#17262)
stevencartavia Oct 2, 2026
f3b1e95
test(anvil): cover full-block retries and mining modes e2e (#17268)
mattsse Oct 2, 2026
ccb9954
fix(anvil): use Tempo for standard tx replay (#17260)
figtracer Oct 2, 2026
10e64e8
fix(config): preserve root across inline config (#17263)
stevencartavia Oct 2, 2026
195561f
fix(fuzz): enforce sender policy on corpus replay (#17274)
stevencartavia Oct 2, 2026
50eb646
fix(cast): fetch impl on cast interface (#17153)
sakulstra Oct 2, 2026
bab28fc
fix(debugger): identify etched frames by executed code (#17275)
stevencartavia Oct 2, 2026
d6f2bcb
refactor(symbolic): simplify symbolic executor crate (#17279)
figtracer Oct 2, 2026
eb8ec35
fix(ci): install libudev before Tempo build (#17284)
decofe Oct 2, 2026
3dc2672
refactor(test): make CLI test macros proc macros (#17285)
DaniPopes Oct 2, 2026
d540ab7
fix(anvil): respect interval history limits (#17283)
mablr Oct 2, 2026
2568645
fix(evm): preserve Tempo gas on version changes (#17278)
figtracer Oct 2, 2026
193fe25
refactor(verify): use native constructor encoding (#17288)
figtracer Oct 2, 2026
d00069e
fix(fuzz): restore rejected corpus replay state (#17286)
figtracer Oct 2, 2026
4132b1b
refactor(common): reuse provider construction (#17287)
figtracer Oct 2, 2026
0b89138
refactor(traces): re-export all used trace types (#17289)
mablr Oct 2, 2026
4f47010
fix(invariant): validate persisted optimization best (#17292)
figtracer Oct 2, 2026
bd292fb
test(cheatcodes): pin effects in reverted frames (#17290)
mablr Oct 2, 2026
5963d95
docs(cast): fix batch call examples (#17190)
myetcd Oct 3, 2026
3b57188
perf(evm): discover non-Anvil fork endpoints once (#17280)
mattsse Oct 3, 2026
ef739f1
fix(cheatcodes): preserve formatting in writeToml (#17242)
awss1i Oct 3, 2026
8311e2e
test(cheatcodes): isolate JSON/TOML write fixtures (#17300)
mattsse Oct 3, 2026
a1f6fc0
fix(lint): restore numeric-cast peeling for underlying_var in arbitra…
gomesalexandre Oct 3, 2026
c923ba4
chore(deps): bump solar dependencies to 83214bb (#17295)
github-actions[bot] Oct 3, 2026
8275f7e
fix(cheatcodes): surface parse errors from envOr (#16924)
Bruce039 Oct 3, 2026
5748444
fix(forge): emit empty json and junit output without matches (#16950)
0xShadowX Oct 3, 2026
a9b9d18
fix(cast): preserve nested batch call arguments (#16820)
wangjingshuiku Oct 3, 2026
2620d3b
fix(lint): recognize events before access-control writes (#16651)
gomesalexandre Oct 3, 2026
3f4607b
fix(evm): map BPO3-5 hardforks to Osaka spec (#17314)
mattsse Oct 3, 2026
3ae0928
test: run vaddr e2e and ignored flaky tests (#17322)
mattsse Oct 3, 2026
55b64de
test: delete tests that never run or assert nothing (#17321)
mattsse Oct 3, 2026
60255ee
test(anvil): assert exact Tempo rejection errors (#17324)
mattsse Oct 3, 2026
8eedbb7
ci: run dormant symbolic suites and default-feature tests nightly (#1…
mattsse Oct 4, 2026
b9078b0
fix(script): compute total paid in u128 (#17319)
mattsse Oct 4, 2026
78d546e
fix(anvil): include transactionHash in trace_replayTransaction (#17301)
mattsse Oct 4, 2026
4b414a3
fix(anvil): select trace_get frames by trace address (#17302)
mattsse Oct 4, 2026
ad1e546
fix(anvil): reject code senders in trace_rawTransaction (#17304)
mattsse Oct 4, 2026
1beaf0a
fix(anvil): charge cap-only calls at the base fee (#17311)
mattsse Oct 4, 2026
f8599ef
test(symbolic): snapshot symbolic test output (#17345)
mattsse Oct 4, 2026
f05fb80
test: run ignored cache and fork tests hermetically (#17323)
mattsse Oct 4, 2026
056b7ed
refactor(lint): reuse write_target helper (#17332)
mattsse Oct 4, 2026
743b7e3
refactor(evm): share Tempo precompile label table (#17337)
mattsse Oct 4, 2026
e15c2f1
fix(vscode): update vulnerable brace expansion (#17355)
figtracer Oct 4, 2026
359c956
docs: clarify that JSON cheatcode `key` must be a JSON path starting …
bingtang9 Oct 5, 2026
3eb653a
fix(config): trim whitespace in environment library lists (#17277)
vetclippy Oct 5, 2026
283de94
fix(anvil): reseed Base genesis state on reset (#17320)
mattsse Oct 5, 2026
ee26c73
test(forge): snapshot EVM halt reasons (#17291)
mablr Oct 5, 2026
dc874f0
refactor: dispatch execution networks exhaustively (#17342)
mattsse Oct 5, 2026
ac82762
fix(forge): check gas snapshots once after all suites (#17318)
mattsse Oct 5, 2026
68ce8b2
fix(cast): stop double-encoding decode-tx output (#17317)
mattsse Oct 5, 2026
72cc859
fix(cast): accept unit suffixes in TxParams gas prices (#17316)
mattsse Oct 5, 2026
988523a
fix(evm): reject unknown hardfork namespaces (#17315)
mattsse Oct 5, 2026
c642191
fix(anvil): reject pending in block trace methods (#17309)
mattsse Oct 5, 2026
603d212
fix(anvil): run fee-free calls at zero base and blob base fees (#17310)
mattsse Oct 5, 2026
03c425a
fix(anvil): reject conflicting call fee and input fields (#17307)
mattsse Oct 5, 2026
49749b1
fix(anvil): fill omitted Tempo call nonce from state (#17326)
mattsse Oct 5, 2026
561ab83
refactor: remove dead code from shared and evm crates (#17339)
mattsse Oct 5, 2026
d94028a
refactor(cheatcodes): extract expectCall matching (#17294)
stevencartavia Oct 5, 2026
71e4a1c
fix(anvil): report unknown trace blocks and transactions (#17306)
mattsse Oct 5, 2026
11366d2
refactor(cheatcodes): extract expectEmit matching (#17296)
stevencartavia Oct 5, 2026
b4f4479
fix(anvil): cap omitted call gas by the sender's allowance (#17312)
mattsse Oct 5, 2026
eb119eb
fix(anvil): omit nested precompile calls from mined traces (#17303)
mattsse Oct 5, 2026
5c8c513
test(forge): assert results of filtered test runs (#17330)
mattsse Oct 5, 2026
d3c0e59
fix(tempo): resolve fee tokens on local Tempo nodes (#17327)
mattsse Oct 5, 2026
2e0dc31
refactor(cheatcodes): add read-only CheatsCtxt accessors (#17350)
0xKarl98 Oct 5, 2026
671c707
chore(deps): bump the ci-weekly group with 4 updates (#17371)
dependabot[bot] Oct 5, 2026
637abd3
chore: bump version to 1.8.5 (#17372)
mablr Oct 5, 2026
c7a065e
fix(cast): decouple storage tests from forge (#17369)
mablr Oct 5, 2026
b707369
refactor(evm): gate journal refresh behind Monad (#17370)
mablr Oct 5, 2026
5db38a4
fix(cast): handle HTTP-wrapped RPC errors (#17361)
figtracer Oct 5, 2026
846757f
refactor(verify): reuse fork network resolution (#17362)
figtracer Oct 5, 2026
1e6a69b
fix(evm): keep fork block normalization stable (#17365)
figtracer Oct 5, 2026
575d9e3
ci: stop adding L-ignore to dependency bump PRs (#17374)
figtracer Oct 5, 2026
65516ad
fix(cheatcodes): stabilize unmet call reporting (#17375)
mablr Oct 5, 2026
fa5f646
refactor: normalize byte and integer literals (#17366)
decofe Oct 5, 2026
78d7578
fix(lint): respect access-control return paths (#17379)
mablr Oct 5, 2026
51a52c5
fix(forge): support --fork-state-by-number in test and script (#17352)
figtracer Oct 5, 2026
93e131d
fix(script): reconcile mined saved attempts on resume (#17293)
stevencartavia Oct 5, 2026
10ac6e2
chore(deps): update Cargo.lock (#17381)
decofe Oct 5, 2026
4fc120a
refactor(cheatcodes): encapsulate env overrides (#17377)
mablr Oct 5, 2026
7599a7e
chore(deps): bump solar dependencies to 6627c13 (#17349)
github-actions[bot] Oct 5, 2026
cb6d449
refactor: use zero and enum comparison predicates (#17384)
decofe Oct 5, 2026
e16d19d
test(anvil): use BlockId helpers (#17391)
joshieDo Oct 5, 2026
b6ce5b0
refactor: use BlockId helpers (#17390)
joshieDo Oct 5, 2026
b8853b1
fix(anvil): reject integer trace_get indices (#17308)
mattsse Oct 5, 2026
ac5ff50
fix(anvil): serialize unlocked sender nonces (#17356)
mattsse Oct 5, 2026
0aadf68
refactor: use existing helpers and constructors (#17398)
joshieDo Oct 6, 2026
add79d9
refactor: use TempoSignature::from and into_signed (#17399)
joshieDo Oct 6, 2026
c80b58b
refactor: use From conversions for Bytes, U256 and B256 (#17400)
joshieDo Oct 6, 2026
2fe90a3
refactor: use hex::encode_prefixed, {:x} and Topic::from (#17401)
joshieDo Oct 6, 2026
b3e265f
refactor: use revm aliases and helpers (#17402)
joshieDo Oct 6, 2026
4f54572
refactor: use is_some_and and is_none_or (#17403)
joshieDo Oct 6, 2026
220f1c6
refactor: reuse shared path, JSON and time helpers (#17363)
figtracer Oct 6, 2026
9a95af6
test(symbolic): snapshot conformance and limits output (#17346)
mattsse Oct 6, 2026
8d7e255
test(forge): pin campaign state isolation (#17386)
figtracer Oct 6, 2026
4c722bb
refactor(invariant): share call delay application (#17387)
figtracer Oct 6, 2026
c300238
chore(deps): bump solar dependencies to b3d988b (#17397)
github-actions[bot] Oct 6, 2026
dda32d4
refactor(cheatcodes): extract mockCall matching (#17406)
stevencartavia Oct 6, 2026
481e9a2
refactor(cheatcodes): extract expectEmit end checks (#17407)
stevencartavia Oct 6, 2026
305648d
refactor(cheatcodes): extract expectCreate matching (#17408)
stevencartavia Oct 6, 2026
f5fb603
feat(anvil): add anvil_setNextBlockParentBeaconBlockRoot (#17305)
mattsse Oct 6, 2026
d89e82f
docs(cast): point signature lookup help text at Sourcify (#17364)
mohamadhammoud Oct 6, 2026
e65deda
fix(cast): use --from without unlocking wallet (#17404)
stevencartavia Oct 6, 2026
dd257f2
fix(cheatcodes): snapshot isolated receipt gas (#17353)
0xKarl98 Oct 6, 2026
eb89800
fix(cast): reject mismatched tx in cast run (#17394)
stevencartavia Oct 6, 2026
bd73c0e
fix(anvil): serve head reads from the requested block (#17347)
stevencartavia Oct 6, 2026
4d44b5c
test(cast): update Amsterdam trace snapshot (#17422)
mablr Oct 6, 2026
760fd4e
chore: bump version to 1.8.6 (#17411)
mablr Oct 6, 2026
847baa3
test(evm): fix Moonbeam prevrandao expectation (#17409)
mablr Oct 6, 2026
5c9ca23
refactor(anvil): reuse execution output data (#17412)
mablr Oct 6, 2026
2085308
refactor(evm): use fork option predicates (#17417)
mablr Oct 6, 2026
043f210
refactor(evm): use account code constructors (#17415)
mablr Oct 6, 2026
cb7c31b
refactor(anvil): use original bytecode bytes (#17413)
mablr Oct 6, 2026
ffce316
refactor: use B256 to U256 conversions (#17416)
mablr Oct 6, 2026
692db2f
refactor(anvil): use account code setter (#17414)
mablr Oct 6, 2026
4ce1d8e
fix(forge): fail install on nested soldeer errors (#17382)
stevencartavia Oct 6, 2026
24488b3
test(script): cover fresh checkout handoff (#17385)
stevencartavia Oct 6, 2026
2b4b055
refactor(fork): let backends own fork preparation (#17376)
figtracer Oct 6, 2026
0bfd04d
fix(cheatcodes): don't precommit state on failed raw tx (#17389)
stevencartavia Oct 6, 2026
bd46894
fix(anvil): redact fork URL in anvil_nodeInfo (#17421)
figtracer Oct 6, 2026
eed41b1
fix(forge): make mutation results independent of worker count (#17423)
figtracer Oct 6, 2026
6aa63fb
fix(anvil): reject priced calls below the base fee (#17419)
figtracer Oct 6, 2026
02fe3ae
feat(anvil): support 200ms Base blocks (#17128)
meyer9 Oct 6, 2026
a57bf18
chore(deps): bump solar dependencies to e0e193c (#17434)
github-actions[bot] Oct 7, 2026
315801a
refactor(cheatcodes): extract expectRevert decision (#17427)
stevencartavia Oct 7, 2026
99bc37b
perf(fork): skip cache reload for existing forks (#17418)
figtracer Oct 7, 2026
0174e26
refactor: apply machine-applicable helper lints (#17357)
decofe Oct 7, 2026
fc371de
refactor(script): make gas search engine-free (#17441)
stevencartavia Oct 7, 2026
9a4f840
test(forge): run testdata contracts that pass with isolation (#17442)
stevencartavia Oct 7, 2026
0a1ef78
refactor(cheatcodes): extract prank application (#17437)
stevencartavia Oct 7, 2026
9474846
test(script): update isolated stipend trace snapshot (#17443)
figtracer Oct 7, 2026
651a728
fix(verify): reject ambiguous partial matches (#17445)
mablr Oct 7, 2026
8525bc7
fix(cast): reject curl authorization lists (#17444)
mablr Oct 7, 2026
9989844
fix(anvil): make tx coalescing configurable (#17448)
mablr Oct 7, 2026
9d4ba90
fix(anvil): charge new-account state gas in estimates (#17432)
figtracer Oct 7, 2026
b9b2f0f
fix(symbolic): identify expressions without Debug text (#17447)
figtracer Oct 7, 2026
1821ce3
fix(evm): preserve nested transaction tracing (#17426)
mablr Oct 7, 2026
5017f7e
fix(script): reject foreign or incomplete receipts (#17439)
stevencartavia Oct 7, 2026
0afb289
fix(evm): unwind reverted snapshot journals (#17425)
mablr Oct 7, 2026
198b989
fix(config): don't probe local solc on config load (#17456)
stevencartavia Oct 7, 2026
eabbcef
refactor: reuse verified helper equivalents (#17358)
decofe Oct 7, 2026
e4c0076
fix(config): scope compiler overrides to profiles (#17454)
mablr Oct 7, 2026
13d461b
fix(forge): make mutant paths project-root-relative (#17457)
figtracer Oct 7, 2026
29d1a74
fix(forge): stop mutation workers from nesting mutants (#17464)
figtracer Oct 7, 2026
72f0c18
fix(evm): apply mockFunction under isolation (#17458)
stevencartavia Oct 7, 2026
cc4b136
perf(fuzz): keep only applicable cmp hints (#17459)
figtracer Oct 7, 2026
5834367
fix(forge): report interrupted campaigns as skipped (#17461)
stevencartavia Oct 7, 2026
9f4366f
fix(script): resolve delegated CREATE attempts (#17438)
stevencartavia Oct 8, 2026
6b7deab
test(script): cover Tempo delegated CREATE resolution (#17467)
stevencartavia Oct 8, 2026
c14b7cd
fix(config): honor the selected project root (#17469)
stevencartavia Oct 8, 2026
845d99c
test(cheatcodes): cover mockFunction in executeTransaction (#17465)
stevencartavia Oct 8, 2026
f8d9c58
chore(deps): bump solar dependencies to 3681609 (#17466)
github-actions[bot] Oct 8, 2026
282819d
test: reuse solc versions across fixtures (#17049)
DaniPopes Oct 8, 2026
6ee593f
test(cheatcodes): cover deployCode and CREATE2 exits (#17470)
stevencartavia Oct 8, 2026
1bf246d
fix(cheatcodes): use CREATE2 factory for deployCode (#17471)
stevencartavia Oct 8, 2026
b792a30
test(cheatcodes): cover storage hook halts (#17472)
stevencartavia Oct 8, 2026
42bd9d4
test(cheatcodes): cover failed broadcastRawTransaction (#17473)
stevencartavia Oct 8, 2026
cbe8268
fix(chisel): ignore user run overloads (#17468)
stevencartavia Oct 8, 2026
3c62cc4
test(cheatcodes): run fork snapshots without isolation (#17474)
stevencartavia Oct 8, 2026
a66d0e6
test(cheatcodes): assert snapshot restoration (#17479)
mablr Oct 8, 2026
db9e50a
test(cheatcodes): strengthen storage hook rollback (#17477)
mablr Oct 8, 2026
487a975
test(cheatcodes): cover nested raw tx failures (#17478)
mablr Oct 8, 2026
4f44523
test(cheatcodes): cover deployCode lifecycle (#17480)
mablr Oct 8, 2026
c3a8a24
fix(traces): stop Sourcify lookups that cannot succeed (#17476)
figtracer Oct 8, 2026
829718b
fix(forge): keep run limits under mutation timeout (#17460)
figtracer Oct 8, 2026
c7d7599
fix(cast): match --proxy and immutables in storage (#17383)
awss1i Oct 8, 2026
505dfd1
test(cheatcodes): pin executeTransaction state (#17483)
mablr Oct 8, 2026
0272273
fix(chisel): enable test utils on Windows (#17487)
decofe Oct 8, 2026
88d0fcf
test(cheatcodes): cover snapshot capsule policy (#17482)
mablr Oct 8, 2026
f7ae652
feat(anvil): support CIP-64 with native fees (#17481)
mablr Oct 8, 2026
b177b78
fix(evm): only replace chain context for Monad on fork operations (#1…
Thomas-Smets Oct 8, 2026
d3a2b40
refactor(doc): simplify generation internals (#17489)
mablr Oct 8, 2026
f9eafff
feat(vscode): add Marketplace and Open VSX publishing (#17463)
DaniPopes Oct 8, 2026
e93fce4
test(doc): rationalize regression coverage (#17488)
mablr Oct 8, 2026
c82dbb7
fix(cheatcodes): mark delegate pranks as used (#17491)
stevencartavia Oct 8, 2026
1a686ca
test(doc): fix Windows external library imports (#17494)
decofe Oct 9, 2026
bfed49d
chore(deps): bump solar dependencies to d802713 (#17495)
github-actions[bot] Oct 9, 2026
e2c787b
chore(ci): re-pin dtolnay/rust-toolchain v1 (#17499)
stevencartavia Oct 9, 2026
d27283b
ci: install libudev for default-feature tests (#17502)
stevencartavia Oct 9, 2026
4b44b1f
test(script): pin simulation ignoring execution-only state (#17501)
stevencartavia Oct 9, 2026
a9fbfdb
fix(traces): keep external lookups on the traced chain (#17492)
stevencartavia Oct 9, 2026
71a072d
fix(forge): reset library deployer nonce on forks (#17493)
stevencartavia Oct 9, 2026
2f9b593
test(forge): pin failure classification without isolation (#17496)
stevencartavia Oct 9, 2026
9f9d839
refactor: use concrete types where known (#17504)
mablr Oct 9, 2026
823049a
refactor(evm): organize env modules (#17508)
mablr Oct 9, 2026
046fad9
test(script): cover interrupted pending resolution (#17505)
mablr Oct 9, 2026
87d8ca1
chore(forge): move base-common-consensus to dev-deps (#17510)
stevencartavia Oct 9, 2026
9a26299
test(script): rationalize regression coverage (#17514)
mablr Oct 9, 2026
d806b54
refactor(cheatcodes): move state diff bookkeeping out of the inspecto…
stevencartavia Oct 9, 2026
d8fad99
refactor(script): remove redundant preparation (#17513)
mablr Oct 9, 2026
094356f
refactor(script): simplify durable submissions (#17512)
mablr Oct 9, 2026
801adb0
fix(config): limit absolute remapping aliases (#17507)
mablr Oct 9, 2026
808296c
refactor(script): simplify simulation and estimates (#17511)
mablr Oct 9, 2026
3262473
fix(forge): reject overflowing snapshot values (#17420)
fmterrors Oct 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
[alias]
cheats = "test -p foundry-cheatcodes-spec --features schema tests::"
test-debugger = "test -p forge --test cli manual_debug_setup -- --include-ignored --nocapture"
bless-lints = "test -p forge --test ui -- --bless"

# Increase the stack size to 10MB for Windows targets, which is in line with Linux
# (whereas default for Windows is 1MB).
Expand Down
66 changes: 60 additions & 6 deletions .config/nextest.toml
Original file line number Diff line number Diff line change
@@ -1,18 +1,72 @@
[test-groups]
chisel-serial = { max-threads = 1 }
# The on-chain deploy+verify tests share one funded deployer per network and one Etherscan key.
# Running them concurrently collides on the account nonce and trips Etherscan's 3 calls/sec limit.
deploy-verify = { max-threads = 1 }
# The Tempo canaries fork public endpoints that rate limit concurrent replays.
tempo-canary = { max-threads = 1 }

[profile.default]
retries = { backoff = "exponential", count = 2, delay = "5s", jitter = true }
slow-timeout = { period = "1m", terminate-after = 3 }
slow-timeout = { period = "30s", terminate-after = 3 }
# Exclude flaky tests from regular CI runs - they run in nightly test-flaky workflow.
# Exclude the on-chain deploy+verify tests too - they spend testnet funds and depend on external
# verifier services, so they run in the nightly test-deploy-verify workflow.
default-filter = "not test(/flaky_/) and not test(/deploy_verify_/)"

[[profile.default.overrides]]
filter = "test(/ext_integration|can_test_forge_std/)"
filter = "test(/ext_integration/)"
slow-timeout = { period = "5m", terminate-after = 4 }

# The symbolic conformance and limits suites only do work with SYMBOLIC_CONFORMANCE and
# SYMBOLIC_LIMITS set, as the nightly test-flaky workflow does; the stateful invariant cases there
# take minutes in debug builds.
[[profile.default.overrides]]
filter = "test(/symbolic_conformance::|symbolic_limits::/)"
slow-timeout = { period = "5m", terminate-after = 4 }

# Integration-style CLI tests can exceed the default 90s timeout on slower
# Windows, macOS, and ARM runners while shelling out to forge/solc/git.
[[profile.default.overrides]]
filter = "test(/(^|::)bind_event_module_name_shadowing$/) | test(/(^|::)bind_event_module_prefix_does_not_shadow_aliases$/) | test(/(^|::)can_bind_e2e$/) | test(/(^|::)test_clone_/) | test(/(^|::)can_deploy_and_simulate_25_txes_concurrently$/) | test(/(^|::)can_deploy_25_txes_concurrently_across_full_blocks$/) | test(/(^|::)can_deploy_25_txes_concurrently_with_interval_mining$/) | test(/(^|::)can_deploy_25_txes_concurrently_with_mixed_mining$/) | test(/(^|::)chisel_can_run_with_live_logs_flag$/) | test(/(^|::)session_wrapper_uses_project_config_for_cast_session$/)"
slow-timeout = { period = "5m", terminate-after = 4 }

[[profile.default.overrides]]
filter = "test(/tempo_canary::/)"
test-group = "tempo-canary"

# Do not re-run so that `cargo cheats` is ran locally.
[[profile.default.overrides]]
filter = "package(foundry-cheatcodes-spec)"
retries = 0

[[profile.default.overrides]]
filter = "package(chisel)"
test-group = "chisel-serial"
# Profile for running flaky tests (used by nightly CI and for local debugging)
# Run with: cargo nextest run --profile flaky
[profile.flaky]
default-filter = "test(/flaky_/)"
retries = { backoff = "exponential", count = 5, delay = "10s", jitter = true }
slow-timeout = { period = "60s", terminate-after = 3 }

# The fork smoke tests report an unreachable endpoint by skipping instead of failing, so keep
# their output on success to show which chains a run actually exercised.
[[profile.flaky.overrides]]
filter = "test(/fork_chains::/)"
success-output = "final"

# The network read tests report an unreachable endpoint or an unusable block by skipping instead
# of failing, so keep their output on success to show which networks a run actually exercised.
[[profile.flaky.overrides]]
filter = "test(/read_networks::/)"
success-output = "final"

# Profile for the on-chain deploy+verify tests (used by the nightly test-deploy-verify workflow).
# Requires <NETWORK>_RPC_URL plus TESTNET_DEPLOYER_PRIVATE_KEY to do anything.
# Run with: cargo nextest run --profile deploy-verify
[profile.deploy-verify]
default-filter = "test(/deploy_verify_/)"
retries = 1
# A deploy plus verifier round trip is minutes, not seconds.
slow-timeout = { period = "120s", terminate-after = 5 }

[[profile.deploy-verify.overrides]]
filter = "test(/deploy_verify_/)"
test-group = "deploy-verify"
84 changes: 0 additions & 84 deletions .devcontainer/Dockerfile.dev

This file was deleted.

49 changes: 0 additions & 49 deletions .devcontainer/devcontainer.json

This file was deleted.

8 changes: 6 additions & 2 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
crates/cheatcodes/assets/*.json linguist-generated
testdata/cheats/Vm.sol linguist-generated
testdata/utils/Vm.sol linguist-generated

# See <https://git-scm.com/docs/gitattributes#_defining_a_custom_hunk_header>
*.rs diff=rust
crates/lint/testdata/* text eol=lf
crates/lint/testdata/*.stderr whitespace=-blank-at-eof
testdata/fixtures/**/* eol=lf

dprint.json linguist-language=JSON-with-Comments
.devcontainer/devcontainer.json linguist-language=JSON-with-Comments
.devcontainer/devcontainer.json linguist-language=JSON-with-Comments

.env.example linguist-language=Dotenv
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1 +1 @@
* @danipopes @klkvr @mattsse @grandizzy @yash-atreya @zerosnacks
* @danipopes @mattsse @grandizzy @0xrusowsky @mablr @figtracer @stevencartavia
10 changes: 10 additions & 0 deletions .github/CRATE_CHECKS_FAILURE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: "bug: nightly crate-checks workflow failed"
labels: P-normal, T-bug
---

The nightly crate-checks workflow has failed. Either one or more crates don't compile in isolation (`cargo hack check`), likely a missing dependency or feature flag masked by Cargo's workspace feature unification, or a unit test failed under default features, which regular CI never builds because it always enables `base` and `monad`.

Check the [crate-checks workflow page]({{ env.WORKFLOW_URL }}) for details.

This issue was raised by the workflow at `.github/workflows/crate-checks.yml`.
14 changes: 14 additions & 0 deletions .github/DEPLOY_VERIFY_FAILURE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: "bug: deploy + verify workflow failed"
labels: P-normal, T-bug
---

The nightly on-chain deploy + verify workflow has failed. This exercises `forge create` followed by `forge verify-contract` against Hoodi, Sepolia, Base Sepolia, Arbitrum Sepolia, Monad testnet and Robinhood testnet, using Etherscan, Sourcify and Blockscout.

The most common cause is the shared deployer running out of testnet funds. The deployer is `0x14459e92f32B68125525B5e3cdF3A239618e40D8`, held in the `FUNDED_TESTNET_PKEY` secret, and the workflow logs its balance on every network before running the tests. Monad testnet drains fastest, at roughly 0.08 MON per run. Top it up from a faucet to fix.

Other likely causes are a testnet RPC being down, a verifier service being unavailable, or Etherscan rate limiting.

Check the [deploy + verify workflow page]({{ env.WORKFLOW_URL }}) for details.

This issue was raised by the workflow at `.github/workflows/test-deploy-verify.yml`.
20 changes: 20 additions & 0 deletions .github/DEPLOY_VERIFY_REFUND_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: "chore: refund the testnet deploy+verify deployer"
labels: P-normal, T-chore
---

The shared deployer for the nightly on-chain deploy + verify workflow is running low on at least one network. The tests may still be passing right now; this is raised early so the account can be topped up before they start failing.

Refund `{{ env.DEPLOYER }}` on:

```
{{ env.LOW_NETWORKS }}
```

Each entry is `NETWORK=current(min threshold)`. Thresholds are set at roughly twenty more runs at the measured per-run burn, so there is room to act. Monad testnet drains fastest at about 0.08 MON per run; the L2s are effectively free and should only appear here if something has gone wrong.

The key lives in the `FUNDED_TESTNET_PKEY` secret and holds testnet funds only. Public faucets cover every network involved.

Check the [deploy + verify workflow page]({{ env.WORKFLOW_URL }}) for the full balance report.

This issue was raised by the workflow at `.github/workflows/test-deploy-verify.yml`.
10 changes: 10 additions & 0 deletions .github/FLAKY_TEST_FAILURE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: "bug: flaky tests workflow failed"
labels: P-normal, T-bug
---

The nightly flaky tests workflow has failed. This indicates external API rate limiting, RPC reliability issues, or other intermittent failures that may affect users.

Check the [flaky tests workflow page]({{ env.WORKFLOW_URL }}) for details.

This issue was raised by the workflow at `.github/workflows/test-flaky.yml`.
Loading