Skip to content
This repository has been archived by the owner on Oct 19, 2024. It is now read-only.

feat: expand solc capabilities / chore: update ethabi #445

Merged
merged 9 commits into from
Sep 13, 2021

Conversation

gakonst
Copy link
Owner

@gakonst gakonst commented Sep 11, 2021

  • ethabi: Adds support for internal_type which we could/should use for abiencoder-v2 support in human readable abi. Also upgrades ethereum-types to 0.12.0.
  • solc: allows providing runtime-bin as well as skips setting the evm-version on older compilers

@gakonst gakonst force-pushed the chore/update-ethabi branch 2 times, most recently from c4aad98 to a0e0a3b Compare September 13, 2021 12:18
@gakonst gakonst changed the title chore: update ethabi feat: expand solc capabilities / chore: update ethabi Sep 13, 2021
@gakonst gakonst merged commit 77bc5aa into master Sep 13, 2021
@gakonst gakonst deleted the chore/update-ethabi branch September 13, 2021 12:35
meetmangukiya pushed a commit to meetmangukiya/ethers-rs that referenced this pull request Mar 21, 2022
* feat(fuzz): expose function to get internal evm

* refactor(evm): move EvmOpts from cli to evm-adapters

* feat(evm): add helper for creating sputnik backend

* feat(forge): add base evm opts for test usage

* feat(evm): derive default for EvmOpts

* test(forge): add utils for instantiating backend

* feat(forge): instantiate runner with EvmOpts instead of an EVM

This allows us to instantiate as many EVMs as we want inside of the runner,
which in turn will enable running tests in parallel

* feat(forge): pass evm by reference instead of using self.evm

* feat(forge): run unit tests with unique evm instantiation

previously we'd reuse the same EVM, now, we use a different EVM
per test, allowing us to get rid of the mutable reference on self

* feat(forge): run fuzz tests with unique evm instantiations

* test(forge): adjust tests to new instantiation style

* feat(forge): run tests in parallel with rayon

* feat(evm-adapters): put backend behind enum to avoid trait object

* chore(forge): move fuzzer instead of ref

* feat(forge): make multi contract runner compatible with new runner

* feat(forge): parallelize multi contract runner by file

* chore(cli): remove unused helper functions

* fix(cli/run): use new contract runner initialization

There's a TODO here around how we should do the evm.debug_calls check which we should figure out

* fix(cli/test): use evm_opts instead of directly passing evm

* chore: formatting fixes

* chore: update lockfile

* fix(evm-adapters): correctly init test caller and origin

fixes foundry-rs/foundry#249
fixes foundry-rs/foundry#253

* chore: clippy lint on unreachable code w disabled features

* fix: instantiate evm cfg without contract size limit

* fix debugging (gakonst#445)

* merge cleanup

Co-authored-by: brockelmore <31553173+brockelmore@users.noreply.github.com>
Co-authored-by: Brock <brock.elmore@gmail.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant