Commit b6f27b0
Hardhat project (#378)
* docs(config): complete foundry.toml configuration reference (#13198)
* complete config
* docs: mark optional fields in config README
* use foundry book for full config
* docs(config): point to Foundry Book for configuration reference
* feat(invariant): add optimization mode for invariant testing (#13196)
* feat(invariant): add optimization mode for invariant testing
Adds optimization mode for invariant testing, similar to Echidna. This mode
maximizes an `int256` return value from a function prefixed with `optimize_`.
**Usage:**
- Define an invariant function returning `int256` with `optimize_` prefix
- Foundry will fuzz to find the sequence that maximizes this value
- The best value and sequence are tracked and reported
- Sequence shrinking is applied to find the minimal reproducing sequence
**Example:**
```solidity
function optimize_maxRoundingError() external view returns (int256) {
return int256(pool.totalShares()) - int256(pool.expectedShares());
}
```
**Bug fix during implementation:**
Fixed a bug in shrink logic where `vm.warp` and `vm.roll` values were not
correctly accumulated when replaying shrunk sequences. This caused the "best"
sequence to be non-reproducible because time/block values depended on removed
calls. The fix:
- Keeps reverted calls in sequence during optimization to preserve warp/roll
- Accumulates warps/rolls from removed calls into kept calls during shrinking
- Updates inspector's cheatcodes.block alongside executor.env
Closes #12190
Amp-Thread-ID: https://ampcode.com/threads/T-019bea21-149c-728c-9556-850778b70ea3
Co-authored-by: Amp <amp@ampcode.com>
* refactor: isolate optimization shrinking logic from check mode
- Keep shrink_sequence and check_sequence unchanged for regular invariant checks
- Add shrink_sequence_value and check_sequence_value for optimization mode
- Optimization mode handles warp/roll accumulation from removed calls
- replay.rs dispatches to correct shrinking function based on target_value
* refactor: cleanup shrink optimization code, extract helpers
---------
Co-authored-by: Amp <amp@ampcode.com>
* fix: only classify setUp as test setup if it has no parameters (#13204)
Contracts with `setUp(bytes memory)` (common in Gnosis Safe/Zodiac modules)
were incorrectly classified as dev/test contracts and excluded from
`forge build --sizes` output.
Now `setUp` is only classified as a test `Setup` function when it has no
parameters, matching Forge's actual test setup behavior.
Fixes #11126
* chore: fix clippy lints (#13207)
* feat(cast): add --flatten flag to cast interface (#13201)
* feat(cast): add --all-in-one flag to cast interface
Adds a new `--all-in-one` flag to `cast interface` that inlines
inherited/library struct types directly into the generated interface.
This addresses the issue where `cast interface` generates a separate
`library` block for struct types that originate from inherited interfaces,
making the generated interface less usable for some workflows.
With `--all-in-one`, all types are consolidated into a single interface:
```solidity
// Before (default):
library IBase {
struct TestStruct { address asset; }
}
interface Contract {
function test(IBase.TestStruct memory) external;
}
// After (with --all-in-one):
interface Contract {
struct TestStruct { address asset; }
function test(TestStruct memory) external;
}
```
Uses alloy-json-abi's `ToSolConfig::one_contract(true)` option
introduced in alloy-core 0.8.24.
Closes #9960
* chore: cargo fmt
* refactor: rename --all-in-one to --flatten per review
* chore: fix rustfmt
* Update flake.lock (#13212)
flake.lock: Update
Flake lock file updates:
• Updated input 'fenix':
'github:nix-community/fenix/edd5602' (2026-01-17)
→ 'github:nix-community/fenix/93523fa' (2026-01-24)
• Updated input 'fenix/rust-analyzer-src':
'github:rust-lang/rust-analyzer/adbff8b' (2026-01-15)
→ 'github:rust-lang/rust-analyzer/39018ac' (2026-01-23)
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/be5afa0' (2026-01-16)
→ 'github:NixOS/nixpkgs/ab9fbbc' (2026-01-24)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* chore(deps): weekly `cargo update` (#13213)
Updating git repository `https://github.com/rust-cli/rexpect`
Updating git repository `https://github.com/paradigmxyz/solar`
Skipping git submodule `https://github.com/argotorg/solidity.git` due to update strategy in .gitmodules
Updating git repository `https://github.com/tempoxyz/tempo`
Updating git repository `https://github.com/paradigmxyz/reth`
Locking 62 packages to latest compatible versions
Updating alloy-chains v0.2.29 -> v0.2.30
Updating alloy-consensus v1.4.3 -> v1.5.2
Updating alloy-consensus-any v1.4.3 -> v1.5.2
Updating alloy-contract v1.4.3 -> v1.5.2
Updating alloy-eip5792 v1.4.3 -> v1.5.2
Updating alloy-eip7928 v0.3.0 -> v0.3.2
Updating alloy-eips v1.4.3 -> v1.5.2
Updating alloy-ens v1.4.3 -> v1.5.2
Unchanged alloy-evm v0.26.3 (available: v0.27.0)
Updating alloy-genesis v1.4.3 -> v1.5.2
Updating alloy-json-rpc v1.4.3 -> v1.5.2
Updating alloy-network v1.4.3 -> v1.5.2
Updating alloy-network-primitives v1.4.3 -> v1.5.2
Unchanged alloy-op-evm v0.26.3 (available: v0.27.0)
Updating alloy-provider v1.4.3 -> v1.5.2
Updating alloy-pubsub v1.4.3 -> v1.5.2
Updating alloy-rpc-client v1.4.3 -> v1.5.2
Updating alloy-rpc-types v1.4.3 -> v1.5.2
Updating alloy-rpc-types-anvil v1.4.3 -> v1.5.2
Updating alloy-rpc-types-any v1.4.3 -> v1.5.2
Updating alloy-rpc-types-beacon v1.4.3 -> v1.5.2
Updating alloy-rpc-types-debug v1.4.3 -> v1.5.2
Updating alloy-rpc-types-engine v1.4.3 -> v1.5.2
Updating alloy-rpc-types-eth v1.4.3 -> v1.5.2
Updating alloy-rpc-types-trace v1.4.3 -> v1.5.2
Updating alloy-rpc-types-txpool v1.4.3 -> v1.5.2
Updating alloy-serde v1.4.3 -> v1.5.2
Updating alloy-signer v1.4.3 -> v1.5.2
Updating alloy-signer-aws v1.4.3 -> v1.5.2
Updating alloy-signer-gcp v1.4.3 -> v1.5.2
Updating alloy-signer-ledger v1.4.3 -> v1.5.2
Updating alloy-signer-local v1.4.3 -> v1.5.2
Updating alloy-signer-trezor v1.4.3 -> v1.5.2
Updating alloy-signer-turnkey v1.4.3 -> v1.5.2
Updating alloy-transport v1.4.3 -> v1.5.2
Updating alloy-transport-http v1.4.3 -> v1.5.2
Updating alloy-transport-ipc v1.4.3 -> v1.5.2
Updating alloy-transport-ws v1.4.3 -> v1.5.2
Updating alloy-tx-macros v1.4.3 -> v1.5.2
Updating aws-lc-rs v1.15.3 -> v1.15.4
Updating aws-lc-sys v0.36.0 -> v0.37.0
Updating cc v1.2.53 -> v1.2.54
Updating clearscreen v4.0.2 -> v4.0.3
Unchanged generic-array v0.14.7 (available: v0.14.9)
Unchanged icu_collections v2.0.0 (available: v2.1.1)
Unchanged icu_normalizer v2.0.1 (available: v2.1.1)
Unchanged icu_normalizer_data v2.0.0 (available: v2.1.1)
Unchanged icu_properties v2.0.2 (available: v2.1.2)
Unchanged icu_properties_data v2.0.1 (available: v2.1.2)
Unchanged idna_adapter v1.1.0 (available: v1.2.1)
Updating libm v0.2.15 -> v0.2.16
Unchanged matchit v0.8.4 (available: v0.8.6)
Removing nix v0.29.0
Updating num-conv v0.1.0 -> v0.2.0
Updating opener v0.8.3 -> v0.8.4
Updating openssl-probe v0.2.0 -> v0.2.1
Updating proc-macro2 v1.0.105 -> v1.0.106
Updating process-wrap v8.2.1 -> v9.0.1
Updating quote v1.0.43 -> v1.0.44
Unchanged rand v0.8.5 (available: v0.9.2)
Unchanged reqwest v0.12.28 (available: v0.13.1)
Updating socket2 v0.6.1 -> v0.6.2
Updating time v0.3.45 -> v0.3.46
Updating time-core v0.1.7 -> v0.1.8
Updating time-macros v0.2.25 -> v0.2.26
Updating uuid v1.19.0 -> v1.20.0
Updating watchexec-signals v5.0.0 -> v5.0.1
Updating watchexec-supervisor v5.0.1 -> v5.0.2
Updating web_atoms v0.2.1 -> v0.2.3
Updating windows v0.61.3 -> v0.62.2
Updating windows-collections v0.2.0 -> v0.3.2
Removing windows-core v0.61.2
Updating windows-future v0.2.1 -> v0.3.2
Removing windows-link v0.1.3
Updating windows-numerics v0.2.0 -> v0.3.1
Removing windows-result v0.3.4
Removing windows-strings v0.4.2
Updating windows-threading v0.1.0 -> v0.2.1
Updating zmij v1.0.15 -> v1.0.16
note: to see how you depend on a package, run `cargo tree --invert <dep>@<ver>`
Co-authored-by: mattsse <19890894+mattsse@users.noreply.github.com>
* chore(anvil): clean up remaining dead code after Odyssey sunset (#13211)
* fix(coverage): correct BRDA hit values for LCOV consistency (#13151)
* fix(coverage): correct BRDA hit values for LCOV consistency
Per the LCOV tracefile format specification, BRDA hit values should be:
- "-" when the expression was never evaluated (line not executed)
- "0" when the branch exists and was evaluated but never taken
- "N" when the branch was taken N times
Previously, we were outputting "-" for all branches with 0 hits,
which caused genhtml to fail with "inconsistent" errors when a line
was hit (DA shows hits > 0) but branches on that line showed "-".
This fix tracks line hits in a first pass, then uses that information
to determine whether to output "-" (line never hit) or "0" (line hit
but branch not taken) for branches with 0 hits.
Fixes foundry-rs/foundry#11548
* fix: clippy explicit_iter_loop warning
* test(coverage): add brda_lcov_consistency test for BRDA hit values
Verifies that BRDA outputs follow LCOV spec:
- "0" when line was executed but branch not taken
- "-" when line was never executed
This catches the inconsistency that caused genhtml to fail.
---------
Co-authored-by: zerosnacks <95942363+zerosnacks@users.noreply.github.com>
Co-authored-by: zerosnacks <zerosnacks@protonmail.com>
* feat(forge): add browser wallet support for `forge script` (#12952)
* feat(script): add support for browser wallet
* fix: browser wallet opts defaults
* chore: bump foundry-browser-wallet v0.1.0
* ci: use shared cache mounts for parallel builds (#13231)
perf(docker): use shared cache mounts for parallel builds
Change cache mount sharing mode from `locked` to `shared` for cargo
registry, git, and sccache directories.
With `sharing=locked`, parallel builds must wait for exclusive access
to each cache, causing builds to queue up even when compilation itself
is fast.
Both cargo and sccache handle concurrent access correctly, so `shared`
is safe and allows parallel builds to proceed without blocking.
Amp-Thread-ID: https://ampcode.com/threads/T-019bfc1d-3cee-70ca-9caa-01e33acdff46
Co-authored-by: Amp <amp@ampcode.com>
* fix(anvil): preserve withdrawals in SerializableBlock for state dump/load (#13227)
* fix(anvil): preserve withdrawals in SerializableBlock for state dump/load
* add: test
* fix ci
* chore(deps): bump DeterminateSystems/determinate-nix-action from 3.15.1 to 3.15.2 (#13236)
chore(deps): bump DeterminateSystems/determinate-nix-action
Bumps [DeterminateSystems/determinate-nix-action](https://github.com/determinatesystems/determinate-nix-action) from 3.15.1 to 3.15.2.
- [Release notes](https://github.com/determinatesystems/determinate-nix-action/releases)
- [Commits](https://github.com/determinatesystems/determinate-nix-action/compare/1d699fc25db3f9e079cd2f168ca007a4183389be...89ab342bd48ff7318caf8d39d6a330c7b1df8f2f)
---
updated-dependencies:
- dependency-name: DeterminateSystems/determinate-nix-action
dependency-version: 3.15.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump taiki-e/install-action from 2.66.2 to 2.67.13 (#13235)
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action) from 2.66.2 to 2.67.13.
- [Release notes](https://github.com/taiki-e/install-action/releases)
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/taiki-e/install-action/compare/v2.66.2...710817a1645ef40daad5bcde7431ceccf6cc3528)
---
updated-dependencies:
- dependency-name: taiki-e/install-action
dependency-version: 2.67.13
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 (#13234)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 8.0.0 to 8.1.0.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/98357b18bf14b5342f975ff684046ec3b2a07725...c0f553fe549906ede9cf27b5156039d195d2ece0)
---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
dependency-version: 8.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump crate-ci/typos from 1.42.1 to 1.42.2 (#13233)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.42.1 to 1.42.2.
- [Release notes](https://github.com/crate-ci/typos/releases)
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crate-ci/typos/compare/65120634e79d8374d1aa2f27e54baa0c364fff5a...a1d64977b4aa1709d6328d518aa753f4899352d8)
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.42.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: grandizzy <38490174+grandizzy@users.noreply.github.com>
* fix(docker): expose VERGEN_GIT_SHA to build environment (#13237)
* docs(coverage): link to stack-too-deep guide in warnings (#13240)
Update coverage warnings to point to the new Foundry Book guide
instead of the GitHub issue, providing users with actionable
techniques to resolve the error.
Amp-Thread-ID: https://ampcode.com/threads/T-019bff7a-8502-72b7-af76-794f258e8c67
Co-authored-by: Amp <amp@ampcode.com>
* Polkadot/Kusama/PolkadotTestnet for RPC gas estimation (#12537)
* adds polkadot testnet
* adds polkadot testnet
* bump alloy chains
* fmt
* Remove kluster
* update rpc url
* update rpc url
* fmt
* adds polkadot kusama
* bump alloy chains
* perf(anvil): avoid redundant block queries in ots_getBlockTransactions (#13243)
* fix(anvil): use consistent chain_id fallback for blob params (#13241)
* Revert "Delete .circleci/ci_deploy.yml (#322)" (#358)
This reverts commit 87dd517cf50fef686c8ef39431d06b16d4744d88.
* feat(primitives): introduce `NetworkWallet<FoundryNetwork>` impl for `EthereumWallet` (#13248)
- Seamless support for eth/op/tempo txs
- This aims to replace `WalletSigner`'s impl once `FoundryNetwork` will be used everywhere
* refactor(common): make `ProviderBuilder` generic over `Network` (#13250)
* refactor(common): make `ProviderBuilder` generic over `Network`
- Updated `ProviderBuilder` helper to be generic, which will facilate `FoundryNetwork` rollout
- Adjusted the instantiation of `ProviderBuilder` in various locations to use `AnyNetwork`.
- Enhanced the `build` and `build_with_wallet` methods to accommodate the new generic structure.
* fix: relax trait bound on `N::TransactionRequest`
* fix: comment
* fix: comment
* fix(anvil): return error instead of empty vec for out-of-range log queries (#13251)
* fix(config): respect user-configured etherscan URL over chain defaults (#13239)
fix(config): Respect user-configured etherscan URL over chain defaults (#13238)
* fix(config): respect user-configured etherscan URL over chain defaults
* test(config): add tests for custom etherscan URL handling
Co-authored-by: Yuya Maruyama <69783679+YuyaMaruyama21D4E@users.noreply.github.com>
* fix(primitives): track both 4844/7594 sidecars presence in `FoundryTransactionRequest::build_typed_tx` (#13218)
* fix(primitives): track both 4844/7594 sidecars presence in `FoundryTransactionRequest::build_typed_tx`
* fix: after `TransactionBuilder4844` impl
* feat(common): introduce generic `ProviderBuilder::from_config` method (#13268)
- keep the existing helpers that erase generic to avoid breaking change
* fix(cast): remove redundant chain() call in explorer_client (#13272)
Co-authored-by: tefyosL-sol <gasgoblinn@gmail.com>
* fix(verify): respect user-configured etherscan URL over chain defaults (#13275)
Co-authored-by: tefyosL-sol <gasgoblinn@gmail.com>
* Update flake.lock (#13279)
flake.lock: Update
Flake lock file updates:
• Updated input 'fenix':
'github:nix-community/fenix/93523fa' (2026-01-24)
→ 'github:nix-community/fenix/b2344f3' (2026-01-31)
• Updated input 'fenix/rust-analyzer-src':
'github:rust-lang/rust-analyzer/39018ac' (2026-01-23)
→ 'github:rust-lang/rust-analyzer/eb05888' (2026-01-30)
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/ab9fbbc' (2026-01-24)
→ 'github:NixOS/nixpkgs/6308c3b' (2026-01-30)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* fix(invariant): remove unused cloned calldata (#12893)
* fix(invariant): prune calldata to bound memory usage in long runs
* style: fix formatting in invariant executor
* chore: remove vyper files from testdata to fix CI
* chore: trigger ci update
* fix(invariant): remove unused FuzzCase.calldata field to prevent OOM
The calldata field in FuzzCase was stored but never read after construction.
Removing it entirely eliminates memory accumulation during long invariant runs.
Changes:
- Remove FuzzCase.calldata field (unused after construction)
- Remove prune_calldata() methods (no longer needed)
- Restore vyper test files that were incorrectly deleted
Fixes #12397
Amp-Thread-ID: https://ampcode.com/threads/T-019c17c9-d969-7370-bf0d-495e473e8e30
Co-authored-by: Amp <amp@ampcode.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019c17c9-d969-7370-bf0d-495e473e8e30
Co-authored-by: Amp <amp@ampcode.com>
---------
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
Co-authored-by: Amp <amp@ampcode.com>
* feat(debugger): display actual gas usage alongside refund counter (#13271)
* feat(debugger): display actual gas usage alongside refund counter
* fix(forge-test): fix flamegraph gas inaccuracy issues
* reverse `--decode-internal` not default with `--flamechart`
* make gas unsigned as `inferno` doesn't support anyway
* replace revm-inspectors patch
* fix clippy
* update tests
* update tests
* fmt
* fix(config): handle decimal string in U256 deserialization (#13284)
* fix: adjust numerical cells in gas report to be right aligned (#12883)
* Adjust Cells to be Right Aligned in Gas Report
* fix test and fmt
---------
Co-authored-by: zerosnacks <95942363+zerosnacks@users.noreply.github.com>
* chore(deps): weekly `cargo update` (#13280)
Updating git repository `https://github.com/rust-cli/rexpect`
Updating git repository `https://github.com/paradigmxyz/solar`
Skipping git submodule `https://github.com/argotorg/solidity.git` due to update strategy in .gitmodules
Updating git repository `https://github.com/tempoxyz/tempo`
Updating git repository `https://github.com/paradigmxyz/reth`
Locking 35 packages to latest compatible versions
Updating alloy-dyn-abi v1.5.2 -> v1.5.4
Unchanged alloy-evm v0.26.3 (available: v0.27.0)
Updating alloy-json-abi v1.5.2 -> v1.5.4
Unchanged alloy-op-evm v0.26.3 (available: v0.27.0)
Updating alloy-primitives v1.5.2 -> v1.5.4
Updating alloy-sol-macro v1.5.2 -> v1.5.4
Updating alloy-sol-macro-expander v1.5.2 -> v1.5.4
Updating alloy-sol-macro-input v1.5.2 -> v1.5.4
Updating alloy-sol-type-parser v1.5.2 -> v1.5.4
Updating alloy-sol-types v1.5.2 -> v1.5.4
Updating annotate-snippets v0.12.10 -> v0.12.11
Updating aws-smithy-async v1.2.7 -> v1.2.10
Updating aws-smithy-http-client v1.1.5 -> v1.1.8
Updating aws-smithy-observability v0.2.0 -> v0.2.3
Updating aws-smithy-query v0.60.9 -> v0.60.12
Updating aws-smithy-runtime-api v1.10.0 -> v1.11.2
Updating aws-smithy-types v1.3.6 -> v1.4.2
Updating bytemuck v1.24.0 -> v1.25.0
Updating cc v1.2.54 -> v1.2.55
Updating clap v4.5.54 -> v4.5.56
Updating clap_builder v4.5.54 -> v4.5.56
Updating clap_derive v4.5.49 -> v4.5.55
Updating cliclack v0.3.7 -> v0.3.8
Updating find-msvc-tools v0.1.8 -> v0.1.9
Unchanged generic-array v0.14.7 (available: v0.14.9)
Updating iana-time-zone v0.1.64 -> v0.1.65
Unchanged icu_collections v2.0.0 (available: v2.1.1)
Unchanged icu_normalizer v2.0.1 (available: v2.1.1)
Unchanged icu_normalizer_data v2.0.0 (available: v2.1.1)
Unchanged icu_properties v2.0.2 (available: v2.1.2)
Unchanged icu_properties_data v2.0.1 (available: v2.1.2)
Unchanged idna_adapter v1.1.0 (available: v1.2.1)
Updating keccak-asm v0.1.4 -> v0.1.5
Unchanged matchit v0.8.4 (available: v0.8.6)
Updating notify-types v2.0.0 -> v2.1.0
Updating portable-atomic v1.13.0 -> v1.13.1
Updating portable-atomic-util v0.2.4 -> v0.2.5
Unchanged rand v0.8.5 (available: v0.9.2)
Unchanged reqwest v0.12.28 (available: v0.13.1)
Updating revm-inspectors v0.34.0 -> v0.34.2
Updating sha3-asm v0.1.4 -> v0.1.5
Updating siphasher v1.0.1 -> v1.0.2
Updating slab v0.4.11 -> v0.4.12
Updating syn-solidity v1.5.2 -> v1.5.4
Removing tiny-keccak v2.0.2
Updating zerocopy v0.8.33 -> v0.8.37
Updating zerocopy-derive v0.8.33 -> v0.8.37
Updating zmij v1.0.16 -> v1.0.18
note: to see how you depend on a package, run `cargo tree --invert <dep>@<ver>`
Co-authored-by: mattsse <19890894+mattsse@users.noreply.github.com>
Co-authored-by: DaniPopes <57450786+DaniPopes@users.noreply.github.com>
* chore: update RPC URLs from ithaca.xyz to reth.rs (#13261)
* chore: update RPC URLs from ithaca.xyz to reth.rs
Co-authored-by: Tim Beiko <tim@ethereum.org>
Amp-Thread-ID: https://ampcode.com/threads/T-019c0a51-3f0a-76eb-ba4a-bfb6a697d9ba
Co-authored-by: Amp <amp@ampcode.com>
* fix
* fmt
* Update rpc.rs
* Update rpc.rs
* test: update test
---------
Co-authored-by: Tim Beiko <tim@ethereum.org>
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: DaniPopes <57450786+DaniPopes@users.noreply.github.com>
Co-authored-by: zerosnacks <95942363+zerosnacks@users.noreply.github.com>
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me>
Co-authored-by: onbjerg <onbjerg@users.noreply.github.com>
* ci(bench): use depot runner for benchmarks (#13288)
* feat(cli): cli markdown docs (#13291)
* feat: add foundry-cli-markdown crate
Add a new crate for generating Markdown documentation from clap CLIs.
This is a fork of clap-markdown with the following enhancements:
- Support for grouped options by help heading (PR #48)
- Show environment variable names for arguments (PR #50)
- Add version information to generated Markdown (PR #52)
* feat(cli): add hidden --markdown-help flag
Add a hidden --markdown-help flag to forge, cast, anvil, and chisel
that prints CLI reference documentation as Markdown and exits.
This uses the new foundry-cli-markdown crate to generate the output.
* chore(deps): bump docker/login-action from 3.6.0 to 3.7.0 (#13298)
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.6.0 to 3.7.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/5e57cd118135c172c3672efd75eb46360885c0ef...c94ce9fb468520275223c153574b00df6fe4bcc9)
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-version: 3.7.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump taiki-e/install-action from 2.67.13 to 2.67.18 (#13297)
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action) from 2.67.13 to 2.67.18.
- [Release notes](https://github.com/taiki-e/install-action/releases)
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/taiki-e/install-action/compare/710817a1645ef40daad5bcde7431ceccf6cc3528...650c5ca14212efbbf3e580844b04bdccf68dac31)
---
updated-dependencies:
- dependency-name: taiki-e/install-action
dependency-version: 2.67.18
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump DeterminateSystems/update-flake-lock from 727cc5b0b19bc265bd5ef28fc66bccb284473b5d to 5adeaaaf36f64df54f62adb34aa5fbfdb0109d34 (#13299)
chore(deps): bump DeterminateSystems/update-flake-lock
Bumps [DeterminateSystems/update-flake-lock](https://github.com/determinatesystems/update-flake-lock) from 727cc5b0b19bc265bd5ef28fc66bccb284473b5d to 5adeaaaf36f64df54f62adb34aa5fbfdb0109d34.
- [Release notes](https://github.com/determinatesystems/update-flake-lock/releases)
- [Commits](https://github.com/determinatesystems/update-flake-lock/compare/727cc5b0b19bc265bd5ef28fc66bccb284473b5d...5adeaaaf36f64df54f62adb34aa5fbfdb0109d34)
---
updated-dependencies:
- dependency-name: DeterminateSystems/update-flake-lock
dependency-version: 5adeaaaf36f64df54f62adb34aa5fbfdb0109d34
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump mikepenz/release-changelog-builder-action from 6.0.1 to 6.1.0 (#13300)
chore(deps): bump mikepenz/release-changelog-builder-action
Bumps [mikepenz/release-changelog-builder-action](https://github.com/mikepenz/release-changelog-builder-action) from 6.0.1 to 6.1.0.
- [Release notes](https://github.com/mikepenz/release-changelog-builder-action/releases)
- [Commits](https://github.com/mikepenz/release-changelog-builder-action/compare/439f79b5b5428107c7688c1d2b0e8bacc9b8792c...6faf020194b7c8853f9e55c4fd92e40b02122a04)
---
updated-dependencies:
- dependency-name: mikepenz/release-changelog-builder-action
dependency-version: 6.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: fix typos CI (#13303)
- Add consts to typos ignore list (valid Rust std::env::consts)
- Fix LintCotext -> LintContext typos in linter docs
* chore(deps): bump crate-ci/typos from 1.42.2 to 1.43.0 (#13296)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.42.2 to 1.43.0.
- [Release notes](https://github.com/crate-ci/typos/releases)
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crate-ci/typos/compare/a1d64977b4aa1709d6328d518aa753f4899352d8...93cbdb2d23269548cf0db0f74d0bc6a09a3f0d5c)
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.43.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* sec: bump to `bytes` `^1.11.1` for `RUSTSEC-2026-0007` (#13306)
bump to 1.11.1 for patch: https://rustsec.org/advisories/RUSTSEC-2026-0007
* chore(anvil,cast): remove unnecessary `populate_blob_hashes()` (#13308)
Both `set_blob_sidecar`/`set_blob_sidecar_7594` implement a call to `populate_blob_hashes()`
* feat(forge): generate random fuzz seed if none provided (#13309)
* feat(forge): generate random fuzz seed if none provided
Generate a random seed for fuzz/invariant tests when no seed is
explicitly configured. This ensures reproducibility by always having
a seed available that can be passed via --fuzz-seed to reproduce
test runs.
* feat(forge): print fuzz seed on fuzz failure (#13310)
* feat(forge): print fuzz seed on test failure
When a fuzz or invariant test fails, print the seed used so users
can reproduce the failure with --fuzz-seed.
* test: update snapshots for fuzz seed output
Add [SEED] redaction pattern to match 'Fuzz seed: 0x...' output.
Update all test snapshots that have fuzz/invariant failures to include
the new seed line.
* fix: use [SEED] placeholder in issue_3055 test snapshot
Amp-Thread-ID: https://ampcode.com/threads/T-019c26cb-9d21-74f9-9e49-7ea59885e827
Co-authored-by: Amp <amp@ampcode.com>
---------
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
Co-authored-by: Amp <amp@ampcode.com>
---------
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
Co-authored-by: Amp <amp@ampcode.com>
* feat(anvil): cache block timestamp in mined receipts (#13311)
* fix: use shared `display_chain` helper in CLI error handler (#13314)
* Update handler.rs
* Update handler.rs
* Add --enable-tx-gas-limit CLI flag for EIP-7825 support (#13307)
add --enable-tx-gas-limit
* fix(anvil): use consistent chain_id fallback in fork setup (#13276)
Co-authored-by: tefyosL-sol <gasgoblinn@gmail.com>
* fix(test-utils): skip build artifacts when copying to temp workspace (#13266)
* feat(lint): add common uppercase abbreviations to mixedCase exceptions (#13305)
Co-authored-by: onbjerg <onbjerg@users.noreply.github.com>
* fix(fmt): correct indentation for closing brace in empty contracts with comments (#13319)
Co-authored-by: onbjerg <onbjerg@users.noreply.github.com>
* feat(anvil): add `trace_replayBlockTransactions` endpoint for block txs tracing (#13098)
Co-authored-by: onbjerg <onbjerg@users.noreply.github.com>
* fix(eip712): write diagnostics to stderr instead of stdout (#13293)
Co-authored-by: onbjerg <onbjerg@users.noreply.github.com>
* foundryup: tempo now distributes all binaries (#13337)
Amp-Thread-ID: https://ampcode.com/threads/T-019c2ea2-963a-744a-8b1d-57709bc295be
Co-authored-by: Amp <amp@ampcode.com>
* fix(config): handle vyper section with skip_serializing_if fields (#13318)
* fix(config): handle vyper section with skip_serializing_if fields
The vyper config section uses skip_serializing_if = Option::is_none on all
fields, causing the default serialization to produce an empty dict. This led to
all vyper keys being flagged as unknown.
Add explicit VYPER_KEYS constant and special-case the vyper section in
collect_standalone_section_warnings to use these known keys instead of
deriving them from the (empty) default serialization.
Fixes #13316
* test(config): add regression tests for vyper config warnings
Tests for #13316:
- no_false_warnings_for_vyper_config_keys: valid vyper keys in standalone section
- no_false_warnings_for_nested_vyper_config_keys: valid vyper keys in profile
- warns_on_unknown_vyper_keys: unknown vyper keys should still warn
Amp-Thread-ID: https://ampcode.com/threads/T-019c28b9-9c8c-76bf-96a5-ff5a504c0507
Co-authored-by: Amp <amp@ampcode.com>
* fix build issues
* fix(config): handle nested vyper section with skip_serializing_if fields
The VyperConfig struct uses skip_serializing_if on all Option fields,
causing the default serialization to produce an empty dict. This caused
false warnings for valid vyper keys like optimize, path, and
experimental_codegen when used in profile nested sections like
[profile.default.vyper].
Uses the existing VYPER_KEYS constant for nested vyper sections,
matching how standalone [vyper] sections are already handled.
Fixes #13316
Co-authored-by: Amp <amp@ampcode.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019c297e-a282-7188-8f79-5080d3e451a9
---------
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: zerosnacks <zerosnacks@protonmail.com>
Co-authored-by: zerosnacks <95942363+zerosnacks@users.noreply.github.com>
* fix: broken config test, currently blocking CI (#13340)
fix broken config
* skip checksum hash in create2 mining when case-insensitive (#13331)
* kip checksum hash in create2 mining
* fix the clippy
* fix: avoid setting FOUNDRY_PROFILE: ci in template workflows, profile does not exist (#13339)
avoid encoding FOUNDRY_PROFILE: ci, profile does not exist
* perf(evm): wrap Executor.backend in Arc for copy-on-write cloning (#13327)
* perf(evm): wrap Executor.backend in Arc for copy-on-write cloning
During parallel fuzzing, each worker clones the Executor. Previously this
deep-cloned the entire Backend (CacheDB, JournaledState, state snapshots),
which could be 10-50MB per clone with 16 workers = 160-800MB wasted memory.
This change wraps Backend in Arc<Backend> and uses Arc::make_mut() for
copy-on-write semantics. When workers only read state, they share the same
backend. When a worker mutates, it gets its own copy.
Expected impact:
- ~80% memory reduction for parallel fuzz runs
- Faster executor clone (pointer copy instead of deep clone)
- No behavioral change: mutations still get isolated copies
Amp-Thread-ID: https://ampcode.com/threads/T-019c2af1-f00b-723a-a3c3-25cbd6f3e92b
Co-authored-by: Amp <amp@ampcode.com>
* test: update config test expectations for new mixed_case_exceptions
Fix test expectations after 1bd687f0d added new values (ID, URL, API,
JSON, XML, HTML, HTTP, HTTPS) to lint.mixed_case_exceptions defaults.
Amp-Thread-ID: https://ampcode.com/threads/T-019c2af1-f00b-723a-a3c3-25cbd6f3e92b
Co-authored-by: Amp <amp@ampcode.com>
* Update config.rs
* Update config.rs
* fix: restore "URI" in config test JSON expectations
Amp-Thread-ID: https://ampcode.com/threads/T-019c2f68-f9df-76bc-ba4c-94fbe1789c9c
Co-authored-by: Amp <amp@ampcode.com>
---------
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: zerosnacks <95942363+zerosnacks@users.noreply.github.com>
Co-authored-by: zerosnacks <zerosnacks@protonmail.com>
* chore(ci): update time crate (#13348)
* test(cast): ignore flaky_run_celo_with_precompiles (Celo RPC no longer supports debug_traceTransaction) (#13347)
* fix(test-utils): create destination directory in copy_dir_filtered (#13350)
* chore(wallets): Remove `NetworkWallet<FoundryNetwork>` impl for `WalletSigner` (#13343)
- superseeded by `EthereumWallet`'s one, which is integrated in `TransactionBuilder` flow
* fix(anvil): return error when querying future block number in with_database_at (#13267)
* return error when querying future block number
* fix test
---------
Co-authored-by: onbjerg <onbjerg@users.noreply.github.com>
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
* chore: remove stale `tiny-keccak` references (#13358)
* chore: remove stale tiny-keccak profile override
* chore: remove stale tiny-keccak deny exception
* chore(script): typo (#13353)
* perf(cheatcodes): loop invariant code motion by hand (#13357)
* chore(anvil): remove unnecessary clone operations (#13330)
* perf(linking): replace double hash mpa lookup contains_key + [] with single get (#13361)
* fix(verify): correct Sourcify API URL construction for custom chains (#13360)
Update verify.rs
* chore(common): remove dead `with_spinner_reporter` function (#13366)
* resolve absolute and relative paths on Windows (#13364)
* fix: unittest failed (#13371)
* perf(anvil): reuse storage root from prove_storage instead of recompu… (#13363)
perf(anvil): reuse storage root from prove_storage instead of recomputing
* chore(deps): weekly `cargo update` (#13384)
Updating git repository `https://github.com/rust-cli/rexpect`
Updating git repository `https://github.com/paradigmxyz/solar`
Skipping git submodule `https://github.com/argotorg/solidity.git` due to update strategy in .gitmodules
Updating git repository `https://github.com/tempoxyz/tempo`
Updating git repository `https://github.com/paradigmxyz/reth`
Locking 94 packages to latest compatible versions
Updating alloy-consensus v1.5.2 -> v1.6.1
Updating alloy-consensus-any v1.5.2 -> v1.6.1
Updating alloy-contract v1.5.2 -> v1.6.1
Updating alloy-eip5792 v1.5.2 -> v1.6.1
Updating alloy-eips v1.5.2 -> v1.6.1
Updating alloy-ens v1.5.2 -> v1.6.1
Updating alloy-evm v0.26.3 -> v0.26.4 (available: v0.27.2)
Updating alloy-genesis v1.5.2 -> v1.6.1
Updating alloy-json-rpc v1.5.2 -> v1.6.1
Updating alloy-network v1.5.2 -> v1.6.1
Updating alloy-network-primitives v1.5.2 -> v1.6.1
Updating alloy-op-evm v0.26.3 -> v0.26.4 (available: v0.27.2)
Updating alloy-provider v1.5.2 -> v1.6.1
Updating alloy-pubsub v1.5.2 -> v1.6.1
Updating alloy-rlp v0.3.12 -> v0.3.13
Updating alloy-rlp-derive v0.3.12 -> v0.3.13
Updating alloy-rpc-client v1.5.2 -> v1.6.1
Updating alloy-rpc-types v1.5.2 -> v1.6.1
Updating alloy-rpc-types-anvil v1.5.2 -> v1.6.1
Updating alloy-rpc-types-any v1.5.2 -> v1.6.1
Updating alloy-rpc-types-beacon v1.5.2 -> v1.6.1
Updating alloy-rpc-types-debug v1.5.2 -> v1.6.1
Updating alloy-rpc-types-engine v1.5.2 -> v1.6.1
Updating alloy-rpc-types-eth v1.5.2 -> v1.6.1
Updating alloy-rpc-types-trace v1.5.2 -> v1.6.1
Updating alloy-rpc-types-txpool v1.5.2 -> v1.6.1
Updating alloy-serde v1.5.2 -> v1.6.1
Updating alloy-signer v1.5.2 -> v1.6.1
Updating alloy-signer-aws v1.5.2 -> v1.6.1
Updating alloy-signer-gcp v1.5.2 -> v1.6.1
Updating alloy-signer-ledger v1.5.2 -> v1.6.1
Updating alloy-signer-local v1.5.2 -> v1.6.1
Updating alloy-signer-trezor v1.5.2 -> v1.6.1
Updating alloy-signer-turnkey v1.5.2 -> v1.6.1
Updating alloy-transport v1.5.2 -> v1.6.1
Updating alloy-transport-http v1.5.2 -> v1.6.1
Updating alloy-transport-ipc v1.5.2 -> v1.6.1
Updating alloy-transport-ws v1.5.2 -> v1.6.1
Updating alloy-trie v0.9.3 -> v0.9.4
Updating alloy-tx-macros v1.5.2 -> v1.6.1
Updating anyhow v1.0.100 -> v1.0.101
Updating async-compression v0.4.37 -> v0.4.39
Updating aws-config v1.8.12 -> v1.8.13
Updating aws-runtime v1.5.18 -> v1.6.0
Updating aws-sdk-kms v1.98.0 -> v1.99.0
Updating aws-sdk-sso v1.92.0 -> v1.93.0
Updating aws-sdk-ssooidc v1.94.0 -> v1.95.0
Updating aws-sdk-sts v1.96.0 -> v1.97.0
Updating aws-sigv4 v1.3.7 -> v1.3.8
Updating aws-smithy-async v1.2.10 -> v1.2.11
Updating aws-smithy-http v0.62.6 -> v0.63.3
Updating aws-smithy-http-client v1.1.8 -> v1.1.9
Updating aws-smithy-json v0.61.9 -> v0.62.3
Updating aws-smithy-observability v0.2.3 -> v0.2.4
Updating aws-smithy-query v0.60.12 -> v0.60.13
Updating aws-smithy-runtime v1.9.8 -> v1.10.0
Updating aws-smithy-runtime-api v1.11.2 -> v1.11.3
Updating aws-smithy-types v1.4.2 -> v1.4.3
Updating clap v4.5.56 -> v4.5.57
Updating clap_builder v4.5.56 -> v4.5.57
Updating flate2 v1.1.8 -> v1.1.9
Unchanged generic-array v0.14.7 (available: v0.14.9)
Updating hyper-util v0.1.19 -> v0.1.20
Unchanged icu_collections v2.0.0 (available: v2.1.1)
Unchanged icu_normalizer v2.0.1 (available: v2.1.1)
Unchanged icu_normalizer_data v2.0.0 (available: v2.1.1)
Unchanged icu_properties v2.0.2 (available: v2.1.2)
Unchanged icu_properties_data v2.0.1 (available: v2.1.2)
Unchanged idna_adapter v1.1.0 (available: v1.2.1)
Updating interprocess v2.2.3 -> v2.3.1
Updating jiff v0.2.18 -> v0.2.19
Updating jiff-static v0.2.18 -> v0.2.19
Unchanged matchit v0.8.4 (available: v0.8.6)
Updating memchr v2.7.6 -> v2.8.0
Updating nybbles v0.4.7 -> v0.4.8
Updating pest v2.8.5 -> v2.8.6
Updating pest_derive v2.8.5 -> v2.8.6
Updating pest_generator v2.8.5 -> v2.8.6
Updating pest_meta v2.8.5 -> v2.8.6
Updating proptest v1.9.0 -> v1.10.0
Unchanged rand v0.8.5 (available: v0.9.2)
Updating rapidhash v4.2.1 -> v4.2.2
Updating regex v1.12.2 -> v1.12.3
Updating regex-automata v0.4.13 -> v0.4.14
Updating regex-lite v0.1.8 -> v0.1.9
Updating regex-syntax v0.8.8 -> v0.8.9
Unchanged reqwest v0.12.28 (available: v0.13.2)
Updating schemars v1.2.0 -> v1.2.1
Updating schemars_derive v1.2.0 -> v1.2.1
Updating sval v2.16.0 -> v2.17.0
Updating sval_buffer v2.16.0 -> v2.17.0
Updating sval_dynamic v2.16.0 -> v2.17.0
Updating sval_fmt v2.16.0 -> v2.17.0
Updating sval_json v2.16.0 -> v2.17.0
Updating sval_nested v2.16.0 -> v2.17.0
Updating sval_ref v2.16.0 -> v2.17.0
Updating sval_serde v2.16.0 -> v2.17.0
Updating system-configuration v0.6.1 -> v0.7.0
Updating webbrowser v1.0.6 -> v1.1.0
Updating webpki-roots v1.0.5 -> v1.0.6
Updating zerocopy v0.8.37 -> v0.8.39
Updating zerocopy-derive v0.8.37 -> v0.8.39
Updating zlib-rs v0.5.5 -> v0.6.0
Updating zmij v1.0.18 -> v1.0.19
note: to see how you depend on a package, run `cargo tree --invert <dep>@<ver>`
Co-authored-by: mattsse <19890894+mattsse@users.noreply.github.com>
* Update flake.lock (#13383)
flake.lock: Update
Flake lock file updates:
• Updated input 'fenix':
'github:nix-community/fenix/b2344f3' (2026-01-31)
→ 'github:nix-community/fenix/e1b28f6' (2026-02-07)
• Updated input 'fenix/rust-analyzer-src':
'github:rust-lang/rust-analyzer/eb05888' (2026-01-30)
→ 'github:rust-lang/rust-analyzer/d2a00da' (2026-02-05)
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/6308c3b' (2026-01-30)
→ 'github:NixOS/nixpkgs/ae67888' (2026-02-06)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* perf(verify): reuse transaction from earlier RPC call instead of fetching twice (#13391)
* perf(verify): reuse transaction from earlier RPC call instead of fetching twice
* fix ci
* fix(cast): --json support for erc20 cmds (#12727)
* refactor(anvil): using is_ok since it's more robust (#13377)
* fix: may div by zero (#13369)
* refactor(primitives): turn `FoundryTransactionRequest` into an enum (#13278)
- Combines Eth's, Op's, and Tempo's transaction requests to inherit Op/Tempo tx building
* perf: avoid checksum (#13374)
* docs: slim readme (#13393)
* fix: correct trace message in dynamic linking preprocessor (#13394)
* perf(invariant): avoid cloning state changeset in fuzz runs (#13398)
Co-authored-by: grandizzy <38490174+grandizzy@users.noreply.github.com>
* chore(deps): bump depot/build-push-action from 1.16.2 to 1.17.0 (#13405)
Bumps [depot/build-push-action](https://github.com/depot/build-push-action) from 1.16.2 to 1.17.0.
- [Release notes](https://github.com/depot/build-push-action/releases)
- [Commits](https://github.com/depot/build-push-action/compare/9785b135c3c76c33db102e45be96a25ab55cd507...5f3b3c2e5a00f0093de47f657aeaefcedff27d18)
---
updated-dependencies:
- dependency-name: depot/build-push-action
dependency-version: 1.17.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump taiki-e/install-action from 2.67.18 to 2.67.27 (#13406)
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action) from 2.67.18 to 2.67.27.
- [Release notes](https://github.com/taiki-e/install-action/releases)
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/taiki-e/install-action/compare/650c5ca14212efbbf3e580844b04bdccf68dac31...1e67dedb5e3c590e1c9d9272ace46ef689da250d)
---
updated-dependencies:
- dependency-name: taiki-e/install-action
dependency-version: 2.67.27
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump crate-ci/typos from 1.43.0 to 1.43.4 (#13407)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.43.0 to 1.43.4.
- [Release notes](https://github.com/crate-ci/typos/releases)
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crate-ci/typos/compare/93cbdb2d23269548cf0db0f74d0bc6a09a3f0d5c...78bc6fb2c0d734235d57a2d6b9de923cc325ebdd)
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.43.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* ci: use dedicated template for isolate flaky test failures (#13409)
* chore(deps): bump depot/setup-action from 1.6.0 to 1.7.1 (#13408)
* fix(primitives): `FoundryTransactionRequest` conversion w/ tempo variant (#13401)
- Fix `TempoTransactionRequest` variant, as inner req was always set to default.
- Added unit tests to assess `FoundryTransactionRequest` proper variant routing
* return error instead of empty array when filter not found (#13415)
* chore(config): remove unused enum accessor methods (#13414)
* fix(cast): clean up temp dir in `cast storage` when etherscan cache is unavailable (#13418)
* perf(primitives): avoid cloning receipts (#13396)
* fix: constructor params and args check (#13375)
* fix: correct path format in get_paths doc comment (#13388)
* ci: replace merge_group with push on master (#13419)
* ci(release): pin action-gh-release to v2.4.2 (#13420)
v2.5.0 introduced a draft→finalize flow that races in matrix jobs,
causing 'Too many retries' failures in the Create release step.
See: https://github.com/softprops/action-gh-release/issues/704
Amp-Thread-ID: https://ampcode.com/threads/T-019c4c6d-c55a-752a-8b27-25413f485bed
Co-authored-by: Amp <amp@ampcode.com>
* fix(anvil): handle disk cache write failures in state eviction (#13332)
* feat(forge,chisel): realtime `console.log` (#13321)
* fix(cast): remove duplicate receipt handling in Tempo transactions (#13378)
* perf(traces): deduplicate addresses before external fetching (#13320)
* fix: prevent panic on etherscan client creation failure in test command (#13395)
* perf(config): skip redundant remapping detection in _with_root (#13389)
* fix(common): remove trailing space in `state_root` match pattern (#13426)
* chore(config): `curl` mode as config key (#13260)
Co-authored-by: onbjerg <onbjerg@users.noreply.github.com>
* fix(config): normalize deny_warnings from env vars (#13434)
* fix: correct dead condition in command error formatting (#13427)
* add missing JSON output support for `erc20 decimals` (#13438)
* fix(anvil): variable shadowing bug in ReadyTransactions::remove_with_markers (#13436)
Update transactions.rs
* Update flake.lock (#13448)
* chore(deps): weekly `cargo update` (#13449)
* feat(evm): `ForkDatabase`/`MultiFork` generic over `Network` (#13459)
* feat(evm): `ForkDatabase`/`MultiFork` generic over `Network`
bump `foundry-fork-db`
* fix: typo
* fix(cheatcodes): fix vm.expectRevert for direct precompile calls (#13460)
Precompile calls don't create an interpreter frame, so
`initialize_interp` never fires and `max_depth` never gets bumped
beyond the cheatcode call depth. This causes the depth check in
`handle_expect_revert` to fail with "call didn't revert at a lower
depth than cheatcode call depth".
Track `max_depth` in the `call` hook as well, accounting for the
callee depth (`curr_depth + 1`).
Amp-Thread-ID: https://ampcode.com/threads/T-019c63a2-2c36-7334-ab55-2931a174b59c
Co-authored-by: Amp <amp@ampcode.com>
* fix(lint): remove unreachable macro arm in declare_forge_lint (#13452)
* chore(flake): use nightly rustfmt (#13441)
* chore(flake): use nightly rustfmt
* chore(flake): update flake
* feat: add `executeTransaction` cheatcode (#13437)
feat: add executeTransaction cheatcode
Port the executeTransaction cheatcode from
tempoxyz/tempo-foundry. Executes RLP-encoded
signed transactions in an isolated EVM context
with full semantics (like --isolate mode).
OP deposit and Tempo AA transactions return
errors for now (marked with TODOs).
* fix(forge): don't reset snapshot diff result on missing file (#13442)
* fix(traces): check HTTP status before JSON parsing in Sourcify fetcher (#13446)
* Update external.rs
* chore: fmt
* test: rm useless tests
---------
Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me>
* feat(cheatcodes): add Ed25519 crypto cheatcodes (#13450)
* feat(cheatcodes): add Ed25519 crypto cheatcodes
Add four new cheatcodes for Ed25519 cryptography:
- createEd25519Key(bytes32 salt) - deterministic key generation
- publicKeyEd25519(bytes32 privateKey) - derive public key
- signEd25519(namespace, message, privateKey) - sign with domain separation
- verifyEd25519(signature, namespace, message, publicKey) - verify signatures
Uses ed25519-consensus crate. Includes comprehensive unit tests for
determinism, namespace separation, edge cases, and invalid inputs.
Co-authored-by: Amp <amp@ampcode.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019c5f04-a6ed-7015-9b4d-4464a35bc26c
* chore: solidity test
* test: fix assertions
---------
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me>
* feat(lint): add missing visit methods to EarlyLintVisitor (#13454)
Update early.rs
* notify subscribers for txs promoted after block mining (#13464)
* notify subscribers for txs promoted after block mining
* refactor: extract notify_ready helper to deduplicate notification logic
Amp-Thread-ID: https://ampcode.com/threads/T-019c6840-d225-723a-bf92-46e4e29c7ad1
Co-authored-by: Amp <amp@ampcode.com>
---------
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
Co-authored-by: Amp <amp@ampcode.com>
* chore(deps): bump taiki-e/install-action from 2.67.27 to 2.68.0 (#13465)
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action) from 2.67.27 to 2.68.0.
- [Release notes](https://github.com/taiki-e/install-action/releases)
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/taiki-e/install-action/compare/1e67dedb5e3c590e1c9d9272ace46ef689da250d...f8d25fb8a2df08dcd3cead89780d572767b8655f)
---
updated-dependencies:
- dependency-name: taiki-e/install-action
dependency-version: 2.68.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump taiki-e/cache-cargo-install-action from 3.0.1 to 3.0.2 (#13466)
Bumps [taiki-e/cache-cargo-install-action](https://github.com/taiki-e/cache-cargo-install-action) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/taiki-e/cache-cargo-install-action/releases)
- [Changelog](https://github.com/taiki-e/cache-cargo-install-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/taiki-e/cache-cargo-install-action/compare/34ce5120836e5f9f1508d8713d7fdea0e8facd6f...2bfc3cedaf2ee5e7fa5d0ae034ccd5fb50cf8e1f)
---
updated-dependencies:
- dependency-name: taiki-e/cache-cargo-install-action
dependency-version: 3.0.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump crate-ci/typos from 1.43.4 to 1.43.5 (#13467)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.43.4 to 1.43.5.
- [Release notes](https://github.com/crate-ci/typos/releases)
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crate-ci/typos/compare/78bc6fb2c0d734235d57a2d6b9de923cc325ebdd...57b11c6b7e54c402ccd9cda953f1072ec4f78e33)
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.43.5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump DeterminateSystems/update-flake-lock from 5adeaaaf36f64df54f62adb34aa5fbfdb0109d34 to a135ea602656a8348c5c34887131dd9f7a28bd8c (#13468)
chore(deps): bump DeterminateSystems/update-flake-lock
Bumps [DeterminateSystems/update-flake-lock](https://github.com/determinatesystems/update-flake-lock) from 5adeaaaf36f64df54f62adb34aa5fbfdb0109d34 to a135ea602656a8348c5c34887131dd9f7a28bd8c.
- [Release notes](https://github.com/determinatesystems/update-flake-lock/releases)
- [Commits](https://github.com/determinatesystems/update-flake-lock/compare/5adeaaaf36f64df54f62adb34aa5fbfdb0109d34...a135ea602656a8348c5c34887131dd9f7a28bd8c)
---
updated-dependencies:
- dependency-name: DeterminateSystems/update-flake-lock
dependency-version: a135ea602656a8348c5c34887131dd9f7a28bd8c
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump softprops/action-gh-release from 2.4.2 to 2.5.0 (#13469)
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.4.2 to 2.5.0.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/5be0e66d93ac7ed76da52eca8bb058f665c3a5fe...a06a81a03ee405af7f2048a818ed3f03bbf83c7b)
---
updated-dependencies:
- dependency-name: softprops/action-gh-release
dependency-version: 2.5.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test: mark clone CLI tests as flaky (#13472)
These tests hit real Etherscan/Sourcify APIs and fail intermittently due to rate limiting and network issues. They will now run in the nightly flaky test workflow with retries instead of blocking every PR.
Amp-Thread-ID: https://ampcode.com/threads/T-019c6840-d225-723a-bf92-46e4e29c7ad1
Co-authored-by: Amp <amp@ampcode.com>
* fix: bind TempDir guard in clone test to prevent premature cleanup (#13471)
Amp-Thread-ID: https://ampcode.com/threads/T-019c6840-d225-723a-bf92-46e4e29c7ad1
Co-authored-by: Amp <amp@ampcode.com>
* prevent balance overflow in anvil_addBalance (#13457)
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
* chore(tests): bump forge-std version (#13482)
* move `sccache --show-stats` into build RUN to show actual stats (#13483)
* fix(anvil): correct blob_gas_used_ratio calculation in fee history (#13491)
Update fees.rs
* fix(cheatcodes): make vm.executeTransaction work in isolation mode (#13475)
* fix(test): exclude ExecuteTransactionTest from isolation mode
vm.executeTransaction already performs its own isolated execution (fresh
EVM, cloned state, state merging). When isolation mode is enabled, the
inspector's transact_inner intercepts CALLs at depth==1 inside the
cheatcode's inner EVM, causing double-isolation that results in
'transaction reverted: 0x'.
Amp-Thread-ID: https://ampcode.com/threads/T-019c6ad3-d3f0-70d3-8d78-38ccd8444e9e
Co-authored-by: Amp <amp@ampcode.com>
* fix(cheatcodes): make vm.executeTransaction work in isolation mode
Two bugs prevented vm.executeTransaction from working with --isolate:
1. Double isolation: executeTransaction creates its own inner EVM at
depth=1, but the isolation inspector also intercepts CALLs at depth=1,
causing a nested transact_inner. Fix: add set_in_inner_context() to
CheatcodesExecutor trait and set it before/after the inner EVM run,
matching how transact_inner already handles this.
2. Corrupted cfg env: executeTransaction modified env.cfg (disabled nonce
checks, set initcode size limit) but never restored it. Subsequent
isolated calls then failed nonce validation (NonceTooHigh). Fix:
restore env.cfg from the cached copy alongside env.tx and basefee.
Amp-Thread-ID: https://ampcode.com/threads/T-019c6ad3-d3f0-70d3-8d78-38ccd8444e9e
Co-authored-by: Amp <amp@ampcode.com>
---------
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: zerosnacks <95942363+zerosnacks@users.noreply.github.com>
* test-utils: remove unused `IS_TTY` helper (#13492)
Update util.rs
* chore: update LATEST_SOLC to 0.8.34 (#13489)
Amp-Thread-ID: https://ampcode.com/threads/T-019c7441-de53-7338-86cb-6d84f755016a
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: zerosnacks <95942363+zerosnacks@users.noreply.github.com>
* feat(anvil): add --max-transactions CLI flag (#13495)
* remove unimplemented anvil_enableTraces endpoint (#13499)
* feat(fmt): pretty printing for generic block/transaction responses (#13497)
feat(fmt): pretty printing for generic block/transaction reponses
* Refactor `locked_read_to_string` to reuse `locked_read (#13494)
Update fs.rs
Co-authored-by: zerosnacks <95942363+zerosnacks@users.noreply.github.com>
* refactor(script-sequence): extract duplicated filter logic (#13500)
* chore(broadcast): cleanup avg gas price calculation (#13509)
* chore(deps): weekly `cargo update` (#13513)
Co-authored-by: mattsse <19890894+mattsse@users.noreply.github.com>
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
* feat(common): generic `TransactionReceiptWithRevertReason` + pprinting (#13503)
* refactor: Use `fs::write_pretty_json_file` in `MultiChainSequence::save` (#13510)
* Update flake.lock (#13511)
flake.lock: Update
Flake lock file updates:
• Updated input 'fenix':
'github:nix-community/fenix/d0555da' (2026-02-14)
→ 'github:nix-community/fenix/6d86ae5' (2026-02-21)
• Updated input 'fenix/rust-analyzer-src':
'github:rust-lang/rust-analyzer/bbc84d3' (2026-02-13)
→ 'github:rust-lang/rust-analyzer/46a214b' (2026-02-20)
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/2343bbb' (2026-02-11)
→ 'github:NixOS/nixpkgs/d1c15b7' (2026-02-16)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* fix(sol-macro-gen): correct identifier check in write_mod_name (#13508)
* chore(deps): bump DeterminateSystems/update-flake-lock from a135ea602656a8348c5c34887131dd9f7a28bd8c to 5909792a83875ddb5dd4b18734534a98a74a709c (#13524)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump taiki-e/install-action from 2.68.0 to 2.68.8 (#13523)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump DeterminateSystems/determinate-nix-action from 3.15.2 to 3.16.1 (#13522)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(anvil): prevent panic in `utc_from_secs` for out-of-range timestamps (#13520)
* ci(release): revert action-gh-release to v2.4.2 (#13527)
* ci: ignore softprops/action-gh-release in dependabot (#13528)
* chore(deps): bump DeterminateSystems/determinate-nix-action from 3.16.1 to 3.16.3 (#13529)
chore(deps): bump DeterminateSystems/determinate-nix-action
Bumps [DeterminateSystems/determinate-nix-action](https://github.com/determinatesystems/determinate-nix-action) from 3.16.1 to 3.16.3.
- [Release notes](https://github.com/determinatesystems/determinate-nix-action/releases)
- [Commits](https://github.com/determinatesystems/determinate-nix-action/compare/681d8e8bfdb5d7af56f113ba2425b1fb00ec9edc...73327eb48f028efaaf5013656ba216ca3cdeca7b)
---
updated-dependencies:
- dependency-name: DeterminateSystems/determinate-nix-action
dependency-version: 3.16.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(primitives): add `FoundryTransactionBuilder` trait (#13512)
Co-authored-by: figtracer <1gusredo@gmail.com>
* fix(wallets): use turnkey_unsupported() instead of hardcoded error (#13535)
* chore(deps): bump taiki-e/install-action from 2.68.8 to 2.68.9 (#13534)
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action) from 2.68.8 to 2.68.9.
- [Release notes](https://github.com/taiki-e/install-action/releases)
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/taiki-e/install-action/compare/cfdb446e391c69574ebc316dfb7d7849ec12b940...7f491e26f71f4ec2e6902c7c95c73043f209ab79)
---
updated-dependencies:
- dependency-name: taiki-e/install-action
dependency-version: 2.68.9
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(anvil): preserve original error in update_url (#13531)
Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me>
* fix: swap incorrect doc comments for archive RPC URL functions in rpc. (#13480)
* Allow verifier-url for unknown Etherscan chains (#13079)
Co-authored-by: Mayank Sharma <82099885+codersharma2001@users.noreply.github.com>
Co-authored-by: DaniPopes <57450786+DaniPopes@users.noreply.github.com>
Co-authored-by: onbjerg <onbjerg@users.noreply.github.com>
* fix: remove unused `no_storage_caching()` method from `NodeConfig` (#13487)
* fix: remove code duplication in `get_runtime_codes` (#13502)
* forge: avoid repeated selector decoding in find command (#13516)
* fix(cli): Git::is_repo_root always returns false (#13505)
* fix(verify): remove unused functions from `VerificationContext` (#13481)
Co-authored-by: onbjerg <onbjerg@users.noreply.github.com>
* add missing doc section keys to config validation (#13447)
* fix(anvil): use EIP-2718 encoding for OP enveloped_tx (#13537)
* fix: correct flag name in error message from --compiler-version to --… (#13539)
* chore(ci): unblock ci, fix clippy lint (#13543)
* add lint-fix
* fix: resolve nightly clippy warnings
- collapsible_match: collapse plain if into match guards, allow for if-let
- iter_kv_map: use .values()/.keys() instead of .iter().flat_map(|(_, v)| v)
- useless_conversion: remove unnecessary .into_iter()
Amp-Thread-ID: https://ampcode.com/threads/T-019c9930-51be-760a-b2c7-9a029f851fee
Co-authored-by: Amp <amp@ampcode.com>
* fix: add missing match arm for Occupied entry in remappings
Amp-Thread-ID: https://ampcode.com/threads/T-019c99a5-39f3-72be-ad16-e7d041662ea9
Co-authored-by: Amp <amp@ampcode.com>
* fix: revert incorrect .values() call on Vec in runner
Amp-Thread-ID: https://ampcode.com/threads/T-019c99a5-39f3-72be-ad16-e7d041662ea9
Co-authored-by: Amp <amp@ampcode.com>
* fix: resolve irrefutable let pattern warning in MultiForkHandler
Amp-Thread-ID: https://ampcode.com/threads/T-019c99a5-39f3-72be-ad16-e7d041662ea9
Co-authored-by: Amp <amp@ampcode.com>
---------
Co-authored-by: Derek Cofausper <256792747+decofe@users.noreply.github.com>
Co-authored-by: Amp <amp@ampcode.com>
* refactor(wallets): browser wallet generic `Network` (#13550)
* fix(anvil): use individual tx gas instead of cumulative in fee history (#13552)
* fix(anvil): clear tx pool on anvil_reset (#13544)
* add EIP-3860 initcode size check in txpool validation (#13473)
* fix: clarify Anvil storage caching builder naming (#13546)
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me>
* refactor(evm): remove dead BackendError::Other variant (#13553)
* fix(script): actually skip Vyper contract verification (#13484)
Co-authored-by: onbjerg <onbjerg@users.noreply.github.com>
* feat(doc): Adding new 'Constants' section for constants and immutables (#13116)
Co-authored-by: onbjerg <onbjerg@users.noreply.github.com>
Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me>
* fix(evm): avoid wrong CowBackend initialization in load_allocs and clone_account (#13554)
Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
* chore: use `fs::write_pretty_json_file` in `ScriptSequence::save` (#13562)
* fix(forge): apply --access-list in forge create (#13557)
Co-authored-by: onbjerg <onbjerg@users.noreply.github.com>
* Update flake.lock (#13564)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: onbjerg <onbjerg@users.noreply.github.com>
* chore(deps): weekly `cargo update` (#13565)
Co-authored-by: mattsse <19890894+mattsse@users.noreply.github.com>
* fix(cast): correct max_int boundary check for uint255 (#13568)
* fix(fmt): correct total_difficulty attribute name (#13578)
* chore(evm): use `AnyRpcTransaction` in `configure_tx_env`/`commit_transaction` (#13572)
* feat(evm): add `AsEnvMut::set_env` (#13573)
* fix(fmt): don't inline while/for/if blocks with multiple statements (#13566)
* refactor(cheatcodes,evm): use ContextTr read accessors for env fields (#13582)
Co-authored-by: Amp <amp@ampcode.com>
* chore(evm): simplify `CowBackend` init logic by using `Option<SpecId>` (#13584)
* feat(anvil): add EIP-2935 blockhash histo…1 parent cc693d3 commit b6f27b0
File tree
342 files changed
+18034
-9889
lines changed- .circleci
- .github
- workflows
- benches
- crates
- anvil
- core/src/eth
- transaction
- server/src
- src
- eth
- backend
- mem
- otterscan
- pool
- test-data
- tests/it
- cast
- src
- cmd
- wallet
- tests
- cli
- fixtures
- cheatcodes
- assets
- spec/src
- src
- evm
- inspector
- test
- chisel
- src
- tests/it/repl
- cli-markdown
- src
- cli
- src
- opts
- utils
- common
- fmt
- src
- src
- comments
- preprocessor
- provider
- config
- src
- providers
- debugger/src
- tui
- doc/src
- writer
- evm
- core/src
- backend
- fork
- evm
- src
- executors
- fuzz
- invariant
- inspectors
- fuzz/src
- invariant
- strategies
- traces
- src
- decoder
- identifier
- fmt
- src/state
- testdata
- CommentEmptyLine
- ImportDirective
- Repros
- StructFieldAccess
- WhileStatement
- tests
- forge
- assets
- solidity
- tempo
- vyper
- src
- cmd
- test
- tests
- cli
- lint
- test_cmd
- invariant
- fixtures
- linking/src
- lint
- src
- linter
- sol
- gas
- high
- info
- testdata
- primitives
- src
- network
- transaction
- script-sequence/src
- script/src
- sol-macro-gen/src
- test-utils
- src
- verify/src
- etherscan
- wallets
- src
- wallet_browser
- app/assets
- wallet_multi
- foundryup
- testdata
- default/cheats
- utils
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
342 files changed
+18034
-9889
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 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 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
| 32 | + | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| |||
137 | 137 | | |
138 | 138 | | |
139 | 139 | | |
140 | | - | |
| 140 | + | |
141 | 141 | | |
142 | 142 | | |
143 | 143 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
| 7 | + | |
6 | 8 | | |
7 | | - | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
| |||
58 | 59 | | |
59 | 60 | | |
60 | 61 | | |
61 | | - | |
| 62 | + | |
62 | 63 | | |
63 | 64 | | |
64 | 65 | | |
| |||
84 | 85 | | |
85 | 86 | | |
86 | 87 | | |
87 | | - | |
| 88 | + | |
88 | 89 | | |
89 | 90 | | |
90 | 91 | | |
| |||
104 | 105 | | |
105 | 106 | | |
106 | 107 | | |
107 | | - | |
| 108 | + | |
108 | 109 | | |
109 | 110 | | |
110 | 111 | | |
| |||
140 | 141 | | |
141 | 142 | | |
142 | 143 | | |
143 | | - | |
| 144 | + | |
144 | 145 | | |
145 | 146 | | |
146 | 147 | | |
147 | 148 | | |
148 | 149 | | |
149 | 150 | | |
150 | 151 | | |
151 | | - | |
| 152 | + | |
152 | 153 | | |
153 | 154 | | |
154 | 155 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | | - | |
| 47 | + | |
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| |||
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
68 | 72 | | |
69 | 73 | | |
70 | | - | |
| 74 | + | |
71 | 75 | | |
72 | 76 | | |
73 | | - | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
74 | 83 | | |
75 | 84 | | |
76 | | - | |
| 85 | + | |
77 | 86 | | |
78 | 87 | | |
79 | 88 | | |
| |||
83 | 92 | | |
84 | 93 | | |
85 | 94 | | |
86 | | - | |
| 95 | + | |
87 | 96 | | |
88 | 97 | | |
89 | | - | |
| 98 | + | |
90 | 99 | | |
91 | 100 | | |
92 | 101 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
| 32 | + | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| |||
0 commit comments