Skip to content

Commit

Permalink
feat: Foundry Upstream support 62cdea8 (#493)
Browse files Browse the repository at this point in the history
* feat(fuzz) - add test progress (#7914)

* feat(forge) - add test progress

* Code cleanup

* Invariant progress bar cleanup

* Display number of threads and shrink run counter

* Add progress for regular fuzz tests too

* Cleanup code, use rayon collect

* Changes after review. Cleanup

* Fix clippy

* chore: update lockfile

* chore: propagate fmt parser errors (#8109)

* chore: add test for #2851 (#8112)

chore: add test for 2851

* fix: bypass block gas limit if disabled (#8111)

* feat: Add block id to cast (#8074)

* add blockId to cast

* Update opts.rs

* Update main.rs

* Update main.rs

* update

* tests

---------

Co-authored-by: DaniPopes <[email protected]>

* fix(invariant): exclude default addresses from senders (#8118)

* fix(invariant): exclude default addresses from senders

* Changes after review: use array instead vec

* chore(deps): weekly `cargo update` (#8120)

Updating git repository `https://github.com/bluealloy/revm.git`
    Updating git repository `https://github.com/alloy-rs/alloy`
    Updating git repository `https://github.com/paradigmxyz/revm-inspectors`
     Locking 37 packages to latest compatible versions
    Updating alloy-dyn-abi v0.7.4 -> v0.7.5
    Updating alloy-json-abi v0.7.4 -> v0.7.5
    Updating alloy-primitives v0.7.4 -> v0.7.5
    Updating alloy-sol-macro v0.7.4 -> v0.7.5
    Updating alloy-sol-macro-expander v0.7.4 -> v0.7.5
    Updating alloy-sol-macro-input v0.7.4 -> v0.7.5
    Updating alloy-sol-type-parser v0.7.4 -> v0.7.5
    Updating alloy-sol-types v0.7.4 -> v0.7.5
    Updating anstyle-query v1.0.3 -> v1.1.0
    Updating aws-config v1.5.0 -> v1.5.1
    Updating aws-sdk-kms v1.29.0 -> v1.30.0
    Updating aws-sdk-sso v1.27.0 -> v1.29.0
    Updating aws-sdk-ssooidc v1.28.0 -> v1.30.0
    Updating aws-sdk-sts v1.28.0 -> v1.29.0
    Updating aws-smithy-runtime v1.5.4 -> v1.5.5
    Updating aws-smithy-runtime-api v1.6.1 -> v1.6.2
    Updating aws-types v1.3.0 -> v1.3.1
    Updating cc v1.0.98 -> v1.0.99
    Updating clap v4.5.4 -> v4.5.6
    Updating clap_builder v4.5.2 -> v4.5.6
    Updating clap_complete v4.5.2 -> v4.5.5
    Updating clap_complete_fig v4.5.0 -> v4.5.1
    Updating clap_derive v4.5.4 -> v4.5.5
    Updating clap_lex v0.7.0 -> v0.7.1
    Updating evmole v0.3.3 -> v0.3.4
    Removing heck v0.4.1
    Updating hyper v0.14.28 -> v0.14.29 (latest: v1.3.1)
    Updating proc-macro2 v1.0.84 -> v1.0.85
    Updating ruint v1.12.1 -> v1.12.3
    Updating ruint-macro v1.2.0 -> v1.2.1
    Updating strum_macros v0.26.3 -> v0.26.4
    Updating syn-solidity v0.7.4 -> v0.7.5
    Updating toml v0.8.13 -> v0.8.14
    Updating toml_edit v0.22.13 -> v0.22.14
    Updating unicode-width v0.1.12 -> v0.1.13
    Updating utf8parse v0.2.1 -> v0.2.2
    Updating webpki-roots v0.26.1 -> v0.26.2
    Updating winnow v0.6.9 -> v0.6.13
note: pass `--verbose` to see 154 unchanged dependencies behind latest

Co-authored-by: mattsse <[email protected]>

* Support WalletOpts in `cast wallet derive-private-key` command (#8119)

* Support WalletOpts in `cast wallet derive-private-key` command

* rename cast wallet `derive-private-key` to `private-key`

* fix formatting

* Add aliases

* verbose flag

* tests

* Make output format more consistent with other subcommands

* hide legacy aliases

* derivation path

---------

Co-authored-by: poma <[email protected]>

* Feat: add solc & evm version to anvil readme (#7945)

* Update README.md

* add forge

* feat: add too many warnings error variant (#8125)

* feat: add too many warnings error variant

* docs: add to readme

* fix(forge): preserve state of persisted accounts on rollFork(tx) / transact (#8129)

* fix(forge): preserve state of persisted accounts on rollFork to tx / transact

* Changes after review: cleaner way to check if account persistent

* chore: add roll fork invariant test with handler state (#8130)

* fix(forge): needs a aws-kms feature to allow for continued support of the --aws flag (#8131)

* fix(release): build forge and cast with aws support on release (#8132)

* fix(release): build forge and cast with aws support on release

* fix(release): add support for aws-kms features for docker and releases

* bump compilers (#8126)

* fix(forge): fix the bug where source code incorrectly overlaps during debugging (#8134)

* fix: remove hardcoded retries (#8141)

* chore(deps): Bump alloy 14ed25d (#8128)

* chore: bump alloy 14ed25d

* Format files

* format: Remove unnecessary trailing comma updates

* Fix to update only alloy in Cargo.lock

* common: Enable eth feature for allot-rpc-types

* Enable eth feature for alloy-rpc-types

* bump alloy

* new retry changes

---------

Co-authored-by: Matthias Seitz <[email protected]>

* perf: don't unnecessarily create CheatsConfig (#8143)

* chore: improve test timings and cleanup (#8144)

* chore(evm): clean up executor methods some more (#8104)

* chore(evm): clean up executor methods some more

* fix: rename _committing to transact_, further clarify the separation

* chore: simplify is_success further

* chore: don't clone executor in unit tests

* Allow to specify entropy when generating new mnemonic with cast (#8145)

* Allow to specify entropy when generating new mnemonic with cast

* change print color to yellow, a standard warning color

---------

Co-authored-by: poma <[email protected]>

* fix: Soldeer: Fixed the url bug, it should be optional (#8155)

* Fixed the url bug, it should be optional

* added serde skip serializing

* feat: display source name in debugger (#8154)

* feat: display source name in debugger

* fmt

* clippy

* refactor

* feat(build): add option to build specific dir (#8149)

* feat(build): add option to build specific dir

* Changes after review:
- use source_files_iter helper, build single files and child dirs as well
- rename arg to paths, use 0.. pos arg

* Changes after review: reuse MultiCompilerLanguage::FILE_EXTENSIONS

* migrate(`forge-bind`): to alloy (#7919)

* migrate(forge-bind): to alloy - boilerplate and `SolMacroGen` type

* tokens to `SolInput`

* use SolInputKind

* update alloy-core deps version and use expand

* write cargo.toml

* alloy: write_to_module

* use `tokens_for_sol` from lib

* write to single_file

* nit

* nit

* add sol attr

* nits

* add alloy `Filter` and reuse get_json_files

* fix: throw err instead of panic!

* nits

* check cargo toml

* check existing alloy bindings

* clippy nits

* fmt

* doc nits

* clean up and nits

* extract `sol_macro_gen` to separate crate

* can specify alloy version

* nit

* warning nit

* clippy nit

* nit

Co-authored-by: DaniPopes <[email protected]>

* pretty fmt before writing

* nit: format!

* populate bytecode attr

* clippy

* nit

Co-authored-by: Matthias Seitz <[email protected]>

* fmt nits

* clippy

* parse path to `SolInput` directly

* fix: artifact duplication

* dedup faster

* add sol attributes

* fix: alloy dep

* clippy

* clippy nits

---------

Co-authored-by: DaniPopes <[email protected]>
Co-authored-by: Matthias Seitz <[email protected]>

* chore: add known error codes (#8166)

add known error codes

* fix: enable cache when `--build-info` is enabled (#8164)

fix: enable cache when --build-info is enabled

* fix(forge-bind): alloy deps and file consistency check (#8167)

* fix(forge): alloy deps in bind

* nit: braces

Co-authored-by: DaniPopes <[email protected]>

* fix(bind): file consistency check

* chore: unknown lints

---------

Co-authored-by: DaniPopes <[email protected]>

* perf: slightly improve inspector stack (#8169)

* feat(invariant): introduce `afterInvariant` function (#8106)

* feat(invariant): introduce tearDown function

* Add Tests

* Fix tests

* tearDown -> afterInvariant refactor

* Group has_invariants with tmp_tracing

* fix(forge-bind): allow attrs and mod single_file imports (#8171)

* fix(forge-bind): allow attrs and mod single_file imports

* fmt nit

* allow rustdoc::all

* fix: file consistenct check

* fix clippy

* chore(deps): weekly `cargo update` (#8172)

* chore(deps): weekly `cargo update`

    Updating git repository `https://github.com/bluealloy/revm.git`
    Updating git repository `https://github.com/alloy-rs/alloy`
    Updating git repository `https://github.com/paradigmxyz/revm-inspectors`
     Locking 45 packages to latest compatible versions
    Updating alloy-chains v0.1.18 -> v0.1.20
    Updating aws-runtime v1.2.2 -> v1.2.3
    Updating aws-sigv4 v1.2.1 -> v1.2.2
    Updating aws-smithy-runtime-api v1.6.2 -> v1.7.0
    Updating aws-smithy-types v1.1.10 -> v1.2.0
    Updating clap v4.5.6 -> v4.5.7
    Updating clap_builder v4.5.6 -> v4.5.7
    Updating derive_more v0.99.17 -> v0.99.18
    Updating fs4 v0.8.3 -> v0.8.4
    Updating http-body-util v0.1.1 -> v0.1.2
    Updating httparse v1.8.0 -> v1.9.3
      Adding icu_collections v1.5.0
      Adding icu_locid v1.5.0
      Adding icu_locid_transform v1.5.0
      Adding icu_locid_transform_data v1.5.0
      Adding icu_normalizer v1.5.0
      Adding icu_normalizer_data v1.5.0
      Adding icu_properties v1.5.0
      Adding icu_properties_data v1.5.0
      Adding icu_provider v1.5.0
      Adding icu_provider_macros v1.5.0
    Updating idna v0.5.0 -> v1.0.0
    Updating interprocess v2.1.1 -> v2.2.0
      Adding litemap v0.7.3
    Updating memchr v2.7.2 -> v2.7.4
    Updating redox_syscall v0.5.1 -> v0.5.2
    Updating regex v1.10.4 -> v1.10.5
    Updating regex-automata v0.4.6 -> v0.4.7
    Updating regex-lite v0.1.5 -> v0.1.6
    Updating regex-syntax v0.8.3 -> v0.8.4
    Updating rustls v0.23.9 -> v0.23.10
      Adding stable_deref_trait v1.2.0
      Adding synstructure v0.13.1
      Adding tinystr v0.7.6
    Removing unicode-bidi v0.3.15
    Updating url v2.5.0 -> v2.5.1
      Adding utf16_iter v1.0.5
      Adding utf8_iter v1.0.4
      Adding write16 v1.0.0
      Adding writeable v0.5.5
      Adding yoke v0.7.4
      Adding yoke-derive v0.7.4
      Adding zerofrom v0.1.4
      Adding zerofrom-derive v0.1.4
      Adding zerovec v0.10.2
      Adding zerovec-derive v0.10.2
note: pass `--verbose` to see 158 unchanged dependencies behind latest

* allow unicode

---------

Co-authored-by: mattsse <[email protected]>
Co-authored-by: Matthias Seitz <[email protected]>

* chore(deps): bump alloy, revm (#8177)

* chore(deps): bump alloy, revm

* doctests

* feat: debug_getRawTransaction RPC endpoint (#8162)

* feat: debug_getRawTransaction rpc endpoint

* clippy happy

* conflicts resolved

* chore: tests + refactor

* fix

* fix(invariant): weight invariant selectors by number of selectors (#8176)

* fix(invariant): weight invariant selectors by number of selectors

- Consolidate FuzzRunIdentifiedContracts logic
- add function to flatten contracts function in order to be used by strategy
- test

* Changes after review: cleanup

* perf: reduce clones in fuzzed_functions (#8178)

* bump compilers (#8153)

* [do not merge] patch compilers

* fix import

* fix doc

* update patch

* rm patch

* fix: make `paths` a positional argument (#8158)

* fix: move paths to BuildArgs

* tests

* dirs -> paths

* chore(deps): pin alloy 0.1.1 (#8182)

* chore(deps): pin alloy 0.1.1

* bump revm and apply patch

* perf: new-type TargetedContracts (#8180)

* feat: cast etherscan-source --flatten (#8159)

* fix(anvil): block dumps (#8160)

* implemented latest_block dump/load

* update to dump/load all blocks instead of only latest

* refactored state loading into storage.rs, and added load-dump cycle test

* fix clippy errors for anvil

* remove SerializableHeader and use Header (now serializable)

* clippy happy

---------

Co-authored-by: Matthias Seitz <[email protected]>

* feat(invariant): add excludeSelectors() filter (#8185)

* feat(invariant): add excludeSelectors() filter

* Apply suggestions from code review

Co-authored-by: DaniPopes <[email protected]>

* Review changes: shorter err message

---------

Co-authored-by: DaniPopes <[email protected]>

* fix(cheatcodes): use `call.bytecode_address` in mockCalls (#8184)

* fix(cheatcodes): handle delegatecalls in vm.mockCalls using `bytecode_address`

* add: repro test

* nit: forge fmt

* chore: remove rU256 alias (#8188)

* pick a random value for prevrandao for each block (#8187)

Co-authored-by: Pawel Peregud <[email protected]>

* chore: fix patches (#8189)

* perf: optimize load_contracts (#8190)

* chore(deps): move more deps to workspace (#8192)

* feat(cast): ux upgrade cast block returning block time in readable format.  (#8195)

* feat(cast): support readable time for cast block

* fix: remove `time`

* Update crates/common/src/fmt/ui.rs

* fmt

---------

Co-authored-by: fenghaojiang <[email protected]>
Co-authored-by: DaniPopes <[email protected]>

* chore: fix flaky invariant tests (#8199)

* feat(anvil): switch to `alloy` types (#8186)

* update to use anvil rpc types

Co-authored-by: moricho <[email protected]>

* remove redundant types

* use Index from Alloy

* update rev

* switch to use alloy-rpc-types-anvil patch

* use Index from `alloy_rpc_types_eth` instead of duplicate implementation in `alloy_rpc_types_anvil`

* use Index from rpc_types

* move namespaced imports of rpc-types-* to rpc-types metacrate

* make sure to enable "eth" namespace because default features are not enabled

---------

Co-authored-by: moricho <[email protected]>

* fix(verify-bytecode): use strong equality `==`,  not `.starts_with` (#8200)

* fix: `--isolate` fixes and daily CI job (#8194)

* feat: add daily CI job for `--isolate` feature

* fix tests

* wip

* fix tests

* wip

* wip

* fix

* update group name for nextest

* perf(cheatcodes): outline cold paths in inspector step (#8197)

* test: unflake an anvil test (#8204)

* chore: fix docstring and add tests for random cheats (#8202)

* fix(invariant): show labels when failure replay (#8201)

* chore(deps): bump alloy to `0.1.2`, remove patch (#8205)

* remove patch, update to `0.1.2`, marking `0.1.*` for flexibility

* revert `0.1.*`, pin to `0.1.2`

* perf: optimize inspector stack dispatching (#8206)

* chore: consolidate TestResult logic (#8208)

* chore: consolidate TestResult logic

* Update crates/forge/src/result.rs

Co-authored-by: DaniPopes <[email protected]>

* Changes after review: pass by value

---------

Co-authored-by: DaniPopes <[email protected]>

* chore: remove TestResult.to_owned (#8210)

* feat: add --no-request-size-limit option to anvil (#8209)

* feat: add --no-request-size-limit option to anvil

* chore: flip logic, fmt, improve cli help

* nit

---------

Co-authored-by: DaniPopes <[email protected]>

* chore: fix more clippy (#8211)

* chore: fix more clippy

* chore: missing lints.workspace

* docs

* fix: update bytecode matching for coverage (#8214)

* fix: update bytecode matching for coverage

* clippy

* chore: factor out common code

---------

Co-authored-by: DaniPopes <[email protected]>

* chore: enable redundant-lifetimes lint (#8212)

* fix: correct the hyperlinks related to JSON-RPC. (#8215)

* Correct the hyperlinks related to JSON-RPC.

* chore: revert testdata changes

---------

Co-authored-by: DaniPopes <[email protected]>

* fix: Re-edited to delete the language choose (#8218)

Re-edited to delete the language choose

* ci: pin vyper to 0.3 (#8219)

* chore(deps): bump revm 10.0, un-git revm-inspectors (#8220)

* fix: use delay tick behaviour (#8221)

* ci: remove crate docs redirection

* fix: breaking change in revm-inspectors

* ci: enable index page for crate docs

* chore(evm): use u64 for gas limit (#8226)

* docs: update Backend and MultiFork docs (#8229)

* chore(deps): weekly `cargo update` (#8230)

Locking 9 packages to latest compatible versions
    Updating alloy-chains v0.1.21 -> v0.1.22
    Updating aws-types v1.3.1 -> v1.3.2
    Updating clap_complete v4.5.5 -> v4.5.6
    Updating displaydoc v0.2.4 -> v0.2.5
    Updating lazy_static v1.4.0 -> v1.5.0
    Updating proc-macro2 v1.0.85 -> v1.0.86
    Updating proptest v1.4.0 -> v1.5.0
    Removing spin v0.5.2
    Updating subtle v2.5.0 -> v2.6.0
    Updating syn v2.0.66 -> v2.0.67
note: pass `--verbose` to see 160 unchanged dependencies behind latest

Co-authored-by: mattsse <[email protected]>

* feat(evm): collect logs from execution result (#8231)

* chore(evm): make Executor fields private (#8233)

* feat: improve test function classification (#8235)

* chore: tweak tracing spans and events (#8237)

* chore: tweak profiles, rename debug-fast to profiling, remove local (#8238)

* chore: cleanup invariant test code (#8236)

* chore: cleanup invariant test code

* Changes after review, RefCell invariant test data struct

* fix: use tx.into_signed directly (#8243)

* fix: overflow in randomUint (#8239)

* fix: use inclusive check for logs range fetch in fork (#8245)

* feat: extract ABIs and formatting code into separate crates (#8240)

* feat: extract ABIs and formatting code into separate crates

* reorder

* features

* hex

* doctests

* feat: add feature to enable tracy (#8247)

* chore: clean up ds-test failure related code (#8244)

* feat: add feature to enable tracy

* perf: add more early returns in is_success logic

* try

* readd snapshot check

* update

* com

* docs

* clean

* chore: remove extra checks

* fix

* fix(invariant): do not continue test runs if invariant fails (#8253)

* fix(invariant): exit early if invariant fails in initial state (#8252)

* Fix: Check empty input bytecode in `find_by_deployed_code_exact`    (#8257)

* fix: find by deployed code extract

* chore: add unit test

* chore: minor refactor

* refactor: reduce code duplication for assertion cheats and introduce `legacy_assertions` flag (#8251)

* wip

* refactor: reduce code duplication for assertion cheatcodes + legacy_assertions config option

* fix

* fix

* feat: `CheatcodesExecutor` + `vm.deployCode` (#8181)

* wip

* wip

* wip

* clean up

* fix vm.transact traces

* clean up

* clippy

* cargo cheats

* review fixes

* clippy

* tests

* clippy

* cargo cheats

* const -> static

* fmt

* clippy

* fix doc

* chore: fmt

* fix: doc

* fix: doc

* increase depth for failing test

* review fixes

* reduce diff

* rename

* call_with_executor

* chore: keep dbext methods with auto_impl attribute

---------

Co-authored-by: DaniPopes <[email protected]>

* refactor: use `revm-inspectors` traces for debugger (#8249)

* move calldata to DebugNode

* refactor: use tracer from inspectors for debugger

* fix: rm hex

* clippy

* bump inspectors

* newline

* docs

* fix

* fmt

* feat(coverage): exit early if tests failed (#8268)

* feat(invariant): collect coverage during runs (#8265)

* fix(invariant): collect coverage during runs

* Collect coverage only if in forge coverage execution

* Do not check exec context

* chore: remove an unnecessary debug log (#8270)

* fix: correctly adjust depth when calling cheatcodes with `--isolate` (#8273)

fix: correctly adjust depth when calling cheatcodes with --isolate

* fix: `trace_debugTransaction` is inconsistent with geth's responses for tracer 'callTracer' (#6884)

* fix: add CallTracer in anvil

* fix: extra if let

* try impl geth_trace

* fix: return empty for non supported tracers

* fix: types import

* fix: rustfmt

* fix

* fix: type

* fix: change to return Result

* fix: clippy

* fix: match

* fix: merge

* chore: simplify

---------

Co-authored-by: DaniPopes <[email protected]>

* chore: reduce verbosity for ext tests (#8275)

* feat(forge): prettify `ir` and `irOptimized` inspect outputs (#8272)

* feat(anvil): fork from transaction hash (#8228)

* add --fork-transaction-hash

* reinstate with_fork_block_number()

* move forkchoice to config module and add comments

* partially get txn replay implemented

* unexpected tx hash test

* Reinstate with_fork_block_number()

* fix miner poll logic

* get full block

* rm todos

* fix miner poll logic

* rpc to typed conversion

* initial tests pass

* move forkchoice struct

* try_from

* fin tests

* rename replays and rm unwrap

* choice to block num usage

* lint

* none on constructor

* break out miner constructor

* add derive fn

* single line w force txns

* chore: touchups

---------

Co-authored-by: Matthias Seitz <[email protected]>

* chore: make clippy happy (#8286)

* Update prune-prereleases.js to keep 30 nightlies around (#8282)

* fix: vm rpc encoding (#8288)

* fix: vm rpc encoding

* fix test

* convert fixedbytes to bytes

* forge fmt

* take size from fixed bytes

* convert addr to bytes

* feat: implement EOF methods in Inspector trait (#8123)

* feat: implement EOF methods in Inspector trait

* create and eofcreate refactored

* create_end and eofcreate_end refactored

* log_debug_fn

* move allow_cheatcodes_fn from CreateParams to create_common arg

* pass caller value

* fix tests that require modified CreateInputs.caller to be propagated

* use FnMut bounds for closures and remove dyn aliases

* fix end_common

* fix tests

* log_debug_fn uses CreateScheme instead of full input

* introduce CommonCreateInput trait

* introduce CommonEndInput trait

* recover referecens to ecx.inner

* end_common -> create_end_common and docs

* move legacy/EOF traits and types to inspector::utils

* updates for latest revm

* add missing inspector::utils mod def

* fix build

* fix(cheatcodes): fallback to string if invalid 0x hex (#8290)

* test: update snekmate rev (#8295)

* test: update snekmate rev

* chore: bump vyper

* feat: `legacy_assertions` config option (#8263)

* apply_full

* feat: legacy_assertions flag

* forge fmt

* fix test

* fix docs

* fix: test

* legacy_assertions -> assertions_revert

* legacy_assertions

* fix: enable legacy assertions for legacy ext tests

* update README

* feat: reduce default gas limit to ~1B (#8274)

* feat: reduce default gas limit to ~1B

* com

* chore(cast): improve vanity help (#8296)

* chore: use is_zero directly (#8297)

* fix: forkchoice match checks (#8299)

* perf: borrow output when building test runner (#8294)

* chore: borrow output when building test runner

* chore: strip always

* chore: lenient stripping

* fix

* fix: don't actually strip always

* chore(deps): bump foundry-compilers (#8291)

* chore(deps): bump foundry-compilers

* bumpies

* chore: update fixtures after forge-std release (#8302)

* chore: update fixtures after forge-std release

* fix

* chore(deps): bump revm-inspectors (#8300)

* chore(deps): bump revm-inspectors

* fix

* fix2

* inline

* fix3

* docs(cast): improve vanity help naming (#8306)

* chore(deps): weekly `cargo update` (#8303)

Locking 44 packages to latest compatible versions
    Updating alloy-chains v0.1.22 -> v0.1.23
    Updating alloy-consensus v0.1.2 -> v0.1.3
    Updating alloy-contract v0.1.2 -> v0.1.3
    Updating alloy-eips v0.1.2 -> v0.1.3
    Updating alloy-genesis v0.1.2 -> v0.1.3
    Updating alloy-json-rpc v0.1.2 -> v0.1.3
    Updating alloy-network v0.1.2 -> v0.1.3
    Updating alloy-provider v0.1.2 -> v0.1.3
    Updating alloy-pubsub v0.1.2 -> v0.1.3
    Updating alloy-rlp v0.3.5 -> v0.3.7
    Updating alloy-rlp-derive v0.3.5 -> v0.3.7
    Updating alloy-rpc-client v0.1.2 -> v0.1.3
    Updating alloy-rpc-types v0.1.2 -> v0.1.3
    Updating alloy-rpc-types-anvil v0.1.2 -> v0.1.3
    Updating alloy-rpc-types-engine v0.1.2 -> v0.1.3
    Updating alloy-rpc-types-eth v0.1.2 -> v0.1.3
    Updating alloy-rpc-types-trace v0.1.2 -> v0.1.3
    Updating alloy-rpc-types-txpool v0.1.2 -> v0.1.3
    Updating alloy-serde v0.1.2 -> v0.1.3
    Updating alloy-signer v0.1.2 -> v0.1.3
    Updating alloy-signer-aws v0.1.2 -> v0.1.3
    Updating alloy-signer-gcp v0.1.2 -> v0.1.3
    Updating alloy-signer-ledger v0.1.2 -> v0.1.3
    Updating alloy-signer-local v0.1.2 -> v0.1.3
    Updating alloy-signer-trezor v0.1.2 -> v0.1.3
    Updating alloy-transport v0.1.2 -> v0.1.3
    Updating alloy-transport-http v0.1.2 -> v0.1.3
    Updating alloy-transport-ipc v0.1.2 -> v0.1.3
    Updating alloy-transport-ws v0.1.2 -> v0.1.3
    Updating bitflags v2.5.0 -> v2.6.0
    Updating cc v1.0.100 -> v1.0.102
    Updating clap v4.5.7 -> v4.5.8
    Updating clap_builder v4.5.7 -> v4.5.8
    Updating clap_complete v4.5.6 -> v4.5.7
    Updating clap_derive v4.5.5 -> v4.5.8
    Updating either v1.12.0 -> v1.13.0
    Updating evmole v0.3.4 -> v0.3.6
    Updating log v0.4.21 -> v0.4.22
    Updating mime_guess v2.0.4 -> v2.0.5
    Updating num-bigint v0.4.5 -> v0.4.6
    Updating serde_json v1.0.117 -> v1.0.118
    Updating subtle v2.6.0 -> v2.6.1
    Updating tinyvec v1.6.0 -> v1.6.1
    Updating uuid v1.9.0 -> v1.9.1
note: pass `--verbose` to see 166 unchanged dependencies behind latest

Co-authored-by: mattsse <[email protected]>

* fix: suppress compile reporting for forge flatten (#8313)

* perf: only instantiate Vyper when necessary (#8307)

* chore: pin forge-std in tests + CI job to bump it (#8308)

* chore: update dev shell flake (#8314)

Updated to latest Rust toolchain version (v1.79). The rust overlay
doesn't use `flake-utils` anymore. Switched to solc 0.8.23 since that's
the default for the tests. Moved around the deps to be more in line with
recommendations (`buildInputs` for things that get linked and
`nativeBuildInputs` for what's needed during compilation only,
`packages` for things that are not needed at compile time).

* fix: set next block timestamp as late as possible (#8311)

* feat(cheatcodes): add rpc with url overload (#8316)

* chore(verify-bytecode: refactor code for preventing code duplications (#8292)

* fix: find by deployed code extract

* chore: add unit test

* chore: minor refactor

* feat: minor refactor

* feat: remove unused imports

* feat: remove unused imports

* test: fix unit test

* fix: check whether tx is tx creation

* Updating soldeer to version 0.2.16 (#8320)

* chore: tweak profiles once more (#8317)

* fix: only force include txs on first ready poll (#8325)

* chore: include tx in setup output (#8324)

* feat(coverage): add option to ignore directories and files from coverage report (#8321)

* feat: add option to ignore directories from coverage report

* add docs, rename no-coverage-path to ignore-coverage-path

* cargo fmt

* small refactor

* revert formatting changes

* revert formatting

* path_pattern_ignore_coverage -> coverage_pattern_inverse

* use regex instead of glob

* re-enable ignoring of sources after report

* fix formatting

* add basic filter test

* remove redundant Path cast

* use HashMap::retain

* greatly simplify, remove CoverageFilter

* move constants out of filter map

---------

Co-authored-by: dimazhornyk <[email protected]>
Co-authored-by: Dima Zhornyk <[email protected]>

* feat(anvil): more flexible configuration `LogCollector` (#8328)

* wip

* separate console.log events under node::console

* rename

* fix

* fix: clippy + docs

* chore(template): update script template to deploy `Counter` contract (#8330)

update script template to deploy Counter contract

* chore(evm): extract create2 deployer deployer constant (#8331)

* chore: increase tx timeout (#8333)

* `foundry-fork-db` integration (#8329)

* initial commit

* [wip] use alloy-fork-db

* fix: tests

* foundry-fork-db

* fmt

* fix: deny.toml

* feat: better dropped tx check (#8335)

* feat: better dropped tx check

* review fixes

* chore(tests): bump forge-std version (#8336)

* fix(anvil): anvil_setLoggingEnabled should correctly enabled / disable logging (#8327)

* fix anvil_setLoggingEnabled

* fix fmt issues

* Soldeer release v0.2.17 (#8344)

* Soldeer release v0.2.17

* solved failing test

* feat(forge): option to replay last test run failures only (#8338)

* feat(forge): option to replay last test run failures

* Changes after review: rename option to --rerun
Small change in the way test match is extracted

* feat(cheatcodes): add vm.setBlockhash (#8258)

* intitial

* add set_blockhash method to DatabaseExt trait

* cargo cheats

* remove additional ;

* update to Evm group

* remove err handling

* adjust signature and add implementation for cheatcode

* lint

* update

* fix test

* fmt

* refactor based on reviews

* update docs for setBlockhash

* empty

* Update crates/forge/tests/it/invariant.rs

Co-authored-by: Matthias Seitz <[email protected]>

* add docs

* cargo cheats

---------

Co-authored-by: Matthias Seitz <[email protected]>

* fix: order of personal sign (#8350)

* Fixes dependency version format error (#8353)

* Soldeer release v0.2.17

* solved failing test

* Fixing the config error if the dependency is a string and not a map

* Adding untagged

* fixing fmt

* Adding a bit of documentation

* chore: regenerate HardhatConsole and patches (#8357)

chore: regenerate HardhatConsole

* test: use known contracts when decoding traces (#8358)

* ci: add required checks to merge (#8359)

* chore: add some additional etherscan api keys (#8360)

* chore: `threads` and `show_progress` per profile config (#8341)

* chore: allow max threads and show progress set per profile

* Changes after review: max_threads to threads/jobs

* Use short -j for jobs instead json

* Update crates/config/README.md

Co-authored-by: DaniPopes <[email protected]>

* Use usize for number of threads

---------

Co-authored-by: DaniPopes <[email protected]>

* test: relax unix time test once again (#8362)

* fix(cheatcodes): overflow in randomNumber w/range (#8361)

* fix: flaky assertion test (#8363)

* docs: fix doc lint (#8364)

* docs: fix doc lint

* escape quote

* feat(traces): use `TraceWriter`, delegating the formatting of the print trace to `revm-inspectors` (#8224)

* change to fork

* update fork

* add mutability to extend call traces, add decoder.decode

* clippy fixes

* extend_trace -> extend_traces

* update to latest rev

* add docs

* remove redundant clone

* clean up

* ignore ts_get_internal_operations_contract_selfdestruct_london for now as it is not supported by revm-inspector, uses &mut and only pass into the trace extender what is necessary

* fix clippy

* fix: otterscan selfdestruct

* bump revm-inspectors

* split decode_trace_arena and render_trace_arena

* revert unnecessary LogData -> CallLog change

* convert render_trace_arena to sync

* Update crates/forge/bin/cmd/test/mod.rs

Co-authored-by: DaniPopes <[email protected]>

* move clone to inside should_include

* fix clippy

* unify DecodedCallTrace and DecodedCallLog<'a> into DecodedItem<'a>

* fix clippy

* clone

* rm

* unify

* chore: simplify precompiles

---------

Co-authored-by: DaniPopes <[email protected]>

* feat(anvil): use Alloy otterscan types (#8318)

* deprecate src/eth/otterscan/types.rs

* fmt

* Revert "fmt"

This reverts commit bf1969f19c9009710eb5e08b26f3ae9f2070b3eb.

* (less) fmt

* requested changes

* CallType into String

* clippy + comment

---------

Co-authored-by: drun <[email protected]>
Co-authored-by: DaniPopes <[email protected]>
Co-authored-by: Matthias Seitz <[email protected]>

* test: add test for pk parsing (#8366)

* docs: add note about evm_version (#8369)

* test: ignore 502 in can_clone_keep_directory_structure (#8372)

* fix: join paths when passing args to forge build (#8371)

* fix: join paths when passing args to forge build

* fmt

---------

Co-authored-by: Matthias Seitz <[email protected]>

* fix: set both tx input fields (#8373)

* chore(deps): weekly `cargo update` (#8381)

Locking 43 packages to latest compatible versions
    Updating aws-config v1.5.1 -> v1.5.4
    Updating aws-runtime v1.3.0 -> v1.3.1
    Updating aws-sdk-kms v1.30.0 -> v1.35.0
    Updating aws-sdk-sso v1.29.0 -> v1.34.0
    Updating aws-sdk-ssooidc v1.30.0 -> v1.35.0
    Updating aws-sdk-sts v1.29.0 -> v1.34.0
    Updating aws-sigv4 v1.2.2 -> v1.2.3
    Updating aws-smithy-http v0.60.8 -> v0.60.9
    Updating aws-smithy-runtime v1.5.5 -> v1.6.1
    Updating aws-smithy-runtime-api v1.7.0 -> v1.7.1
    Updating aws-types v1.3.2 -> v1.3.3
    Updating castaway v0.2.2 -> v0.2.3
    Updating cc v1.0.102 -> v1.0.104
    Updating gcloud-sdk v0.24.7 -> v0.24.8
    Updating hyper v1.3.1 -> v1.4.0
    Updating hyper-util v0.1.5 -> v0.1.6
    Updating oorandom v11.1.3 -> v11.1.4
    Updating pest v2.7.10 -> v2.7.11
    Updating pest_derive v2.7.10 -> v2.7.11
    Updating pest_generator v2.7.10 -> v2.7.11
    Updating pest_meta v2.7.10 -> v2.7.11
    Updating revm-inspectors v0.3.0 -> v0.3.1
    Updating rustls-native-certs v0.7.0 -> v0.7.1
    Updating rustls-webpki v0.102.4 -> v0.102.5
    Updating scc v2.1.1 -> v2.1.2
    Updating serde v1.0.203 -> v1.0.204
    Updating serde_derive v1.0.203 -> v1.0.204
    Updating serde_json v1.0.118 -> v1.0.120
    Updating stability v0.2.0 -> v0.2.1
    Updating syn v2.0.68 -> v2.0.69
    Updating tinyvec v1.6.1 -> v1.7.0
    Updating windows-targets v0.52.5 -> v0.52.6
    Updating windows_aarch64_gnullvm v0.52.5 -> v0.52.6
    Updating windows_aarch64_msvc v0.52.5 -> v0.52.6
    Updating windows_i686_gnu v0.52.5 -> v0.52.6
    Updating windows_i686_gnullvm v0.52.5 -> v0.52.6
    Updating windows_i686_msvc v0.52.5 -> v0.52.6
    Updating windows_x86_64_gnu v0.52.5 -> v0.52.6
    Updating windows_x86_64_gnullvm v0.52.5 -> v0.52.6
    Updating windows_x86_64_msvc v0.52.5 -> v0.52.6
    Updating zerocopy v0.7.34 -> v0.7.35
    Updating zerocopy-derive v0.7.34 -> v0.7.35
    Updating zstd-sys v2.0.11+zstd.1.5.6 -> v2.0.12+zstd.1.5.6
note: pass `--verbose` to see 161 unchanged dependencies behind latest

Co-authored-by: mattsse <[email protected]>

* chore: don't build OpenChain client if offline (#8390)

* feat(invariant): exclude precompiles from senders (#8367)

* fix(invariant): exclude precompiles from senders

* More robust shrink test, use same test contract / bytecode

* chore(anvil): fix install cmd in README (#8393)

fix install cmd

Signed-off-by: Sally MacFarlane <[email protected]>

* chore: fix clippy (#8394)

* fuzz console log & test cases (#8387)

* fuze console log & test cases

test fuzz console.log

* rename to show_fuzz_logs

rename to show_fuzz_logs

* add logs field in FuzzTestData

add logs field in FuzzTestData

add logs field in FuzzTestData

* rename to show_logs

* removed `decoded_logs` in FuzzTestResult & refactored some code

fmt

* fmt

---------

Co-authored-by: Matthias Seitz <[email protected]>

* chore: decode test logs only once and if needed (#8396)

* feat: contract-level inline configs (#8388)

* feat: contract-level inline configs

* clippy

* Fix solang parser

* fixes

---------

Co-authored-by: Matthias Seitz <[email protected]>

* chore(deps): cargo update (#8397)

* chore(deps): cargo update

     Locking 45 packages to latest compatible versions
    Updating alloy-consensus v0.1.3 -> v0.1.4
    Updating alloy-contract v0.1.3 -> v0.1.4
    Updating alloy-dyn-abi v0.7.6 -> v0.7.7
    Updating alloy-eips v0.1.3 -> v0.1.4
    Updating alloy-genesis v0.1.3 -> v0.1.4
    Updating alloy-json-abi v0.7.6 -> v0.7.7
    Updating alloy-json-rpc v0.1.3 -> v0.1.4
    Updating alloy-network v0.1.3 -> v0.1.4
    Updating alloy-primitives v0.7.6 -> v0.7.7
    Updating alloy-provider v0.1.3 -> v0.1.4
    Updating alloy-pubsub v0.1.3 -> v0.1.4
    Updating alloy-rpc-client v0.1.3 -> v0.1.4
    Updating alloy-rpc-types v0.1.3 -> v0.1.4
    Updating alloy-rpc-types-anvil v0.1.3 -> v0.1.4
    Updating alloy-rpc-types-engine v0.1.3 -> v0.1.4
    Updating alloy-rpc-types-eth v0.1.3 -> v0.1.4
    Updating alloy-rpc-types-trace v0.1.3 -> v0.1.4
    Updating alloy-rpc-types-txpool v0.1.3 -> v0.1.4
    Updating alloy-serde v0.1.3 -> v0.1.4
    Updating alloy-signer v0.1.3 -> v0.1.4
    Updating alloy-signer-aws v0.1.3 -> v0.1.4
    Updating alloy-signer-gcp v0.1.3 -> v0.1.4
    Updating alloy-signer-ledger v0.1.3 -> v0.1.4
    Updating alloy-signer-local v0.1.3 -> v0.1.4
    Updating alloy-signer-trezor v0.1.3 -> v0.1.4
    Updating alloy-sol-macro v0.7.6 -> v0.7.7
    Updating alloy-sol-macro-expander v0.7.6 -> v0.7.7
    Updating alloy-sol-macro-input v0.7.6 -> v0.7.7
    Updating alloy-sol-type-parser v0.7.6 -> v0.7.7
    Updating alloy-sol-types v0.7.6 -> v0.7.7
    Updating alloy-transport v0.1.3 -> v0.1.4
    Updating alloy-transport-http v0.1.3 -> v0.1.4
    Updating alloy-transport-ipc v0.1.3 -> v0.1.4
    Updating alloy-transport-ws v0.1.3 -> v0.1.4
    Updating async-trait v0.1.80 -> v0.1.81
    Updating cc v1.0.104 -> v1.1.0
    Updating clap v4.5.8 -> v4.5.9
    Updating clap_builder v4.5.8 -> v4.5.9
    Updating rustls v0.23.10 -> v0.23.11
    Updating syn v2.0.69 -> v2.0.70
    Updating syn-solidity v0.7.6 -> v0.7.7
    Updating tinyvec v1.7.0 -> v1.8.0
    Updating toml_edit v0.22.14 -> v0.22.15
    Updating unicode-truncate v1.0.0 -> v1.1.0
    Updating uuid v1.9.1 -> v1.10.0

* updates

* chore: update deny to lessen spam

* refactor(common): use alloy retry layer (#8368)

* use alloy retry layer in RetryProvider

* nits

* rm built-in retry layer

* rm `timeout_retry`

* bump alloy

---------

Co-authored-by: Matthias Seitz <[email protected]>

* chore(deps): bump watchexec to 4 (#7864)

* chore(deps): bump watchexec to 4

* feat: implement the test spawn hook

* chore: lockfile

* chore: update

* doc

* chore: ignore gix CVEs in deny.toml

* chore: clippy

* feat(anvil): add callTracer support for debug_traceCall (#8375)

* apply state/block overrides and add callTracer support

* remove state/block override logic

* pass default config to TracingInspector

* fix comments

* add integration tests

* refactor handler

* add comments

* fix clippy

* update test to check for address

---------

Co-authored-by: Matthias Seitz <[email protected]>

* chore(deps): bump alloy-core (#8401)

* docs: remove mention of install location of `solc` in favor of detailed explanation in Foundry Book (#8403)

remove mention of install location, moving to https://book.getfoundry.sh/faq#im-getting-solc-errors

* refactor(tests): add snapbox (#8406)

* refactor(tests): add snapbox

* update some cast tests

* fix

* use str

* rm fixtures

---------

Co-authored-by: Matthias Seitz <[email protected]>

* feat: more flexible JSON parsing (#8345)

* support struct parsing

* wip

* support eip712 strings

* feat: "vm.parseJsonType"

* chore: docs

* clippy

* serialize

* forge bind-json

* make lib internal

* fixes

* fix docs

* rm redundant filter

* clippy

* generate more helpers

* add test

* typo

* refactor a bit

* fmt

* config section

* add out arg

* rm cfg(ignore)

* increase depth for failing test

* move proptest to workspace

* use write

* review fixes

* fix tests

* use GlobMatcher in config

* fix tests

* fmt

* fix(verify-etherscan): continue verification even if errors occur (#8407)

* fix(verify-etherscan): continue verification even if errors occur

* Apply suggestion

Co-authored-by: Matthias Seitz <[email protected]>

---------

Co-authored-by: Matthias Seitz <[email protected]>

* feat: identify internal function invocations in traces (#8222)

* fix: small debugger updates

* [wip] feat: identify internal function invocations in traces

* fmt

* doc

* correctly enable tracing

* correctly enable tracing

* collect contract definition locs

* feat: print traces in format of Contract::function

* wip

* refactor

* clippy

* fix doc

* track input/output values

* clippy

* clean up

* TraceMode

* small fixes

* add doc

* clippy

* safer decofing from stack and memory

* use Into<Option<TraceMode>>

* TraceMode::None

* fmt

* review fixes

* --decode-internal for single fn

* use Vec

* TraceMode builder

* optional --decode-internal and tests

* update doc

* InternalTraceMode

* fix(coverage): treat assert/require as lines instead branch (#8413)

* fix(coverage): treat assert/require as lines instead branch

* Changes after review: use snapbox assertion

* More cov tests ported

* Nicer pattern match

* fix(cast): correctly handle legacy chains (#8420)

fix: correctly handle legacy chains

* fix(evm): always decode EVM reverts (#8419)

* fix(coverage): lcov avoid double reporting for line hit (#8400)

* fix(anvil): return correct data for queries at forked block (#8428)

* add test

* fix

* rm unused

* fix(coverage): proper branch handling for if statement (#8414)

* fix(coverage): proper instruction mapping for first branch

* Add tests

* fix: correctly apply genesis (#8431)

* Add test

* fix: correctly apply genesis during fork reset

* fix(coverage): require should be branch (#8433)

* chore(deps): weekly `cargo update` (#8437)

Locking 17 packages to latest compatible versions
    Updating aws-sdk-kms v1.35.0 -> v1.36.0
    Updating aws-sdk-sso v1.34.0 -> v1.35.0
    Updating aws-sdk-ssooidc v1.35.0 -> v1.36.0
    Updating aws-sdk-sts v1.34.0 -> v1.35.0
    Updating aws-smithy-runtime v1.6.1 -> v1.6.2
    Updating bytes v1.6.0 -> v1.6.1
    Updating cc v1.1.0 -> v1.1.2
    Updating clap_complete v4.5.7 -> v4.5.8
    Updating http-body v1.0.0 -> v1.0.1
      Adding prost v0.13.1
      Adding prost-derive v0.13.1
      Adding prost-types v0.13.1
    Updating secret-vault-value v0.3.8 -> v0.3.9
    Updating snapbox v0.6.11 -> v0.6.13
    Updating syn v2.0.70 -> v2.0.71
    Updating thiserror v1.0.61 -> v1.0.62
    Updating thiserror-impl v1.0.61 -> v1.0.62
note: pass `--verbose` to see 147 unchanged dependencies behind latest

Co-authored-by: mattsse <[email protected]>

* fix(anvil): return correct values for `eth_feeHistory` (#8436)

* add test

* fix(anvil): return correct last block data in feeHistory

* feat(template): improve workflow template (#8439)

Co-authored-by: Matthias Seitz <[email protected]>

* fix(coverage): add coverage only for function call kind (#8440)

fix(coverage): count covearge only for function call kind

* fix: vm dumpState consistent ordering  (#8445)

* use btree map to enforce ordering

* rm unused import

* feat(cheatcodes): add event expecter which supports anonymous events (#8429)

feat(cheatcodes): add event expecter which supports anonymous events with no indexed topics

* feat(coverage): report try-catch coverage (#8448)

* Updated the soldeer version to 0.2.18 and added extra CLI tests (#8441)

* Updated the soldeer version to 0.2.18 and added extra CLI tests

* Forgot to push the root files

* solving fmt

* Updated git handling to match the rust way

* fix(verify-bytecode): json print message with correct verification type (#8402)

* fix(verify-bytecode): json print message with correct verification type

* replace `input` of creation tx with local creation code before runtime match.

* feat: support absolute paths when matching paths (#7362)

* added support for absolute paths when running forge test --match-path (#7350)

* Changed how canonicalize() is called

Co-authored-by: Arsenii Kulikov <[email protected]>

* optimize

* upgrade tests to use snapbox

* Update test_cmd.rs

---------

Co-authored-by: Arsenii Kulikov <[email protected]>
Co-authored-by: zerosnacks <[email protected]>
Co-authored-by: zerosnacks <[email protected]>

* feat(cast): improve to/from rlp (#8454)

* anvil/eth: Use the raw `v` signature value instead of `bool` (#7918)

* anvil/eth: Use the raw `v` signature value instead of `bool`

Instead of converting the boolean corresponding to the y parity byte to
a u64/U256, use the raw `v` value for the `v` field when available.

* anvil/eth: Use proper Parity signature in impersonate

The correct `v` value must be used when using a dummy signature,
depending on the transaction type (the Legacy transactions being the
ones needing a special case).

* anvil/eth: Use proper signature for creating txs

This fixes wrong hash being computed for transactions.

---------

Co-authored-by: zerosnacks <[email protected]>

* feat(EOF): enable EOF inspector (#8305)

* feat(EOF): enable EOF inspector

* fmt nightly

* bump inspectors

* update revm

* fix test

* rm compilers patch

* bump alloy and revm (#8460)

* bump alloy and revm

* fix test

* rm patch

* update lock

---------

Co-authored-by: Arsenii Kulikov <[email protected]>

* perf(invariant): do not include reverts in counterexample (#8459)

* feat(anvil): add mined transactions to state dump (#8411)

* fix(fork): preserve block number and timestamp when changing fork (#8466)

* fix(fork): preserve block number and timestamp when changing fork

* Minor test update, could have been failing if forks created at different blocks

* feat(coverage): Add support for remaining Yul types (#8461)

* feat(coverage): Add support for remaining Yul types

* Add YulFunctionDefinition support

* feat(anvil): add `trace_filter` endpoint (#8458)

* begin api

* add trace filter param

* filtering over blocks

* add filtered traces

* use trace block

* begin filtering on trace actions

* finish trace filtering

* filter by all trace actions

* begin adding trace to eth API

* begin tests

* block bound working

* default block ranges working

* filtering by address

* use latest block

* test passing

* test passing

* fix test

* add comments

* small comment change

* fix typo

* add sanity check for block range

* add after and count

* feat: better EOF/Prague support (#8471)

* wip

* [wip] better EOF support

* clippy

* fix tests

* fix tests

* bump block-explorers

* bump inspectors

* fix offsets for ext*calls

* fix: cargo deny (#8479)

* feat: ethGetAccount (#8477)

* feat: ethGetAccount

* adding await

* feat: support for EIP-7702 in Anvil (#8476)

feat: EIP-7702 support in Anvil

Co-authored-by: Matthias Seitz <[email protected]>

* fix(cast): mktx: add missing --path argument for blob txs (#8483)

Co-authored-by: Matthias Seitz <[email protected]>

* fix(cheatcodes): reset interpreter gas to the value of gas spent (#8481)

* fix(cheatcodes): do not record gas changes if exec frame not started

* Fix

* Fmt

* Use gas.spent(), enable repro test

* chore(deps): weekly `cargo update` (#8486)

Locking 19 packages to latest compatible versions
    Updating cc v1.1.2 -> v1.1.6
    Updating openssl v0.10.64 -> v0.10.65
    Updating openssl-sys v0.9.102 -> v0.9.103
    Updating portable-atomic v1.6.0 -> v1.7.0
    Updating redox_syscall v0.5.2 -> v0.5.3
    Updating scc v2.1.2 -> v2.1.4
    Updating sdd v0.2.0 -> v1.7.0
    Updating security-framework v2.11.0 -> v2.11.1
    Updating security-framework-sys v2.11.0 -> v2.11.1
    Updating thiserror v1.0.62 -> v1.0.63
    Updating thiserror-impl v1.0.62 -> v1.0.63
    Updating tokio v1.38.0 -> v1.38.1
    Updating toml v0.8.14 -> v0.8.15
    Updating toml_edit v0.22.15 -> v0.22.16
    Updating tracing-tracy v0.11.0 -> v0.11.1
    Updating tracy-client v0.17.0 -> v0.17.1
    Updating tracy-client-sys v0.22.2 -> v0.23.0
    Updating winnow v0.6.13 -> v0.6.14
    Updating zip v2.1.3 -> v2.1.5
note: pass `--verbose` to see 144 unchanged dependencies behind latest

Co-authored-by: mattsse <[email protected]>

* chore: 7702 error type correction (#8487)

chore: 7702 active error correction

Just realized this while going through https://github.com/foundry-rs/foundry/pull/8476 (sorry, nits!

* feat: `cast decode-eof` & `forge inspect <contract> eof` (#8478)

* feat: cast decode-eof & forge inspect <contract> eof

* add docs

* clippy

* fix tests

* review fixes

* fix: disable block gas limit for call --trace (#8496)

* use parameter configuration

* revert circuit_sequencer_api version bump

* Added zk specific things back, fix imports and move things back to common

* use backend error instead of database error

* use ecx inner in non zk context

* fix compilation errors

* forge fmt

* Fix failing tests and remove console log logic to avoid duplicating logs

* remove tracing to avoid failure in CI

* add back ConsoleLogParser

* update cargo lock

* use ansiterm instead

* use test_opts when creating multi runner

* Update foundry-compilers

* remove duplicated cheatcode inspector from stack

* use factory deps to retrieeve bytecodes in inspect

* bring back logs in inspector

* clippy

* Update HARDHAT_CONSOLE_ADDRESS import

* Revert "use factory deps to retrieeve bytecodes in inspect"

This reverts commit 5e2ba9af51180e10cd07f587f58c8af66ccf2c0e.

* delete backend and use forked crate

* cargo fmt

* add new fork to allow git

---------

Signed-off-by: Sally MacFarlane <[email protected]>
Co-authored-by: grandizzy <[email protected]>
Co-authored-by: DaniPopes <[email protected]>
Co-authored-by: Matthias Seitz <[email protected]>
Co-authored-by: tesseract <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: mattsse <[email protected]>
Co-authored-by: poma <[email protected]>
Co-authored-by: poma <[email protected]>
Co-authored-by: Swanny <[email protected]>
Co-authored-by: Arsenii Kulikov <[email protected]>
Co-authored-by: Zhuo Zhang <[email protected]>
Co-authored-by: morito <[email protected]>
Co-authored-by: m4rio <[email protected]>
Co-authored-by: Yash Atreya <[email protected]>
Co-authored-by: Ayene <[email protected]>
Co-authored-by: sodamntired <[email protected]>
Co-authored-by: Samuel Laferriere <[email protected]>
Co-authored-by: Paul Peregud <[email protected]>
Co-authored-by: Pawel Peregud <[email protected]>
Co-authored-by: funnybird <[email protected]>
Co-authored-by: fenghaojiang <[email protected]>
Co-authored-by: zerosnacks <[email protected]>
Co-authored-by: Matt Solomon <[email protected]>
Co-authored-by: Frontier <[email protected]>
Co-authored-by: aganisgash <[email protected]>
Co-authored-by: HuyHuynh <[email protected]>
Co-authored-by: Qiwei Yang <[email protected]>
Co-authored-by: Serge Radinovich <[email protected]>
Co-authored-by: Federico Gimenez <[email protected]>
Co-authored-by: Valentin B <[email protected]>
Co-authored-by: dimazhornyk <[email protected]>
Co-authored-by: Dima Zhornyk <[email protected]>
Co-authored-by: James Kim <[email protected]>
Co-authored-by: Tuan Tran <[email protected]>
Co-authored-by: Federico Magnani <[email protected]>
Co-authored-by: drun <[email protected]>
Co-authored-by: Sally MacFarlane <[email protected]>
Co-authored-by: Azleal <[email protected]>
Co-authored-by: StackOverflowExcept1on <[email protected]>
Co-authored-by: EdwardJES <[email protected]>
Co-authored-by: lightclient <[email protected]>
Co-authored-by: matthewliu10 <[email protected]>
Co-authored-by: zerosnacks <[email protected]>
Co-authored-by: Nicolas Gotchac <[email protected]>
Co-authored-by: rakita <[email protected]>
Co-authored-by: Danilo Tuler <[email protected]>
Co-authored-by: Luca Provini <[email protected]>
Co-authored-by: Ryan Schneider <[email protected]>
Co-authored-by: Shun Kakinoki <[email protected]>
Co-authored-by: Jrigada <[email protected]>
Co-authored-by: Nisheeth Barthwal <[email protected]>
Co-authored-by: elfedy <[email protected]>
  • Loading branch information
Show file tree
Hide file tree
Showing 344 changed files with 15,049 additions and 10,743 deletions.
4 changes: 4 additions & 0 deletions .github/scripts/matrices.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ def __init__(
self.partition = partition


profile = os.environ.get("PROFILE")
is_pr = os.environ.get("EVENT_NAME") == "pull_request"
t_linux_x86 = Target("ubuntu-latest", "x86_64-unknown-linux-gnu", "linux-amd64")
# TODO: Figure out how to make this work
Expand Down Expand Up @@ -119,6 +120,9 @@ def main():
s = f"{partition}/{case.n_partitions}"
name += f" ({s})"
flags += f" --partition count:{s}"

if profile == "isolate":
flags += " --features=isolate-by-default"
name += os_str

obj = Expanded(
Expand Down
4 changes: 2 additions & 2 deletions .github/scripts/prune-prereleases.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ module.exports = async ({ github, context }) => {

// Pruning rules:
// 1. only keep the earliest (by created_at) release of the month
// 2. to keep the newest 3 nightlies
// 2. to keep the newest 30 nightlies (to make sure nightlies are kept until the next monthly release)
// Notes:
// - This addresses https://github.com/foundry-rs/foundry/issues/6732
// - Name of the release may deviate from created_at due to the usage of different timezones.
Expand All @@ -47,7 +47,7 @@ module.exports = async ({ github, context }) => {
const groups = groupBy(nightlies, i => i.created_at.slice(0, 7));
const nightliesToPrune = Object.values(groups)
.reduce((acc, cur) => acc.concat(cur.slice(0, -1)), []) // rule 1
.slice(3); // rule 2
.slice(30); // rule 2

for (const nightly of nightliesToPrune) {
console.log(`Deleting nightly: ${nightly.tag_name}`);
Expand Down
25 changes: 25 additions & 0 deletions .github/workflows/bump-forge-std.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Daily CI job to update forge-std version used for tests if new release has been published

name: bump-forge-std

on:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:

jobs:
update-tag:
name: update forge-std tag
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Fetch and update forge-std tag
run: curl 'https://api.github.com/repos/foundry-rs/forge-std/tags' | jq '.[0].commit.sha' -jr > testdata/forge-std-rev
- name: Create pull request
uses: peter-evans/create-pull-request@v5
with:
commit-message: "chore: bump forge-std version used for tests"
title: "chore(tests): bump forge-std version"
body: |
New release of forge-std has been published, bump forge-std version used in tests. Likely some fixtures need to be updated.
branch: chore/bump-forge-std
96 changes: 96 additions & 0 deletions .github/workflows/nextest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# Reusable workflow for running tests via `cargo nextest`

name: nextest

on:
workflow_call:
inputs:
profile:
required: true
type: string

concurrency:
group: tests-${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

env:
CARGO_TERM_COLOR: always

jobs:
matrices:
name: build matrices
runs-on: ubuntu-latest
outputs:
test-matrix: ${{ steps.gen.outputs.test-matrix }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Generate matrices
id: gen
env:
EVENT_NAME: ${{ github.event_name }}
PROFILE: ${{ inputs.profile }}
run: |
output=$(python3 .github/scripts/matrices.py)
echo "::debug::test-matrix=$output"
echo "test-matrix=$output" >> $GITHUB_OUTPUT
test:
name: test ${{ matrix.name }}
runs-on: ${{ matrix.runner_label }}
timeout-minutes: 60
needs: matrices
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.matrices.outputs.test-matrix) }}
env:
ETH_RPC_URL: https://eth-mainnet.alchemyapi.io/v2/C3JEvfW6VgtqZQa-Qp1E-2srEiIc02sD
CARGO_PROFILE_DEV_DEBUG: 0
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
target: ${{ matrix.target }}
- uses: taiki-e/install-action@nextest

# External tests dependencies
- name: Setup Node.js
if: contains(matrix.name, 'external')
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install Bun
if: contains(matrix.name, 'external') && !contains(matrix.runner_label, 'windows')
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: Setup Python
if: contains(matrix.name, 'external')
uses: actions/setup-python@v4
with:
python-version: 3.11
- name: Install Vyper
if: contains(matrix.name, 'external')
run: pip install vyper~=0.4.0

- name: Forge RPC cache
uses: actions/cache@v3
with:
path: |
~/.foundry/cache
~/.config/.foundry/cache
key: rpc-cache-${{ hashFiles('crates/forge/tests/rpc-cache-keyfile') }}
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- name: Setup Git config
run: |
git config --global user.name "GitHub Actions Bot"
git config --global user.email "<>"
git config --global url."https://github.com/".insteadOf "[email protected]:"
- name: Test
env:
SVM_TARGET_PLATFORM: ${{ matrix.svm_target_platform }}
run: cargo nextest run ${{ matrix.flags }}
14 changes: 14 additions & 0 deletions .github/workflows/test-isolate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Daily CI job to run tests with isolation mode enabled by default

name: test-isolate

on:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:

jobs:
nextest:
uses: ./.github/workflows/nextest.yml
with:
profile: isolate
Loading

0 comments on commit ff5bf1d

Please sign in to comment.