Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: sync with upstream 59f354c #792

Open
wants to merge 114 commits into
base: main
Choose a base branch
from
Open

feat: sync with upstream 59f354c #792

wants to merge 114 commits into from

Conversation

elfedy
Copy link
Contributor

@elfedy elfedy commented Dec 18, 2024

What 💻

Sync with upstream up to foundry-rs/foundry@59f354c

merge conflict details: #782

mario-eth and others added 30 commits November 21, 2024 15:55
fix: vm.broadcastRawTransaction
…t` (#9379)

* fix(forge test): install missing dependencies before instantiating the project

* optimization
… cache` to trace with local artifacts (#7359)

* add RunArgs generate_local_signatures to enable trace with local contracts functions and events

* make generate_local_signatures as a helper function

* rename generate_local_signatures to cache_local_signatures
merge project signatures with exists cached local signatures instead of
just override them

* extract duplicate method for CachedSignatures

* fix cache load path

* fix for lint

* fix fot lint

* remove unnecessary `let` binding

* fix for format check

* fix for clippy check

* fix for clippy check

* Move cache in forge selectors, use local artifacts for cast run and send traces

* Add test

* Review changes:
- compile without quiet, fix test
- merge local sources with etherscan

* Update crates/evm/traces/src/debug/sources.rs

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

---------

Co-authored-by: grandizzy <[email protected]>
Co-authored-by: grandizzy <[email protected]>
Co-authored-by: Arsenii Kulikov <[email protected]>
Locking 36 packages to latest compatible versions
    Updating async-compression v0.4.17 -> v0.4.18
    Updating bytemuck v1.19.0 -> v1.20.0
    Updating const-hex v1.13.1 -> v1.13.2
      Adding core-foundation v0.10.0
    Updating cpufeatures v0.2.15 -> v0.2.16
    Updating h2 v0.4.6 -> v0.4.7
    Updating hyper v1.5.0 -> v1.5.1
    Updating impl-trait-for-tuples v0.2.2 -> v0.2.3
    Updating interprocess v2.2.1 -> v2.2.2
    Updating itoa v1.0.11 -> v1.0.13
    Updating litemap v0.7.3 -> v0.7.4
    Updating op-alloy-consensus v0.6.5 -> v0.6.8
    Updating op-alloy-rpc-types v0.6.5 -> v0.6.8
    Updating portable-atomic v1.9.0 -> v1.10.0
    Updating proc-macro2 v1.0.89 -> v1.0.92
    Updating quick-junit v0.5.0 -> v0.5.1
    Updating quick-xml v0.36.2 -> v0.37.1
    Updating rustix v0.38.40 -> v0.38.41
    Updating rustls v0.23.17 -> v0.23.18
    Updating rustls-native-certs v0.8.0 -> v0.8.1
    Updating scale-info v2.11.5 -> v2.11.6
    Updating scale-info-derive v2.11.5 -> v2.11.6
    Updating schannel v0.1.26 -> v0.1.27
      Adding security-framework v3.0.1
    Updating semver-parser v0.10.2 -> v0.10.3
    Updating syn v2.0.87 -> v2.0.89
    Updating sync_wrapper v1.0.1 -> v1.0.2
    Updating unicode-ident v1.0.13 -> v1.0.14
    Updating url v2.5.3 -> v2.5.4
    Updating wasmtimer v0.4.0 -> v0.4.1
    Updating webpki-roots v0.26.6 -> v0.26.7
    Updating yoke v0.7.4 -> v0.7.5
    Updating yoke-derive v0.7.4 -> v0.7.5
    Updating zerofrom v0.1.4 -> v0.1.5
    Updating zerofrom-derive v0.1.4 -> v0.1.5
    Updating zip v2.2.0 -> v2.2.1
note: pass `--verbose` to see 18 unchanged dependencies behind latest

Co-authored-by: mattsse <[email protected]>
…as alias (#9406)

remove duplicate gas_limit field, declare as alias
Revert "feat: remove ethers (#8826)"

This reverts commit d739704.
* adhere to --quiet flag

* revert case-specific handling of writing to progress, redundant

* handle writing to multiprogress, previously panic

* make verification process compatible with --json flag

* revert verifaction --json flow, too messy

* clean up

* revert

* handle json correctly for script deployment logs, incl. receipts

* avoid incompatible lines with json output

* revert unnecessary change

* add json and quiet test

* address feedback

* fix incorrect ordering
… (#9420)

* add --broadcast flag to forge create, default to dry run

* nits

* fix tests

* add dry run tests incl --json

* minor fixes, failing test due to minor bytecode difference
…`-vvvvv` (#9013)

* Add options for state changes output and json output in cast run command

* fix test

* add back serde_json in Cargo.lock

* format using nightly

* rename parameter

* update revm-inspectors

* supress clippy warning and merge master

* add serde_json

* disable some stdout print when --json option is used

* remove unnecessary check

* replace with sh_println

* replace with shell::is_json

* Show storage for verbosity > 1, add test

* Change verbosity to > 4 for both cast and forge test, add test, fix ci

---------

Co-authored-by: grandizzy <[email protected]>
* feat: rewrite inline config using figment

* wip

* wip

* fix: use same GasLimit type

* wip

* fixes

* tests

* test fixes

* fmt

* test update
* script: evm_opts -> evm_args

Signed-off-by: jsvisa <[email protected]>

* forge: evm_opts -> evm_args

Signed-off-by: jsvisa <[email protected]>

* chisel: evm_opts -> evm_args

Signed-off-by: jsvisa <[email protected]>

* forge: evm_opts -> evm_args

Signed-off-by: jsvisa <[email protected]>

---------

Signed-off-by: jsvisa <[email protected]>
This pull request addresses a minor but important syntax issue in the conditional statement used to check for the presence of libusb on macOS.
* feat: add timeouts to fuzz testing

Adds --fuzz-timeout-secs to fuzz tests which will cause a property
test to timeout after a certain number of seconds. Also adds
--fuzz-allow-timeouts so that timeouts are optionally not
considered to be failures.

* simplify timeout implementation

* use u32 for timeout

* switch back to failing for timeouts

* clippy

* Nits:
- move logic to interrupt invariant test in depth loop
- add and reuse start_timer fn and TEST_TIMEOUT constant
- add fuzz and invariant tests
- fix failing test

* Fix fmt

* Changes after review: introduce FuzzTestTimer

---------

Co-authored-by: grandizzy <[email protected]>
…(#9428)

* feat(cast): Add custom error decoding support

* Review changes

* Changes after review: decode with Openchain too, add test

* Review changes: nit, handle incomplete selectors
@elfedy elfedy marked this pull request as ready for review December 20, 2024 21:06
@elfedy elfedy requested a review from a team as a code owner December 20, 2024 21:06
if call_inputs.target_address == DEFAULT_CREATE2_DEPLOYER_ZKSYNC {
code_hash = ctx.evm.load_account(call_inputs.target_address)?.info.code_hash;
};

zk_is_create2_deployer = true;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe it makes sense to assign code_hash to DEFAULT_CREATE2_DEPLOYER_CODEHASH. But also good to have a clear zksync context.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.