Skip to content

Commit 650e0c6

Browse files
Dargon789DrakeEvansjsvisaDaniPopesgrandizzy
authored
7 bug release workflow failed (#1)
* fix: incorrect repo link in readme for foundry-compilers (#9660) fix: incorrect repo link * feat: add arm64 docker image (#9614) * feat(docker): build arm64 image Signed-off-by: jsvisa <[email protected]> * wip Signed-off-by: jsvisa <[email protected]> * Revert "wip" This reverts commit a152a4c30b7aa510b95d32d5dc8d8d655e90d7f0. Signed-off-by: jsvisa <[email protected]> * Revert "feat(docker): build arm64 image" This reverts commit 09adcbc0f4129f74831588a7e1665a7064eea2f6. Signed-off-by: jsvisa <[email protected]> * feat(make): add cross docker build Signed-off-by: jsvisa <[email protected]> * feat(make): multi tags Signed-off-by: jsvisa <[email protected]> * feat(github): use cross build Signed-off-by: jsvisa <[email protected]> * add Dockerfile.cross Signed-off-by: jsvisa <[email protected]> * fix(make): don't recreate cross-builder Signed-off-by: jsvisa <[email protected]> * make: add log Signed-off-by: jsvisa <[email protected]> * fix: missing \ Signed-off-by: jsvisa <[email protected]> * typo Signed-off-by: jsvisa <[email protected]> * Update docker-publish.yml Co-authored-by: DaniPopes <[email protected]> --------- Signed-off-by: jsvisa <[email protected]> Co-authored-by: DaniPopes <[email protected]> * chore: fix test isolate, different address for caller (#9663) * fix: set debug none for release profile (#9664) * chore(deps): weekly `cargo update` (#9668) Locking 41 packages to latest compatible versions Updating alloy-chains v0.1.54 -> v0.1.55 Updating async-trait v0.1.84 -> v0.1.85 Updating aws-sdk-sts v1.54.0 -> v1.54.1 Updating bitflags v2.6.0 -> v2.7.0 Updating cc v1.2.7 -> v1.2.8 Updating clap v4.5.23 -> v4.5.26 Updating clap_builder v4.5.23 -> v4.5.26 Updating clap_complete v4.5.40 -> v4.5.42 Updating clap_derive v4.5.18 -> v4.5.24 Updating handlebars v6.2.0 -> v6.3.0 Updating inferno v0.12.0 -> v0.12.1 Updating instability v0.3.6 -> v0.3.7 Adding itertools v0.14.0 Updating linux-raw-sys v0.4.14 -> v0.4.15 Updating nybbles v0.3.3 -> v0.3.4 Updating op-alloy-consensus v0.9.0 -> v0.9.2 Updating op-alloy-rpc-types v0.9.0 -> v0.9.2 Updating phf v0.11.2 -> v0.11.3 Updating phf_codegen v0.11.2 -> v0.11.3 Updating phf_generator v0.11.2 -> v0.11.3 Updating phf_macros v0.11.2 -> v0.11.3 Updating phf_shared v0.11.2 -> v0.11.3 Updating pin-project v1.1.7 -> v1.1.8 Updating pin-project-internal v1.1.7 -> v1.1.8 Updating pin-project-lite v0.2.15 -> v0.2.16 Updating prettyplease v0.2.25 -> v0.2.27 Updating proc-macro2 v1.0.92 -> v1.0.93 Updating revm v19.0.0 -> v19.2.0 Updating rustix v0.38.42 -> v0.38.43 Updating rustls v0.23.20 -> v0.23.21 Updating security-framework v3.1.0 -> v3.2.0 Updating security-framework-sys v2.13.0 -> v2.14.0 Updating serde_json v1.0.134 -> v1.0.135 Adding siphasher v1.0.1 Updating syn v2.0.94 -> v2.0.96 Updating thiserror v2.0.9 -> v2.0.11 Updating thiserror-impl v2.0.9 -> v2.0.11 Updating tokio v1.42.0 -> v1.43.0 Updating tokio-macros v2.4.0 -> v2.5.0 Updating uuid v1.11.0 -> v1.11.1 Updating winnow v0.6.22 -> v0.6.24 note: pass `--verbose` to see 12 unchanged dependencies behind latest Co-authored-by: mattsse <[email protected]> * chore(clippy): use next_back instead of last for DoubleEndedIterator (#9666) * chore(clippy): use next_back instead of last for DoubleEndedIterator Signed-off-by: jsvisa <[email protected]> * more cases Signed-off-by: jsvisa <[email protected]> * last -> next_back Signed-off-by: jsvisa <[email protected]> * len ==0 => is_empty Signed-off-by: jsvisa <[email protected]> --------- Signed-off-by: jsvisa <[email protected]> * fix: error handling with retries when waiting for receipt (#9650) * fix: error handling with retries when waiting for receipt * Add RetryError::Continue variant, rework receipts tx check * chore: use "full" for debug (#9670) * chore: don't warn in RetryError::Continue (#9671) * test: increase nextest backoff (#9672) * fix(`script`): use fork_block_number for init sender nonce (#9669) * fix(`script`): use fork_block_number for init sender nonce * test * feat(foundryup): add foundryup self-update (#9609) * feat(foundryup):: add self-update Signed-off-by: 9547 <[email protected]> * renmae to --update Signed-off-by: 9547 <[email protected]> * download to tmp file first Signed-off-by: 9547 <[email protected]> --------- Signed-off-by: 9547 <[email protected]> * fix(`config`): enable `optimizer` when `optimizer_runs` set in config (#9673) * fix(`config`): enable optimizer if `optimizer_runs` has been set * test * fix(`config`): change optimizer properties to Option * fix * nit Co-authored-by: DaniPopes <[email protected]> * fix * nit --------- Co-authored-by: DaniPopes <[email protected]> * fix: propagate color config to TraceWriter (#9679) * feat(foundryup): check for running processes (#9680) * chore: add version number to `foundryup` (#9681) * add version number, display using --version * use say instead of echo * add input box for foundryup version to bug template * fix(config): normalize optimizer settings (#9689) * ci: use reusable cargo update workflow (#9690) * chore(deps): bump svm 0.5.10 (#9700) * fix(verify): strip profile from contract name (#9699) * feat(`forge`): `--watch` coverage (#9702) * feat: filter by profile in `vm.getCode` (#9714) feat: filter by profile in getCode * feat(chisel): determine proper path to Vm.sol based on proj remappings (#9703) * chore(deps): weekly `cargo update` (#9715) * Fix rewrite of User-Agent header (#9707) * Fix rewrite of User-Agent header * add test * add axym to dev deps * format * format * format * cleanup * cleanup * review fixes * use localhost address * refactor: properly handle config load errors (#9713) * refactor: properly handle config load errors * fix * doc * chore: bump version to 0.3.1 to make it easier to identify non-stable builds (#9718) * bump version number * bump lockfile * fix(invariant): handle simple contract names in metrics table (#9724) * chore: display warning to user if running `nightly` version (#9683) * use shared compile time version builder * add warning message on nightly builds * display warning on nightly builds * derive nightly build from tag name * no need to pass IS_NIGHTLY in, derive from tag name * update warning message * fix rustfmt * fix clippy * clean up, default to always use `-dev` if not on tag * provide way for users to mute the warning by setting a FOUNDRY_DISABLE_NIGHTLY_WARNING environment variable * fix fmt * add profile to version * fix clippy * fix fmt * remove redundant build_timestamp as it is unused * unify build scripts, update cheatcodes build script, fix vm.getFoundryVersion() cheatcode * fix clippy * build timestamp not needed anymore, move to use single build script in foundry_common and export from there * clean up * add timestamp due to users / documentation relying on it * use verbose message format for cli --version, use SemVer compatible unix timestamp for cheatcode, fix nits * make IS_NIGHTLY_VERSION conditional * use semver for cheatcode * fix test * fix value * forge fmt * nits, update getFoundryVersion cheatcode docs * fix incorrect version passed to forge cli, add unix timestamp to human readable --version * add tests, add short version / long version, address feedback * prefer build_timestamp for short version too * fixes, add anvil tests for parsing * add back unix timestamp in full version * fix semver test * fix(forge): allow install private deps with https and gh token (#9726) fix(forge): allow install deps with https and gh token * fix: release process (#9728) * fix env variable of tag name location * make tag name more robust, not just matching on strict "nightly" but containing nightly * prefer using short version in foundryup to avoid cluttering stdout * pass in tag name (cast to `nightly` if nightly build) during Docker build process * requires prepare step * use with instead of env * env not available in step * fix build tag * add test tag for Docker * pass down tag_name into Dockerfile.cross * revert docker specific changes, do that as a follow up to unblock * avoid whitespace diff * feat: allow remapping of solidity files (#9604) * feat(remapping): support remapping of .sol files Signed-off-by: jsvisa <[email protected]> * feat(remapping): add testcase Signed-off-by: jsvisa <[email protected]> * typo Signed-off-by: jsvisa <[email protected]> --------- Signed-off-by: jsvisa <[email protected]> * fix(`forge`): disable artifacts for coverage (#9692) * feat(`forge`): diff artifacts dir for coverage * nit * nit * flip `no_artifacts` to true * nit * fix: respect `disable_block_gas_limit` config key (#9732) fix * chore: bump compilers (#9735) * feat(cheatcodes): add ability to ignore (multiple) specific and partial reverts in fuzz and invariant tests (#9179) * initial pass add support for multiple reasons, add tests appease clippy fix broken tests; fix some assume behavior remove comment and bad error-surfacing logic remove redundant param, rename revert.rs, create sol test file remove unnecessary tests from both test_cmd and AssumeNoRevert.t.sol use empty vec instead of option<vec>; remove commented test remove assumeNoPartialRevert; update assumeNoPartialRevert Simplify test, use snapbox assertion Redact number of runs implement assume_no_revert change * rebase and refactor * fix tests for overloaded; original failing * remove erroneous return type * appease clippy * allow combining expectRevert with assumeNoRevert * Apply suggestions from code review nit * remove magic string const * fix error string * improve invariant selectors weight test * nit --------- Co-authored-by: zerosnacks <[email protected]> Co-authored-by: grandizzy <[email protected]> * fix: use custom build profile in --version (#9733) * feat(script): show the broadcasted transactions when verbose>=4 (#9655) * feat(script): add --dry-run Signed-off-by: jsvisa <[email protected]> * feat(script): implement the tx print Signed-off-by: jsvisa <[email protected]> * no newline if no args Signed-off-by: jsvisa <[email protected]> * clippy Signed-off-by: jsvisa <[email protected]> * add --dry-run --broadcast testcase Signed-off-by: jsvisa <[email protected]> * lossy stdout test Signed-off-by: jsvisa <[email protected]> * feat(script): print txs if --dry-run Signed-off-by: jsvisa <[email protected]> * feat(script): make dry-run as the default behavior Signed-off-by: jsvisa <[email protected]> * fix Signed-off-by: jsvisa <[email protected]> * use writeln instead of push_str Signed-off-by: jsvisa <[email protected]> * implment UIfmt for TransactionMaybeSigned Signed-off-by: jsvisa <[email protected]> * dryrun: use UIfmt instead Signed-off-by: jsvisa <[email protected]> * dryrun: print contract only if call Signed-off-by: jsvisa <[email protected]> * use [..] to test Signed-off-by: jsvisa <[email protected]> * update testcase Signed-off-by: jsvisa <[email protected]> * feat(script): --dry-run --resume Signed-off-by: jsvisa <[email protected]> * no long input Signed-off-by: jsvisa <[email protected]> * no double newline Signed-off-by: jsvisa <[email protected]> Revert "no double newline" This reverts commit 6337995e4735b7cb2965962d6a7cd29addf367f7. Signed-off-by: jsvisa <[email protected]> wip Signed-off-by: jsvisa <[email protected]> * print transaction if -vvvv Signed-off-by: jsvisa <[email protected]> * Revert "update testcase" This reverts commit ed5201c78e61863a32cec46a5b52c8934ab539d7. Signed-off-by: jsvisa <[email protected]> * update test for -vvvv broadcast Signed-off-by: jsvisa <[email protected]> * no dryrun module Signed-off-by: jsvisa <[email protected]> * test Signed-off-by: jsvisa <[email protected]> --------- Signed-off-by: jsvisa <[email protected]> Co-authored-by: zerosnacks <[email protected]> * chore: remove redundant `test.sol` (#9736) remove redundant test.sol, follow up of https://github.com/foundry-rs/foundry/pull/9179 * chore: pass and read tag as `CARGO_TAG_NAME` for cross build (#9738) * chore: pass and read tag as CARGO_TAG_NAME for cross build * Nit * fix(remappings): ignore conflicting remappings (#9521) * fix(remappings): ignore conflicting remappings * Fix test, redundant remappings are not allowed anymore * feat(`forge`): inspect - default to pretty output (#9705) * fix(`forge`): inspect - mk --pretty default * print_table helper * print table method-identifier * print table errors * print errors events * nit * fix * rm pretty * fix * print abi as table * fix test * test * nit * clippy * dedup helpers and tests * fix * fix(invariant): lookup fuzz interface abi by name or identifier (#9744) * feat(foundryup): manage custom built versions (#9746) * fix(foundryup): set proper version for use call (#9750) * chore: stop supporting legacy console.sol signatures (#8910) * feat: stop supporting legacy console.sol signatures * chore: update console.sol in tests * Fix test --------- Co-authored-by: grandizzy <[email protected]> Co-authored-by: grandizzy <[email protected]> * chore(deps): weekly `cargo update` (#9755) * fix(cheatcode): expect revert only for calls with greater depth than test (#9537) * fix(cheatcode): expect revert only for calls with greater depth * Add config to allow expect revert for internal calls * Fix default config test * Update crates/cheatcodes/src/inspector.rs Co-authored-by: Matthias Seitz <[email protected]> --------- Co-authored-by: Matthias Seitz <[email protected]> * fix(`forge bind`): prefix keyword mod names with `r#` (#9761) * fix(`forge bind`): prefix keyword mod names with r# * nit * is_ok * feat(`cast source`): support alternative explorers (#9762) * feat(`cast`): support alternative explorers in `source` * fix * fix * feat: override the eyre display handler globally (#9766) * feat: override the eyre display handler globally * chore: install handler in anvil * msg * ci: set RUST_BACKTRACE=full (#9767) * perf(coverage): use u32 for IDs, improve analysis (#9763) * refactor(debugger): renames, less clones * perf(coverage): use u32 for IDs, improve analysis * perf: don't keep source maps around, shrink_to_fit * chore: clippy * fmt * fix(coverage): keep EVM version when normalizing for ir-minimum (#9768) * chore: update README for `1.0` (#9540) * start adding new benchmarks and recording * add benchmarks * add solady compilation benchmark * crop demo gif to scale better * clean up * fix morpho-blue integration test, skewed because of create2 mining * add compilation comparison for openzeppelin * add very basic getting started * add basic examples for each tool * clean up * clean up * use default MIT and Apache 2.0 licenses for auto-recognition by Github * apply default format of license, using existing fields * clean up, point to book as primary source rather than crates * clean up dev docs * spell fix * clean up * nits * nits * revert to previous license version, updated format was not necessary - possibly Github related data issue yesterday * Apply suggestions from code review Co-authored-by: DaniPopes <[email protected]> * note dual support * fix link to actions Co-authored-by: Lubov66 <[email protected]> * link directly to existing references rather than overviews * add designed benchmarks * improve size slightly * use center alignment * fix spacing * fix spacing * update image paths * remove outdated Foundry docs, users should refer to the book * remove outdated docs, Foundry book should serve as primary source until we actually focus on Foundry as a library * move demo.gif, remove unused logo * fix build * update table in fmt, restore docs for crate * try fixing rpc that is down --------- Co-authored-by: DaniPopes <[email protected]> Co-authored-by: Lubov66 <[email protected]> * chore: remove ahash (#9769) * chore(deps): breaking bumps (#9773) * chore: install deps and create foundry user in cross built image (#9775) * chore: fix isolate tests (#9776) * fix: correctly set `gas_limit` reported by Anvil (#9774) fix gas_limit reported by anvil * fix(docker): revert to use ubuntu:22.04 as base image (#9777) fix: use ubuntu:22.04 * fix(cheatcode): support new 7702 spec (#9779) fix(cheatcode): update revm with support for updated 7702 * fix: avoid returning None for library addresses during fuzzing (#9771) * avoid returning None for library addresses during fuzzing * cargo fmt * randomize address if it belongs to a deployed lib * return early in happy path * chore: fix clippy (#9790) * feat(anvil): implement `anvil_rollback` (#9783) * implement anvil_rollback * PR improvements --------- Co-authored-by: grandizzy <[email protected]> * docs(cast): clean up index docs (#9792) * feat: add `gas_snapshot_check` flag to config, fix `FORGE_SNAPSHOT_CHECK` behavior (#9791) * add gas_snapshot_check configuration option w/ FORGE_SNAPSHOT_CHECK, checking for bool value - not just existence * add additional test to display behaviour * improve docs * fix clippy * improve test suite, tests all combinations exhaustively * fix failing test * fix nit * small nits * feat(`forge`): remove `testFail*` (#9574) * debt(`forge`): deprecate `testFail*` * fix tests using testFail* * fix * refactor: expect revert failures tests to cli * rm `testFail` from ExpectRevert.t.sol Moved to ExpectRevertFailures.t.sol in cli tests * mv ExpectCall.t.sol failure tests to ExpectCallFailures.t.sol in forge cli tests * mv ExpectEmit.t.sol `testFail` to ExpectEmitFailures.t.sol as cli test * mv MemSafety failure tests * fmt * mv DSStyleTest failling assertion to cli test * failure_assertions * failing setup test * multiple aftertInvariants * multiple setups * emit diff anonymous * Err out on `testFail * fix: test_core * fix * fix: test_logs * fix: test_fuzz * fix: repro_7481 * fix: testShouldFailRevertNotOnImmediateNextCall, mv to failure_assertions * fix + forge fmt * clippy * chore: update and document external tests (#9644) * rm `should_fail` from runner and TestFunctionKind * update, document and add additional external tests * remove newly added morpho for now * fix --------- Co-authored-by: Yash Atreya <[email protected]> * ignore solmate tests * nit * rm should_fail from run_unit_test & run_fuzz_test * fix fmt * fmt * forge fmt * fix * rm * fix tests * fix: repro_7238 * fix tests * forge fmt * fix: repro tests * bump snekmate ext test * revert snekmate bump * bump snekmate * Revert "bump snekmate" This reverts commit a9e7568c6a0fea1533ab1e128a69da16df78f3c3. * ignore ERC4626VaultTest in snekmate * remove solmate ext_test --------- Co-authored-by: zerosnacks <[email protected]> Co-authored-by: zerosnacks <[email protected]> Co-authored-by: grandizzy <[email protected]> * fix: use sequence for rollback (#9795) * chore: ignore solady CI failure in win (#9797) * fix(trace_filter): allow params to be object or array with len 1 (#9793) fix(trace_filter): change params objects to deserialize only an array * chore: point forge-std ext test to latest main (#9799) chore: point forgestd ext to latest * chore: generate release notes from latest stable (#9801) * chore: update version numbers for `v1.0.0-rc` (#9802) update version numbers for 1.0.0-rc * feat(cast): update polygon testnet chain and add polygon zkevm chains (#9803) * feat: add polygon-amoy chain and remove polygon-mumbai * feat: add polygon zkevm mainnet and cardona testnet chains * chore: ci release on rc tag (#9805) * chore: update pull request template (#9804) * chore(deps): weekly `cargo update` (#9809) Locking 35 packages to latest compatible versions Updating alloy-chains v0.1.57 -> v0.1.58 Unchanged alloy-consensus v0.9.2 (available: v0.11.0) Unchanged alloy-contract v0.9.2 (available: v0.11.0) Unchanged alloy-eips v0.9.2 (available: v0.11.0) Unchanged alloy-genesis v0.9.2 (available: v0.11.0) Unchanged alloy-json-rpc v0.9.2 (available: v0.11.0) Unchanged alloy-network v0.9.2 (available: v0.11.0) Unchanged alloy-node-bindings v0.9.2 (available: v0.11.0) Unchanged alloy-provider v0.9.2 (available: v0.11.0) Unchanged alloy-pubsub v0.9.2 (available: v0.11.0) Unchanged alloy-rpc-client v0.9.2 (available: v0.11.0) Unchanged alloy-rpc-types v0.9.2 (available: v0.11.0) Unchanged alloy-serde v0.9.2 (available: v0.11.0) Unchanged alloy-signer v0.9.2 (available: v0.11.0) Unchanged alloy-signer-aws v0.9.2 (available: v0.11.0) Unchanged alloy-signer-gcp v0.9.2 (available: v0.11.0) Unchanged alloy-signer-ledger v0.9.2 (available: v0.11.0) Unchanged alloy-signer-local v0.9.2 (available: v0.11.0) Unchanged alloy-signer-trezor v0.9.2 (available: v0.11.0) Unchanged alloy-transport v0.9.2 (available: v0.11.0) Unchanged alloy-transport-http v0.9.2 (available: v0.11.0) Unchanged alloy-transport-ipc v0.9.2 (available: v0.11.0) Unchanged alloy-transport-ws v0.9.2 (available: v0.11.0) Updating async-trait v0.1.85 -> v0.1.86 Updating aws-sdk-kms v1.57.0 -> v1.58.0 Updating aws-sdk-sso v1.56.0 -> v1.57.0 Updating aws-sdk-ssooidc v1.57.1 -> v1.58.0 Updating aws-sdk-sts v1.57.0 -> v1.58.0 Unchanged axum v0.7.9 (available: v0.8.1) Unchanged backtrace v0.3.71 (available: v0.3.74) Updating bumpalo v3.16.0 -> v3.17.0 Updating cc v1.2.10 -> v1.2.11 Updating clap_complete v4.5.42 -> v4.5.44 Updating dyn-clone v1.0.17 -> v1.0.18 Unchanged foundry-fork-db v0.10.0 (available: v0.11.0) Unchanged gcloud-sdk v0.25.8 (available: v0.26.2) Adding getrandom v0.3.1 Updating httparse v1.9.5 -> v1.10.0 Updating hyper v1.5.2 -> v1.6.0 Updating indicatif v0.17.9 -> v0.17.11 Updating jiff v0.1.27 -> v0.1.28 Updating mdbook v0.4.43 -> v0.4.44 Updating miette v7.4.0 -> v7.5.0 Updating miette-derive v7.4.0 -> v7.5.0 Unchanged op-alloy-rpc-types v0.9.6 (available: v0.10.0) Removing phf_generator v0.10.0 Removing phf_shared v0.10.0 Unchanged proptest v1.5.0 (available: v1.6.0) Unchanged protobuf v3.3.0 (available: v3.7.1) Unchanged protobuf-support v3.3.0 (available: v3.7.1) Unchanged rand v0.8.5 (available: v0.9.0) Unchanged revm-inspectors v0.14.1 (available: v0.15.0) Updating rustls v0.23.21 -> v0.23.22 Updating rustls-pki-types v1.10.1 -> v1.11.0 Updating ryu v1.0.18 -> v1.0.19 Updating serde_json v1.0.137 -> v1.0.138 Removing siphasher v0.3.11 Unchanged solang-parser v0.3.3 (available: v0.3.4) Updating string_cache v0.8.7 -> v0.8.8 Updating string_cache_codegen v0.5.2 -> v0.5.3 Updating svm-rs v0.5.10 -> v0.5.11 Updating svm-rs-builds v0.5.10 -> v0.5.11 Updating syn v2.0.96 -> v2.0.97 Updating tempfile v3.15.0 -> v3.16.0 Updating toml_edit v0.22.22 -> v0.22.23 Updating unicode-ident v1.0.15 -> v1.0.16 Unchanged vergen v8.3.2 (available: v9.0.4) Adding wasi v0.13.3+wasi-0.2.2 Updating webpki-roots v0.26.7 -> v0.26.8 Removing winnow v0.6.24 Adding winnow v0.6.26 Adding winnow v0.7.0 Adding wit-bindgen-rt v0.33.0 note: to see how you depend on a package, run `cargo tree --invert --package <dep>@<ver>` Co-authored-by: mattsse <[email protected]> * chore: replace maili with op-alloy (#9810) * chore(deps): bump alloy 0.11 (#9798) * wip: bump alloy * wip * fix: unused fields * fixes * fmt * chore: nextest config * update tests * update tests * fix --------- Co-authored-by: DaniPopes <[email protected]> * chore(tests): bump forge-std version (#9808) * chore: bump forge-std version used for tests * Fix gas and bind test --------- Co-authored-by: DaniPopes <[email protected]> Co-authored-by: grandizzy <[email protected]> * test: misc test improvements (#9812) * more opts * ignore can_disable_block_gas_limit * move selector tests to integration tests * reduce sleep * rm unnecessary test, already tested with openchain/4byte commands * rm needless_return allows * chore: clippy * move gas_report_fuzz_invariant to integration * chore: tweak coverage warnings (#9814) * test: update config with a closure (#9813) * chore: update ext integration tests (#9811) * chore: update ext integration tests * Snekmate requires unreleased vyper 4.1 * fix(forge): allow `forge init --template` to work with `--no-commit` (#9815) fix: allow init from template not commit Co-authored-by: antazoey <[email protected]> * feat(invariant): on failures show original and current sequence len (#9816) * fix(cast): try decoding custom errors when execution reverted in cast send (#9794) * fix(cast): try decoding custom errors when gas estimation in cast send * Changes after review: use serde_json::from_str, use itertools format * Nits * More nits * chore: remove rustls/openssl features (#9824) * chore: fix base gas limit test (#9826) * fix: mark metis as different gas calc (#9834) * feat: add mathjax support to forge doc mdbook config (#9829) * fix(foundryup): install for user names with empty space (#9835) * feat(invariant): generate failed call sequence as solidity (#9827) * feat(invariant): generate failed call sequence as solidity * Fix test, format * Tests nits * chore: bump compilers, fix #9788 (#9836) * feat: add way to disable emitting of gas snapshots to disk (#9710) * feat: gas snapshot emit config * review change comment --------- Co-authored-by: turbocrime <[email protected]> * chore(deps): weekly `cargo update` (#9843) Locking 38 packages to latest compatible versions Updating alloy-chains v0.1.58 -> v0.1.59 Updating alloy-trie v0.7.8 -> v0.7.9 Updating aurora-engine-modexp v1.1.0 -> v1.2.0 Updating aws-config v1.5.15 -> v1.5.16 Updating aws-runtime v1.5.4 -> v1.5.5 Updating aws-sdk-kms v1.58.0 -> v1.59.0 Updating aws-sdk-sso v1.57.0 -> v1.58.0 Updating aws-sdk-ssooidc v1.58.0 -> v1.59.0 Updating aws-sdk-sts v1.58.0 -> v1.59.0 Updating aws-sigv4 v1.2.7 -> v1.2.8 Updating aws-smithy-runtime v1.7.7 -> v1.7.8 Updating aws-smithy-types v1.2.12 -> v1.2.13 Updating aws-types v1.3.4 -> v1.3.5 Unchanged axum v0.7.9 (available: v0.8.1) Unchanged backtrace v0.3.71 (available: v0.3.74) Updating bytes v1.9.0 -> v1.10.0 Updating cc v1.2.11 -> v1.2.13 Updating clap v4.5.27 -> v4.5.28 Updating clap_derive v4.5.24 -> v4.5.28 Updating comfy-table v7.1.3 -> v7.1.4 Adding const_format v0.2.34 Adding const_format_proc_macros v0.2.34 Unchanged derive_more v1.0.0 (available: v2.0.1) Unchanged evmole v0.6.2 (available: v0.7.0) Updating gcloud-sdk v0.26.2 -> v0.26.3 Updating jiff v0.1.28 -> v0.1.29 Updating jsonwebtoken v9.3.0 -> v9.3.1 Updating once_cell v1.20.2 -> v1.20.3 Updating op-alloy-consensus v0.10.0 -> v0.10.2 Updating op-alloy-rpc-types v0.10.0 -> v0.10.2 Updating parity-scale-codec v3.6.12 -> v3.7.4 Updating parity-scale-codec-derive v3.6.12 -> v3.7.4 Updating pin-project v1.1.8 -> v1.1.9 Updating pin-project-internal v1.1.8 -> v1.1.9 Unchanged proptest v1.5.0 (available: v1.6.0) Unchanged protobuf v3.3.0 (available: v3.7.1) Unchanged protobuf-support v3.3.0 (available: v3.7.1) Unchanged rand v0.8.5 (available: v0.9.0) Updating rustc-hash v2.1.0 -> v2.1.1 Updating scc v2.3.0 -> v2.3.3 Updating sdd v3.0.5 -> v3.0.7 Unchanged solang-parser v0.3.3 (available: v0.3.4) Unchanged strum v0.26.3 (available: v0.27.0) Updating toml v0.8.19 -> v0.8.20 Updating uuid v1.12.1 -> v1.13.1 Unchanged vergen v8.3.2 (available: v9.0.4) Updating wait-timeout v0.2.0 -> v0.2.1 Updating which v7.0.1 -> v7.0.2 Updating winnow v0.7.0 -> v0.7.1 note: to see how you depend on a package, run `cargo tree --invert --package <dep>@<ver>` Co-authored-by: mattsse <[email protected]> * feat(`forge fmt`): add watch mode (#9838) * feat(forge): add watch mode to forge fmt * keen fmt run sync * feat(`common`): `PathOrContractInfo` arg type (#9770) * feat(`common`): `PathOrContractInfo` * fix * docs * nit * test * move find abi helper to ContractsByArtifact * nit * fix * nit * fix * nit * ensure sol file * account for vyper contracts * nit * fix(forge): decode fallbacks with calldata (#9859) * feat: add `--alloy-rev` and fix `forge bind` re-run on built project (#9861) * add --alloy-rev, marked as conflicting with --alloy-version, updated --alloy-version to use crates.io whereas rev uses git * fix forge bind upon re-run after crate was built * clarify github / crates target * minor doc fixes * dedupe dep check * fix fmt * feat(forge): add option to suppress successful tests traces (#9865) * chore(deps): bump alloy to `0.11.1` (#9866) * chore: fix release flow (#9869) fix release flow * fix: pin to `macos-13-large` for release flow to support old SDK versions (#9870) * fix release: Pin tonistiigi/binfmt iamge (#9872) Pin tonistiigi/binfmt iamge * chore: fix isolate tests (#9877) * fix(anvil): return nonce and signature for deposit tx type (#9883) * return nonce and signature for deposit tx type * fix clippy * feat(`forge`): don't commit installations by default (#9884) * feat(`forge`)!: flip `no_commit` to `commit` + don't commit installations by default * fix tests + always commit when initialized via template * fix * nit * chore: fix flaky tests due to different totalDifficulty reported (#9889) * fix(inspect): add flag to strip ir comments (#9825) * fix(inspect): do not strip comments when yul print * Update crates/forge/bin/cmd/inspect.rs Co-authored-by: DaniPopes <[email protected]> --------- Co-authored-by: DaniPopes <[email protected]> * fix(forge): flatten fails on top-level event declarations (#9892) * feat(`anvil`): emit warning server side on failing request (#9890) * log error if request response fails * use warning as it is not a server side failure but a failing client request * prefer using node_info! macro * improve error format * chore(deps): weekly `cargo update` (#9898) * fix: add support for inline `isolate` configuration (#9904) * add test for inline isolate configuration * clean up docs * clarify * prefer config, add comment * fix(config): enable optimizer if optimizer runs > 0 in additional profiles (#9901) * fix(config): enable optimizer if optimizer runs > 0 in additional profiles * Improved test * feat: bump `alpine=3.21` in Dockerfile (#9907) * chore: update rpc keys (#9910) remove keys * feat(`cast age`): clarify block timestamp is UTC to allow for `date` compatibility (#9913) clarify block timestamp is always UTC * fix(`forge`): catch faulty test constructors (#9909) * fix(`forge`): catch test contract deployment failures * nit * test * fix * nit * Revert "nit" This reverts commit 5712a93af62070c8879760e4b509bcdcf828d79d. * Revert "fix" This reverts commit 9f6bee14a089ffb76ff7b64988c34c004e417d63. * fix test * cleaner * nit Co-authored-by: zerosnacks <[email protected]> --------- Co-authored-by: zerosnacks <[email protected]> * feat: add `vm.foundryVersionCmp` and `vm.foundryVersionAtLeast` cheatcodes (#9845) * feat: add foundryVersionCmp and foundryVersionAtLeast cheatcode * fix: change the acceptable version string in version cmp cheatcodes to major.minor.patch --------- Co-authored-by: grandizzy <[email protected]> * chore: version cmp cheatcodes clean up (#9914) * fix: map 7623 to gas too high (#9915) * chore: rotate keys (#9922) Rotate * feat(`cast`): add new `cast wallet remove` command (#9873) * feat: add add new cast wallet remove command * feat: add cast wallet remove test case with unsafe_password --------- Co-authored-by: zerosnacks <[email protected]> * feat(cheatcodes): add `expectCreate` and `expectCreate2` (#9875) * add expectCreate and expectCreate2 cheatcodes * add tests * apply clippy fixes * apply clippy fixes * fix failing test * fix failing test * fix failing test * fix failing test: use line wildcards * add requested changes * move nested creates to single test * Fix test --------- Co-authored-by: zerosnacks <[email protected]> Co-authored-by: grandizzy <[email protected]> Co-authored-by: grandizzy <[email protected]> * chore(`cast`): add `4byte-calldata` alias (#9927) * change 4byte-decode -> 4byte-calldata in non breaking way, 4byte-decode and shorthands are hidden aliases * nit * update test with alias for regression * fix failing test due to args chaining * fix(--isolate): avoid remappings lookups (#9938) * fix(--isolate): avoid remappings lookups * clippy * fix(`--isolate`): correctly handle staticcalls (#9940) * fix(isolate): correctly handle staticcalls * fix fixtures * chore(deps): weekly `cargo update` (#9936) * fix(isolate): do not mark cold accounts with arbitrary storage (#9945) * feat(anvil): add holocene and isthmus optimism hardforks (#9949) * fix(anvil): reset cache path during anvil_reset without fork url (#9729) * reset cache path during anvil_reset without fork url * refactor * comment typo * fix base fee update * fix test on windows, fmt * abstract block number reset logic * fix test deadlock * update foundry-fork-db * clippy --------- Co-authored-by: grandizzy <[email protected]> Co-authored-by: grandizzy <[email protected]> * fix 4-bytecalldata (#9952) * fix fourbytecalldata * add test * Override prevrandao on bsc (#9957) * Override prevrandao on bsc * Format code * Fix clippy * feat: add option to store keystore file with custom account name (#9946) * feat: add option to store keystore file with custom account name * fix rustfmt +nightly --------- Co-authored-by: zerosnacks <[email protected]> * fix(`forge`): `forge build --sizes` collapses non uniques (#9962) * handle multiple contracts of the same name by including their stripped path * add test case * include dummy Foo contract to show it doesnt show the unique path for non-clashing names * show path to source rather than path to artifact * add json test * fix fmt * chore: fix 404 status URL (#9964) Signed-off-by: looklose <[email protected]> * chore: use HashMap::keys avoid unnecessary tuple unpacking (#9975) * chore: change &Option<String> to Option<&str> (#9973) * change &Option<String> to Option<&str> * revert commit * Update crates/forge/bin/cmd/inspect.rs Co-authored-by: DaniPopes <[email protected]> * fix fmt --------- Co-authored-by: DaniPopes <[email protected]> * fix(coverage): try/catch as branches, account for empty blocks (#9978) * fix(script): apply configured evm-version for verify args (#9979) * test(doc): added test case for doc comments & natspec (#9923) test(doc): added testcase for doc comments & natspec * fix(invariant): ignore persisted failure if different test contract (#9981) * fix(invariant): ignore persisted failure if different test contract * fix win test, canonicalize persisted file path, remove invariant config clone * Nit warn message * ci: pin vyper (#9989) * chore(deps): weekly `cargo update` (#9991) Locking 47 packages to latest compatible versions Updating alloy-chains v0.1.62 -> v0.1.63 Updating alloy-dyn-abi v0.8.21 -> v0.8.22 Updating alloy-eip7702 v0.5.0 -> v0.5.1 Updating alloy-json-abi v0.8.21 -> v0.8.22 Updating alloy-primitives v0.8.21 -> v0.8.22 Updating alloy-sol-macro v0.8.21 -> v0.8.22 Updating alloy-sol-macro-expander v0.8.21 -> v0.8.22 Updating alloy-sol-macro-input v0.8.21 -> v0.8.22 Updating alloy-sol-type-parser v0.8.21 -> v0.8.22 Updating alloy-sol-types v0.8.21 -> v0.8.22 Updating async-compression v0.4.18 -> v0.4.20 Updating aws-config v1.5.16 -> v1.5.17 Updating aws-sdk-kms v1.60.0 -> v1.61.0 Updating aws-sdk-sso v1.59.0 -> v1.60.0 Updating aws-sdk-ssooidc v1.60.0 -> v1.61.0 Updating aws-sdk-sts v1.60.0 -> v1.61.0 Unchanged axum v0.7.9 (available: v0.8.1) Unchanged backtrace v0.3.71 (available: v0.3.74) Updating bitflags v2.8.0 -> v2.9.0 Updating bzip2 v0.4.4 -> v0.5.2 Updating bzip2-sys v0.1.12+1.0.8 -> v0.1.13+1.0.8 Updating cc v1.2.15 -> v1.2.16 Updating chrono v0.4.39 -> v0.4.40 Updating clap v4.5.30 -> v4.5.31 Updating clap_builder v4.5.30 -> v4.5.31 Updating clap_complete v4.5.45 -> v4.5.46 Updating console v0.15.10 -> v0.15.11 Adding derive_more v2.0.1 Unchanged derive_more v1.0.0 (available: v2.0.1) Adding derive_more-impl v2.0.1 Updating either v1.13.0 -> v1.14.0 Unchanged evmole v0.6.2 (available: v0.7.2) Updating flate2 v1.0.35 -> v1.1.0 Updating globset v0.4.15 -> v0.4.16 Updating libc v0.2.169 -> v0.2.170 Updating litemap v0.7.4 -> v0.7.5 Updating op-alloy-consensus v0.10.5 -> v0.10.7 Updating op-alloy-rpc-types v0.10.5 -> v0.10.7 Updating portable-atomic v1.10.0 -> v1.11.0 Unchanged protobuf v3.3.0 (available: v3.7.1) Unchanged protobuf-support v3.3.0 (available: v3.7.1) Unchanged rand v0.8.5 (available: v0.9.0) Updating rand_core v0.9.2 -> v0.9.3 Updating schemars v0.8.21 -> v0.8.22 Updating schemars_derive v0.8.21 -> v0.8.22 Updating similar-asserts v1.6.1 -> v1.7.0 Unchanged solang-parser v0.3.3 (available: v0.3.4) Updating syn-solidity v0.8.21 -> v0.8.22 Updating tokio-rustls v0.26.1 -> v0.26.2 Updating uuid v1.14.0 -> v1.15.1 Unchanged vergen v8.3.2 (available: v9.0.4) Unchanged watchexec v5.0.0 (available: v6.0.0) Unchanged watchexec-events v4.0.0 (available: v5.0.0) Updating zerocopy v0.8.20 -> v0.8.21 Updating zerocopy-derive v0.8.20 -> v0.8.21 Updating zerofrom v0.1.5 -> v0.1.6 Updating zerofrom-derive v0.1.5 -> v0.1.6 Updating zip v2.2.2 -> v2.2.3 note: to see how you depend on a package, run `cargo tree --invert --package <dep>@<ver>` Co-authored-by: mattsse <[email protected]> * fix(`ci`): clippy, allow result too large (#9999) fix clippy for ci, small opts * chore: move nightly build to 6 AM UTC for improved monitoring of release process (#9997) * move nightly build to 7 am UTC * move to 6 am * fix: `forge script --verifier sourcify` is ignored when `ETHERSCAN_API_KEY` env var is defined (#10002) * re-order verification picker to prefer explicit --verifier, falling back to Etherscan if the API key is passed and no --verifier is passed * add additional tests to cover different cases * clarify tests * fix fmt * improve error message for final bail condition to point into the right direction * fix(receipt): use `from` address (#9998) When calling `cast receipt`, the failure reason is generated via `eth_call`. However, the `from` address during this call is not correctly set to the one in the transaction. This leads to spurious "Ownable: caller is not the owner" errors, which do not represent the true failure reason for the transaction. This PR fixes that issue. Added a unit test for a Sepolia transaction to capture this case. Without the PR, the revert reason was incorrectly reported as "Ownable: caller is not the owner" instead of the actual revert reason "Counter is too large" Co-authored-by: zerosnacks <[email protected]> * fix(cast): allow user to disable block gas limit check in cast run (#9996) In Ronin[1] and BSC[2], there are system transactions which have gas limit higher than block gas limit. This commit adds --disable-block-gas-limit flag to cast run so that user can trace those transactions. [1]: https://app.roninchain.com/tx/0x8323b1843da7e8c61be697b35885bf492f8ec30e4413aa32b629371733df60d7 [2]: https://bscscan.com/tx/0x2362c464510d39247b0718d661224c5b5d369e543a88eefb260c798dcda2624e Co-authored-by: zerosnacks <[email protected]> * fix(forge): avoid etch panic on invalid bytecode (#10006) * fix(verfy): add blockscout exception for resp status 0 when contract not indexed (#10008) fix(verfy): chiado blockscout exception, resp status 0 when contract not indexed yet * fix(forge): use float total cmp instead partial (#10005) fix(forge): use total cmp instead partial * fix(forge): do not panic if revert at same depth as start state recording (#10016) * fix(cast): clarify docs for the cast call --data flag (#10014) * chore(deps): weekly `cargo update` (#10026) Locking 54 packages to latest compatible versions Updating alloy-chains v0.1.63 -> v0.1.64 Updating anyhow v1.0.96 -> v1.0.97 Updating async-trait v0.1.86 -> v0.1.87 Updating aws-config v1.5.17 -> v1.5.18 Updating aws-sdk-kms v1.61.0 -> v1.62.0 Updating aws-sdk-sso v1.60.0 -> v1.61.0 Updating aws-sdk-ssooidc v1.61.0 -> v1.62.0 Updating aws-sdk-sts v1.61.0 -> v1.62.0 Adding aws-smithy-http v0.61.1 Unchanged axum v0.7.9 (available: v0.8.1) Unchanged backtrace v0.3.71 (available: v0.3.74) Updating bon v3.3.2 -> v3.4.0 Updating bon-macros v3.3.2 -> v3.4.0 Updating byte-slice-cast v1.2.2 -> v1.2.3 Updating bytemuck v1.21.0 -> v1.22.0 Updating bytes v1.10.0 -> v1.10.1 Unchanged derive_more v1.0.0 (available: v2.0.1) Updating dyn-clone v1.0.18 -> v1.0.19 Updating either v1.14.0 -> v1.15.0 Unchanged evmole v0.6.2 (available: v0.7.2) Updating fd-lock v4.0.2 -> v4.0.3 Updating hermit-abi v0.4.0 -> v0.5.0 Updating httparse v1.10.0 -> v1.10.1 Updating indoc v2.0.5 -> v2.0.6 Updating is-terminal v0.4.15 -> v0.4.16 Updating itoa v1.0.14 -> v1.0.15 Updating jiff-tzdb v0.1.2 -> v0.1.3 Adding linux-raw-sys v0.9.2 Updating op-alloy-consensus v0.10.7 -> v0.10.9 Updating op-alloy-rpc-types v0.10.7 -> v0.10.9 Updating pin-project v1.1.9 -> v1.1.10 Updating pin-project-internal v1.1.9 -> v1.1.10 Updating pkg-config v0.3.31 -> v0.3.32 Updating prettyplease v0.2.29 -> v0.2.30 Updating proc-macro-crate v3.2.0 -> v3.3.0 Updating proc-macro2 v1.0.93 -> v1.0.94 Unchanged protobuf v3.3.0 (available: v3.7.1) Unchanged protobuf-support v3.3.0 (available: v3.7.1) Updating quote v1.0.38 -> v1.0.39 Unchanged rand v0.8.5 (available: v0.9.0) Updating redox_syscall v0.5.9 -> v0.5.10 Updating ring v0.17.11 -> v0.17.13 Adding rustix v1.0.0 Updating rustversion v1.0.19 -> v1.0.20 Updating ryu v1.0.19 -> v1.0.20 Updating semver v1.0.25 -> v1.0.26 Updating serde_json v1.0.139 -> v1.0.140 Updating serde_path_to_error v0.1.16 -> v0.1.17 Updating serde_repr v0.1.19 -> v0.1.20 Unchanged solang-parser v0.3.3 (available: v0.3.4) Updating syn v2.0.98 -> v2.0.99 Updating tempfile v3.17.1 -> v3.18.0 Updating textwrap v0.16.1 -> v0.16.2 Updating thiserror v2.0.11 -> v2.0.12 Updating thiserror-impl v2.0.11 -> v2.0.12 Updating time v0.3.37 -> v0.3.39 Updating time-core v0.1.2 -> v0.1.3 Updating time-macros v0.2.19 -> v0.2.20 Updating tinyvec v1.8.1 -> v1.9.0 Updating unicode-ident v1.0.17 -> v1.0.18 Unchanged vergen v8.3.2 (available: v9.0.4) Unchanged watchexec v5.0.0 (available: v6.0.0) Unchanged watchexec-events v4.0.0 (available: v5.0.0) Updating zerocopy v0.8.21 -> v0.8.23 Updating zerocopy-derive v0.8.21 -> v0.8.23 note: to see how you depend on a package, run `cargo tree --invert --package <dep>@<ver>` Co-authored-by: grandizzy <[email protected]> * fix(forge): warn if file for artifact no longer exists (#10025) * fix(forge): warn if file for artifact no longer exists * Add test * Single warning for all missing files * chore(deps): bump alloy 0.12 (#10028) * fix(forge): stack pranks, restore pranks at earlier call depths (#10018) * chore: fix isolate tests (#10034) * fix(docker): use cross main, build docker only on release (#10035) fix(docker): use cross main instead 0.2.5 * chore(deps): weekly `cargo update` (#10039) * fix(forge): base url for verification providers other than etherscan (#10045) fix(forge): base url for custom verification providers type * chore(cast): upgrade evmole to 0.7.2 (#10048) * fix deny.toml, ignore RUSTSEC-2025-0014 (#10052) * fix deny.toml, ignore RUSTSEC-2025-0014 * roll back allow-git * update derive_more to 2.0 (#9987) * chore: fix ci, bump python setup version (#10054) Bump gh python setup version * feat(forge): match chain id with token symbol (#10043) * feat: match chain id with token symbol * fix: change symbol from matic to pol * fix: use NameChain instead of manual mapping * Fix tests, fmt and clippy --------- Co-authored-by: grandizzy <[email protected]> Co-authored-by: grandizzy <[email protected]> * feat(cast): storage add --proxy to manually specify a proxy contract when Etherscan fails to find it (#10033) * Adding a proxy parameter to the cast storage command, allowing manual selection of a proxy address to retrieve the full storage layout. * Adding tests for the cast storage proxy optional argument. * Using if let some else pattern. * Improved documentation. --------- Co-authored-by: grandizzy <[email protected]> * fix(forge): use etherscan verifier if key provided (#10058) * fix(forge): use etherscan if key provided * Changes after review: expose is_sourcify and is_etherscan fns * update watchexec to 6.0, watchexec-events to 5.0 (#9988) * fix(forge): redact pk in signDelegation* traces (#10061) * chore: fix CI, remove totalDifficulty (#10071) * fix CI: remove totalDifficulty * ignore cast run impersonated tx test * chore(cli): fix clap deprecated warnings (#10075) * fix * fix --------- Co-authored-by: grandizzy <[email protected]> * feat(forge): allow path in forge selectors upload (#10073) * feat(forge): allow path in forge selectors upload * Changes after review: reuse PathOrContractInfo * feat: add `x86_64-musl` and `aarch64-musl` release targets (#9984) * feat: add `x86_64` and `aarch64` musl targets * feat: update nextest matrices * try with aarch64 targets * feat: define granular linux targets and restore `aarch64` one * revert `matrices.py` file * chore: reenable impersonate test (#10076) * feat: solc 0.8.29 (#10078) * feat: solc 0.8.29 * update match * chore: fix ci (#10092) Rotate * chore(deps): weekly `cargo update` (#10088) Locking 90 packages to latest compatible versions Updating alloy-consensus v0.12.4 -> v0.12.5 Updating alloy-consensus-any v0.12.4 -> v0.12.5 Updating alloy-contract v0.12.4 -> v0.12.5 Updating alloy-dyn-abi v0.8.22 -> v0.8.23 Updating alloy-eips v0.12.4 -> v0.12.5 Updating alloy-genesis v0.12.4 -> v0.12.5 Updating alloy-json-abi v0.8.22 -> v0.8.23 Updating alloy-json-rpc v0.12.4 -> v0.12.5 Updating alloy-network v0.12.4 -> v0.12.5 Updating alloy-network-primitives v0.12.4 -> v0.12.5 Updating alloy-node-bindings v0.12.4 -> v0.12.5 Updating alloy-primitives v0.8.22 -> v0.8.23 Updating alloy-provider v0.12.4 -> v0.12.5 Updating alloy-pubsub v0.12.4 -> v0.12.5 Updating alloy-rpc-client v0.12.4 -> v0.12.5 Updating alloy-rpc-types v0.12.4 -> v0.12.5 Updating alloy-rpc-types-anvil v0.12.4 -> v0.12.5 Updating alloy-rpc-types-any v0.12.4 -> v0.12.5 Updating alloy-rpc-types-debug v0.12.4 -> v0.12.5 Updating alloy-rpc-types-engine v0.12.4 -> v0.12.5 Updating alloy-rpc-types-eth v0.12.4 -> v0.12.5 Updating alloy-rpc-types-trace v0.12.4 -> v0.12.5 Updating alloy-rpc-types-txpool v0.12.4 -> v0.12.5 Updating alloy-serde v0.12.4 -> v0.12.5 Updating alloy-signer v0.12.4 -> v0.12.5 Updating alloy-signer-aws v0.12.4 -> v0.12.5 Updating alloy-signer-gcp v0.12.4 -> v0.12.5 Updating alloy-signer-ledger v0.12.4 -> v0.12.5 Updating alloy-signer-local v0.12.4 -> v0.12.5 Updating alloy-signer-trezor v0.12.4 -> v0.12.5 Updating alloy-sol-macro v0.8.22 -> v0.8.23 Updating alloy-sol-macro-expander v0.8.22 -> v0.8.23 Updating alloy-sol-macro-input v0.8.22 -> v0.8.23 Updating alloy-sol-type-parser v0.8.22 -> v0.8.23 Updating alloy-sol-types v0.8.22 -> v0.8.23 Updating alloy-transport v0.12.4 -> v0.12.5 Updating alloy-transport-http v0.12.4 -> v0.12.5 Updating alloy-transport-ipc v0.12.4 -> v0.12.5 Updating alloy-transport-ws v0.12.4 -> v0.12.5 Updating ariadne v0.5.0 -> v0.5.1 Updating async-compression v0.4.20 -> v0.4.21 Updating async-trait v0.1.87 -> v0.1.88 Updating aws-config v1.5.18 -> v1.6.0 Updating aws-credential-types v1.2.1 -> v1.2.2 Adding aws-lc-rs v1.12.6 Adding aws-lc-sys v0.27.1 Updating aws-runtime v1.5.5 -> v1.5.6 Updating aws-sdk-kms v1.62.0 -> v1.63.0 Updating aws-sdk-sso v1.61.0 -> v1.62.0 Updating aws-sdk-ssooidc v1.62.0 -> v1.63.0 Updating aws-sdk-sts v1.62.0 -> v1.63.0 Updating aws-sigv4 v1.2.9 -> v1.3.0 Removing aws-smithy-http v0.60.12 Removing aws-smithy-http v0.61.1 Updating aws-types v1.3.5 -> v1.3.6 Unchanged axum v0.7.9 (available: v0.8.1) Unchanged backtrace v0.3.71 (available: v0.3.74) Updating base64ct v1.7.1 -> v1.7.3 Adding bindgen v0.69.5 Adding cexpr v0.6.0 Adding clang-sys v1.8.1 Adding cmake v0.1.54 Removing core-foundation v0.9.4 Updating foldhash v0.1.4 -> v0.1.5 Updating foundry-block-explorers v0.11.0 -> v0.11.2 Removing h2 v0.3.26 Updating half v2.4.1 -> v2.5.0 Updating handlebars v6.3.1 -> v6.3.2 Updating http v1.2.0 -> v1.3.1 Updating http-body-util v0.1.2 -> v0.1.3 Updating humantime v2.1.0 -> v2.2.0 Removing hyper v0.14.32 Removing hyper-rustls v0.24.2 Adding itertools v0.12.1 Adding jobserver v0.1.32 Adding lazycell v1.3.0 Updating libc v0.2.170 -> v0.2.171 Adding libloading v0.8.6 Updating linux-raw-sys v0.9.2 -> v0.9.3 Adding macro-string v0.1.4 Updating once_cell v1.21.0 -> v1.21.1 Updating op-alloy-consensus v0.11.0 -> v0.11.2 Updating op-alloy-rpc-types v0.11.0 -> v0.11.2 Updating prettyplease v0.2.30 -> v0.2.31 Updating prodash v29.0.0 -> v29.0.1 Unchanged protobuf v3.3.0 (available: v3.7.2) Unchanged protobuf-support v3.3.0 (available: v3.7.2) Updating quote v1.0.39 -> v1.0.40 Unchanged rand v0.8.5 (available: v0.9.0) Updating reqwest v0.12.12 -> v0.12.14 Updating ring v0.17.13 -> v0.17.14 Adding rustc-hash v1.1.0 Removing rustls v0.21.12 Removing rustls-native-certs v0.6.3 Removing rustls-pemfile v1.0.4 Removing rustls-webpki v0.101.7 Removing sct v0.7.1 Removing security-framework v2.11.1 Unchanged solang-parser v0.3.3 (available: v0.3.4) Updating syn-solidity v0.8.22 -> v0.8.23 Updating tempfile v3.18.0 -> v3.19.0 Updating tokio v1.44.0 -> v1.44.1 Removing tokio-rustls v0.24.1 Updating tokio-util v0.7.13 -> v0.7.14 Updating uuid v1.15.1 -> v1.16.0 Unchanged vergen v8.3.2 (available: v9.0.4) Adding which v4.4.2 Updating widestring v1.1.0 -> v1.2.0 Updating windows-registry v0.2.0 -> v0.4.0 Updating winnow v0.7.3 -> v0.7.4 note: to see how you depend on a package, run `cargo tree --invert --package <dep>@<ver>` Co-authored-by: mattsse <[email protected]> Co-authored-by: grandizzy <[email protected]> * fix: build alpine/musl with cross (#10086) * fix: build apline with cross * Install cross from main * Update .github/workflows/release.yml Co-authored-by: DaniPopes <[email protected]> * Specify alpine platform --------- Co-authored-by: DaniPopes <[email protected]> * chore: fix target check for musl (#10093) * fix(`forge test --debug`): do not panic when user specifies both `--match-path` and `<PATH>` , bail instead (#10094) cleanly exit instead of panic * docs: edited a dead link in `precompiles.rs` (#10049) Update dead link in `precompiles.rs` Co-authored-by: zerosnacks <[email protected]> * chore: fix release (#10098) * Bump release runners to 22.04 * Fix docker release: downgrade cross * feat(anvil): add genesis number to configuration and update related structures (#10083) * feat: add genesis number to configuration and update related structures - Introduced `genesis.number` in `GenesisConfig` to store the genesis block number. - Added `get_genesis_number` method to retrieve the genesis number. - Updated `setup` function to initialize the genesis number. - Modified `BlockchainStorage` and `Blockchain` constructors to accept and utilize the genesis number. - Adjusted tests to reflect the new genesis number functionality. * Fix fmt --------- Co-authored-by: grandizzy <[email protected]> Co-authored-by: grandizzy <[email protected]> * chore: fix release - revert updates (#10107) * Revert "chore: fix release (#10098)" This reverts commit 8d482d523143fe1413d6fb6095443a3cf9a54ce2. * Revert "chore(deps): weekly `cargo update` (#10088)" This reverts commit a7e3421c6e0101b1e6494b3b2ac770dcfdadab5f. * Cross not from main * fix clippy * chore: bump svm-rs (#10111) bump svm-rs * Update to soldeer 0.5.3 (#10110) * release v0.5.3 of soldeer * removed clap dep, fmt and solved tests * matching foundry's verbosity * feat(`cast`): make unsigned raw txs (#10105) * chore: rotate (#10120) * fix(forge): clone src with node_modules (#10119) * feat(forge): add accessList and cold/warm cheatcodes (#10112) * feat(forge): add cold/warm cheatcodes * Add accessList cheatcode * Add comment, apply default acess list only if option is some * chore: run ci tests only if clippy/fmt/deny success (#10127) * chore: rename vm.coolSlot/warmSlot, fix flaky test (#10128) * docs: misc miner comments (#10125) * docs: misc miner comments * clippy * chore: cleanup eof support (#10081) * chore: cleanup eof test * Remove EOF docker * Changes after review: imrpove test, add back version * chore: refactor `forge` for library use (#10117) * chore: refactor `cast` for library use (#10123) * chore: remove unused dependencies (#10132) remove redundant redeps, prefer workspace for indicatif * chore: clean up features, add features in CI (#10096) * chore: clean up features, add features in CI * doc * chore: refactor `anvil` for library use (#10130) * make `anvil` easier accessible as a library * clean up * doc nits * Revert "chore: refactor `anvil` for library use" (#10135) Revert "chore: refactor `anvil` for library use (#10130)" This reverts commit 21bf35b62948741719622b1abde22768d24238f8. * add cast wallet change password command (#10089) * add cast wallet change wallet * no need delete, just overwrite file * add test --------- Co-authored-by: grandizzy <[email protected]> Co-authored-by: zerosnacks <[email protected]> * chore: remove experimental from cheatcodes (#10137) * chore: accessList sig compatible with solc <= 0.8.0 (#10141) * chore: refactor `anvil` for library use (#10139) * make `anvil` easier accessible as a library * clean up * doc nits * fix build issue * chore: refactor `chisel` for library use (#10142) make `chisel` library compatible * test: increase weight for urls (#10148) test: increase weight for keys * chore: include all available keys (#10147) * feat: add explicit_iter_loop clippy lint (#10146) * feat(forge build): add `--use-literal-content` CLI flag (#10143) Co-authored-by: DaniPopes <[email protected]> * chore: improve ci (#10152) * chore: improve ci - reth and drpc * Fix flaky * New drpc * fix(forge init): handle github.com/ prefixed templates (#10151) * Replace `#[allow()]` with `#[expect()]` (#10131) * Replace `#[allow()]` with `#[expect()]` * Remove unfulfilled `#[expect()]` and revert one that can't be changed * Revert to allow[()] on large enums * Keep `#[expect()]`` on large enums * Keep `#[expect()]` on large enums * Fix all CI * Fix all CI * Fix all CI * Replace #[expect()] with #[allow()] * Fix CI failure --------- Co-authored-by: grandizzy <[email protected]> * feat(cast): add `cast txpool` (#10104) * feat(cast): txpool inspection utils * fix: typo * chore: cleanup * clippy --------- Co-authored-by: Matthias Seitz <[email protected]> * fix(forge): bail if forge create contract with empty bytecode (#10159) fix(forge): err if forge create contract with empty bytecode * fix(cast): send should not panic on revert decoding (#10155) * fix(forge): respect --optimize flag when verify with forge create (#10163) * fix: Use the unused skip_extra_derives bind argument (#10099) Co-authored-by: Yash Atreya <[email protected]> * chore: add archive BSC RPC support in test suite (#10004) * add bnb, currently API keys have not enabled the app * add https://github.com/foundry-rs/foundry/pull/9996 test * given BSC archive node is not available, even testnet, workaround by fetching latest excessive gas transaction (system tx) in the latest block and running against that * chore(deps): weekly `cargo update` (#10158) * chore(deps): weekly `cargo update` Locking 119 packages to latest compatible versions Updating alloy-chains v0.1.64 -> v0.1.66 Updating alloy-consensus v0.12.4 -> v0.12.6 Updating alloy-consensus-any v0.12.4 -> v0.12.6 Updating alloy-contract v0.12.4 -> v0.12.6 Updating alloy-dyn-abi v0.8.22 -> v0.8.24 Updating alloy-eips v0.12.4 -> v0.12.6 Updating alloy-genesis v0.12.4 -> v0.12.6 Updating alloy-json-abi v0.8.22 -> v0.8.24 Updating alloy-json-rpc v0.12.4 -> v0.12.6 Updating alloy-network v0.12.4 -> v0.12.6 Updating alloy-network-primitives v0.12.4 -> v0.12.6 Updating alloy-primitives v0.8.22 -> v0.8.24 Updating alloy-provider v0.12.4 -> v0.12.6 Updating alloy-pubsub v0.12.4 -> v0.12.6 Updating alloy-rpc-client v0.12.4 -> v0.12.6 Updating alloy-rpc-types v0.12.4 -> v0.12.6 Updating alloy-rpc-types-anvil v0.12.4 -> v0.12.6 Updating alloy-rpc-types-any v0.12.4 -> v0.12.6 Updating alloy-rpc-types-debug v0.12.4 -> v0.12.6 Updating alloy-rpc-types-engine v0.12.4 -> v0.12.6 Updating alloy-rpc-types-eth v0.12.4 -> v0.12.6 Updating alloy-rpc-types-trace v0.12.4 -> v0.12.6 Updating alloy-rpc-types-txpool v0.12.4 -> v0.12.6 Updating alloy-serde v0.12.4 -> v0.12.6 Updating alloy-signer v0.12.4 -> v0.12.6 Updating alloy-signer-aws v0.12.4 -> v0.12.6 Updating alloy-signer-gcp v0.12.4 -> v0.12.6 Updating alloy-signer-ledger v0.12.4 -> v0.12.6 Updating alloy-signer-local v0.12.4 -> v0.12.6 Updating alloy-signer-trezor v0.12.4 -> v0.12.6 Updating alloy-sol-macro v0.8.22 -> v0.8.24 Updating alloy-sol-macro-expander v0.8.22 -> v0.8.24 Updating alloy-sol-macro-input v0.8.22 -> v0.8.24 Updating alloy-sol-type-parser v0.8.22 -> v0.8.24 Updating alloy-sol-types v0.8.22 -> v0.8.24 Updating alloy-transport v0.12.4 -> v0.12.6 Updating alloy-transport-http v0.12.4 -> v0.12.6 Updating alloy-transport-ipc v0.12.4 -> v0.12.6 Updating alloy-transport-ws v0.12.4 -> v0.12.6 Updating ariadne v0.5.0 -> v0.5.1 Updating async-compression v0.4.20 -> v0.4.21 Updating async-trait v0.1.87 -> v0.1.88 Updating aws-config v1.5.18 -> v1.6.0 Updating aws-credential-types v1.2.1 -> v1.2.2 Adding aws-lc-rs v1.12.6 Adding aws-lc-sys v0.27.1 Updating aws-runtime v1.5.5 -> v1.5.6 Updating aws-sdk-kms v1.62.0 -> v1.63.0 Updating aws-sdk-sso v1.61.0 -> v1.62.0 Updating aws-sdk-ssooidc v1.62.0 -> v1.63.0 Updating aws-sdk-sts v1.62.0 -> v1.63.0 Updating aws-sigv4 v1.2.9 -> v1.3.0 Removing aws-smithy-http v0.60.12 Removing aws-smithy-http v0.61.1 Updating aws-types v1.3.5 -> v1.3.6 Unchanged axum v0.7.9 (available: v0.8.1) Unchanged backtrace v0.3.71 (available: v0.3.74) Updating base64ct v1.7.1 -> v1.7.3 Adding bindgen v0.69.5 Updating bon v3.4.0 -> v3.5.1 Updating bon-macros v3.4.0 -> v3.5.1 Updating cc v1.2.16 -> v1.2.17 Adding cexpr v0.6.0 Adding clang-sys v1.8.1 Updating clap_complete v4.5.46 -> v4.5.47 Adding cmake v0.1.54 Updating deranged v0.3.11 -> v0.4.0 Updating foldhash v0.1.4 -> v0.1.5 Updating foundry-block-explorers v0.11.0 -> v0.11.2 Updating gcloud-sdk v0.26.3 -> v0.26.4 Updating getrandom v0.3.1 -> v0.3.2 Removing h2 v0.3.26 Updating half v2.4.1 -> v2.5.0 Updating handlebars v6.3.1 -> v6.3.2 Updating http v1.2.0 -> v1.3.1 Updating http-body-util v0.1.2 -> v0.1.3 Updating humantime v2.1.0 -> v2.2.0 Removing hyper v0.14.32 Removing hyper-rustls v0.24.2 Updating inferno v0.12.1 -> v0.12.2 Adding itertools v0.12.1 Adding jobserver v0.1.32 Adding lazycell v1.3.0 Updating libc v0.2.170 -> v0.2.171 Adding libloading v0.8.6 Updating linux-raw-sys v0.9.2 -> v0.9.3 Adding macro-string v0.1.4 Updating once_cell v1.21.0 -> v1.21.1 Updating op-alloy-consensus v0.11.0 -> v0.11.2 Updating op-alloy-rpc-types v0.11.0 -> v0.11.2 Updating prettyplease v0.2.30 -> v0.2.31 Updating prodash v29.0.0 -> v29.0.1 Unchanged protobuf v3.3.0 (available: v3.7.2) Unchanged protobuf-support v3.3.0 (available: v3.7.2) Updating quinn v0.11.6 -> v0.11.7 Updating quinn-proto v0.11.9 -> v0.11.10 Updating quote v1.0.39 -> v1.0.40 Adding r-efi v5.2.0 Unchanged rand v0.8.5 (available: v0.9.0) Updating reqwest v0.12.12 -> v0.12.15 Updating revm v19.6.0 -> v19.7.0 Updating revm-precompile v16.1.0 -> v16.2.0 Updating ring v0.17.13 -> v0.17.14 Adding rustc-hash v1.1.0 Updating rustix v1.0.2 -> v1.0.3 Removing rustls v0.21.12 Removing rustls v0.23.23 Adding rustls v0.23.25 Removing rustls-native-certs v0.6.3 Removing rustls-pemfile v1.0.4 Removing rustls-webpki v0.101.7 Removing rustls-webpki v0.102.8 Adding rustls-webpki v0.103.0 Removing sct v0.7.1 Removing security-framework v2.11.1 Unchanged solang-parser v0.3.3 (available: v0.3.4) Updating svm-rs-builds v0.5.13 -> v0.5.14 Updating syn-solidity v0.8.22 -> v0.8.24 Updating tempfile v3.18.0 -> v3.19.1 Updating time v0.3.39 -> v0.3.40 Updating time-core v0.1.3 -> v0.1.4 Updating time-macros v0.2.20 -> v0.2.21 Updating tokio v1.44.0 -> v1.44.1 Removing tokio-rustls v0.24.1 Updating tokio-util v0.7.13 -> v0.7.14 Adding tracing-futures v0.2.5 Updating uuid v1.15.1 -> v1.16.0 Unchanged vergen v8.3.2 (available: v9.0.4) Updating wasi v0.13.3+wasi-0.2.2 -> v0.14.2+wasi-0.2.4 Adding which v4.4.2 Updating widestring v1.1.0 -> v1.2.0 Updating windows-interface v0.59.0 -> v0.59.1 Updating windows-link v0.1.0 -> v0.1.1 Updating windows-registry v0.2.0 -> v0.4.0 Updating windows-result v0.3.1 -> v0.3.2 Updating winnow v0.7.3 -> v0.7.4 Updating wit-bindgen-rt v0.33.0 -> v0.39.0 Updating zerocopy v0.8.23 -> v0.8.24 Updating zerocopy-derive v0.8.23 -> v0.8.24 Updating zip v2.4.1 -> v2.4.2 note: to see how you depend on a package, run `cargo tree --invert --package <dep>@<ver>` * chore: release for latest cargo updates (#10168) * …
1 parent 582278d commit 650e0c6

File tree

512 files changed

+32459
-18736
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

512 files changed

+32459
-18736
lines changed

.config/nextest.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[profile.default]
2-
retries = { backoff = "exponential", count = 2, delay = "2s", jitter = true }
2+
retries = { backoff = "exponential", count = 2, delay = "3s", jitter = true }
33
slow-timeout = { period = "1m", terminate-after = 3 }
44

55
[[profile.default.overrides]]

.gitattributes

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
11
crates/cheatcodes/assets/*.json linguist-generated
22
testdata/cheats/Vm.sol linguist-generated
3+
4+
# See <https://git-scm.com/docs/gitattributes#_defining_a_custom_hunk_header>
5+
*.rs diff=rust

.github/ISSUE_TEMPLATE/BUG-FORM.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ body:
3232
attributes:
3333
label: What version of Foundry are you on?
3434
placeholder: "Run forge --version and paste the output here"
35+
- type: input
36+
attributes:
37+
label: What version of Foundryup are you on?
38+
placeholder: "Run foundryup --version and paste the output here"
3539
- type: input
3640
attributes:
3741
label: What command(s) is the bug in?
@@ -51,4 +55,4 @@ body:
5155
label: Describe the bug
5256
description: Please include relevant Solidity snippets as well if relevant.
5357
validations:
54-
required: true
58+
required: true

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,15 @@ Thank you for your Pull Request. Please provide a description above and review
33
the requirements below.
44
55
Bug fixes and new features should include tests.
6+
7+
Contributors guide: https://github.com/foundry-rs/foundry/blob/master/CONTRIBUTING.md
8+
9+
The contributors guide includes instructions for running rustfmt and building the
10+
documentation.
611
-->
712

13+
<!-- ** Please select "Allow edits from maintainers" in the PR Options ** -->
14+
815
## Motivation
916

1017
<!--
@@ -19,3 +26,9 @@ thought of as being the motivation for your change.
1926
Summarize the solution and provide any necessary context needed to understand
2027
the code change.
2128
-->
29+
30+
## PR Checklist
31+
32+
- [ ] Added Tests
33+
- [ ] Added Documentation
34+
- [ ] Breaking changes

.github/assets/banner.png

546 KB
Loading
72.2 KB
Loading
71.6 KB
Loading
70.7 KB
Loading
70.4 KB
Loading

.github/assets/demo.gif

1.63 MB
Loading

0 commit comments

Comments
 (0)