-
Notifications
You must be signed in to change notification settings - Fork 29
chore: sync with upstream foundry (foundry-rs/foundry) #258
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+1,027
−465
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Update handler.rs * Update handler.rs
add --enable-tx-gas-limit
Co-authored-by: tefyosL-sol <gasgoblinn@gmail.com>
…s (#13305) Co-authored-by: onbjerg <onbjerg@users.noreply.github.com>
…th comments (#13319) Co-authored-by: onbjerg <onbjerg@users.noreply.github.com>
…xs tracing (#13098) Co-authored-by: onbjerg <onbjerg@users.noreply.github.com>
Co-authored-by: onbjerg <onbjerg@users.noreply.github.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019c2ea2-963a-744a-8b1d-57709bc295be Co-authored-by: Amp <amp@ampcode.com>
…3318) * 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
* kip checksum hash in create2 mining * fix the clippy
… does not exist (#13339) avoid encoding FOUNDRY_PROFILE: ci, profile does not exist
…3327) * 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 1bd687f 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>
…r supports debug_traceTransaction) (#13347)
…etSigner` (#13343) - superseeded by `EthereumWallet`'s one, which is integrated in `TransactionBuilder` flow
…tabase_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 profile override * chore: remove stale tiny-keccak deny exception
…single get (#13361)
…(#13360) Update verify.rs
…… (#13363) perf(anvil): reuse storage root from prove_storage instead of recomputing
Co-authored-by: grandizzy <38490174+grandizzy@users.noreply.github.com>
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](depot/build-push-action@9785b13...5f3b3c2) --- 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>
…406) 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](taiki-e/install-action@650c5ca...1e67ded) --- 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>
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](crate-ci/typos@93cbdb2...78bc6fb) --- 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>
…ream-foundry Amp-Thread-ID: https://ampcode.com/threads/T-019c474f-6c39-751e-a3d1-24b335ebc389 Co-authored-by: Amp <amp@ampcode.com> # Conflicts: # .github/workflows/docker-publish.yml # .github/workflows/test-flaky.yml # .github/workflows/test-isolate.yml # flake.lock
- Add missing tempo-alloy dep to crates/primitives/Cargo.toml - Wrap backend in Arc::new() in executor new() - Add HashSet import in anvil mem backend - Fix env.tx.base -> env.tx.inner for chain_id access - Use TempoBlockEnv wrapper for block_env in trace replay Amp-Thread-ID: https://ampcode.com/threads/T-019c474f-6c39-751e-a3d1-24b335ebc389 Co-authored-by: Amp <amp@ampcode.com>
- FoundryTxReceipt::with_timestamp was missing feePayer in other fields, causing deserialization failures when TempoTransactionReceipt tried to parse receipts from anvil - Remove useless .into() conversion in cast send (clippy) Amp-Thread-ID: https://ampcode.com/threads/T-019c474f-6c39-751e-a3d1-24b335ebc389 Co-authored-by: Amp <amp@ampcode.com>
- Add FoundryTxType::Tempo to the match arm that fills max_fee_per_gas and max_priority_fee_per_gas in anvil's build_tx_request, fixing 'missing keys' errors for unlocked account / ethsign transactions - Fix rustfmt: inline feePayer insert in receipt with_timestamp Amp-Thread-ID: https://ampcode.com/threads/T-019c474f-6c39-751e-a3d1-24b335ebc389 Co-authored-by: Amp <amp@ampcode.com>
- mktx_ethsign: relax snapshot to match any Tempo tx (0x76 prefix) since gas fields are now auto-filled with different values - adheres_to_json_flag: contract_address now populated for call to address(0), use wildcard pattern Amp-Thread-ID: https://ampcode.com/threads/T-019c474f-6c39-751e-a3d1-24b335ebc389 Co-authored-by: Amp <amp@ampcode.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019c474f-6c39-751e-a3d1-24b335ebc389 Co-authored-by: Amp <amp@ampcode.com>
onbjerg
approved these changes
Feb 10, 2026
onbjerg
approved these changes
Feb 10, 2026
zerosnacks
approved these changes
Feb 10, 2026
Contributor
zerosnacks
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm 👍
0xrusowsky
approved these changes
Feb 10, 2026
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Sync tempo branch with upstream
foundry-rs/foundrymaster (47 commits).Conflict Resolution
Content conflicts were auto-resolved favoring our (tempo) side via
-X ours. The following files had conflicts that were resolved by keeping our version — please review these carefully to incorporate any needed upstream changes:Cargo.toml— upstream changed tempo dep pins fromrevtotag: v1.0.0and removed some depsCargo.lock— version differencescrates/anvil/src/config.rs— upstream changes to configcrates/anvil/src/eth/backend/mem/mod.rs— import differences (addressvsHashSet)crates/cast/src/cmd/erc20.rs— upstream refactoringcrates/cast/src/cmd/mktx.rs— tx construction changescrates/cast/src/cmd/send.rs— tx sending changescrates/evm/evm/src/executors/mod.rs— executor changescrates/primitives/Cargo.toml—tempo-revmvstempo-alloydepdeny.toml— license exception formatting +tiny-keccakentryDeleted files (kept our deletion)
.github/workflows/docker-publish.yml.github/workflows/test-flaky.yml.github/workflows/test-isolate.ymlflake.lockThread: https://tempoxyz.slack.com/archives/C0A87C21805/p1770722908997809