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

FEATURE BRANCH: multi-chain #611

Draft
wants to merge 36 commits into
base: main
Choose a base branch
from
Draft

FEATURE BRANCH: multi-chain #611

wants to merge 36 commits into from

Conversation

Wodann
Copy link
Member

@Wodann Wodann commented Aug 21, 2024

No description provided.

@Wodann Wodann self-assigned this Aug 21, 2024
Copy link

changeset-bot bot commented Aug 21, 2024

🦋 Changeset detected

Latest commit: 53aa8bf

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@nomicfoundation/edr Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Wodann and others added 13 commits August 22, 2024 10:39
* edr-0.4.1

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore: run prettier (#535)

* test: avoid unconditional reverts in stack traces tests (#537)

* fix: allow missing nonce in remote blocks (#539)

* fix: allow missing nonce in remote blocks

* misc: add changeset

* ci: upgrade pnpm/action-setup (#541)

* ci: enable some debug logs for hardhat tests (#538)

* Sync with recent Hardhat changes and deduplicate the Hardhat dep (#544)

* chore: Explicitly depend on semver and fs-extra in hardhat-tests

Appeases ESLint. These are de facto pulled by other dependencies but
it's implicit.

* refactor: Unify ts-node and use the one currently used by Hardhat

Deduping the hardhat package makes it easier to patch it while working
on the stack trace porting feature branch.

* chore: Use the newest Hardhat 2.22.6

This will make patching the changes easier to review as we will sync
with the upstream as it has some changes already related to the stack
traces that we port.

* feat: upgrade revm dependencies (#546)

* feat: upgrade revm dependencies

* Create wild-phones-drum.md

* edr-0.4.2 (#540)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* ci: remove path checks for benchmarks (#550)

* ci: remove path restrictions for EDR jobs (#551)

* ci: check that index.d.ts is up to date (#553)

* feat: add support for RIP-7212 (#552)

* feat: add support for RIP-7212

* misc: add changelog

* fix: updated index.d.ts

* fix: revert rename of InvalidFEOpcode

* fix: set enableRip7212 in ProviderConfig

* test: validate that disabling RIP-7212 works

* refactor: use runtime variable instead of const

* Path Hardhat dev dep to work with latest EDR changes

EDR uses Hardhat as a dev dependency to run some javascript tests. The
way this works is that the tests are run using Hardhat, but we use pnpm
to override the EDR dependency in Hardhat with the local one. This works
fine as long as there are no breaking changes in EDR. When there are, we
have a circular dependency problem: we can't publish a new version of
EDR until the tests pass, but for the tests to pass we need a version of
Hardhat that works with the new version of EDR.

A temporary workaround for this is to use `pnpm patch` to temporarily
modify the Hardhat code in a way that works with the breaking change.
In this case, this just means adding the new field when constructing
the provider.

---------

Co-authored-by: Franco Victorio <victorio.franco@gmail.com>

* edr-0.5.0 (#555)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* build: upgrade revm to v12 (#557)

* build: upgrade revm to v12

* test: remove invalid test

* misc: add changeset

* fix: use remote chain id for pre-fork simulation (#567)

* fix: use remote chain id for pre-fork simulation

* Fix error message

* chore: Bump hardhat to 2.22.7 (#571)

* chore: Bump hardhat to 2.22.7

* fixup: Don't enable RIP-7212 in our tests

* Adapt for NomicFoundation/hardhat#5411

* fix: prevent crash when returning large JSON responses (#569)

* ci: update collaborator check in the benchmarks workflow (#574)

* edr-0.5.1 (#559)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: add json alias property in provider response (#582)

* fix: add json alias property in provider response

* Create empty-bobcats-refuse.md

* edr-0.5.2 (#583)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* breaking change: rename response.json to response.data (#584)

* breaking change: rename response.json to response.data

* Create sour-donkeys-draw.md

* Update sour-donkeys-draw.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Franco Victorio <victorio.franco@gmail.com>
Co-authored-by: Igor Matuszewski <Xanewok@gmail.com>
Co-authored-by: Agost Biro <5764438+agostbiro@users.noreply.github.com>
Co-authored-by: Piotr Galar <piotr.galar@gmail.com>
Co-authored-by: Piotr Galar <piotr.galar@gmail.com>
…d decouple them a bit (#640)

* refactor: Make Rpc trait additive to the chain types in the ChainSpec

* refactor: More clearly distinguish RPC conversion traits in ChainSpec

* Bring back the assoc trait item ordering in RpcSpec bound
* feat(wip): Introduce a generic chain spec in the `edr_generic` crate

* feat: Allow for missing nonce/mixHash in remote blocks

* fixup: Formatting

* fix: Make sure to accept rpc blocks with txs being 32-byte hashes

* fixup: Maintain symmetry between mod::ConversionErrors used internally

* Update crates/edr_generic/src/lib.rs

Co-authored-by: Wodann <Wodann@users.noreply.github.com>

* Update crates/edr_generic/src/rpc/block.rs

Co-authored-by: Wodann <Wodann@users.noreply.github.com>

* fixup: Rename SignedWithFallbackToPostEip155

* feat: Implement ProviderSpec for GenericChainSpec

* feat: Implement SyncNapiSpec for GenericChainSpec and use in `edr_napi`

* fixup: Use the generic chain spec in the local Hardhat patch

* fixup: Re-generate patch hash

* fixup: Update test/provider.ts

* ci: run EDR TS tests

* ci: add Alchemy URL

* revert: deletion of L1 chain in N-API

* ci: cache RPC calls in TS tests

* refactor: Prefer const in pattern match over a guard in tx RLP decode

This is more consistent with the other uses and increases visibility to
the underlying static str value.

---------

Co-authored-by: Wodann <Wodann@users.noreply.github.com>
@Wodann Wodann had a problem deploying to github-action-benchmark October 23, 2024 00:09 — with GitHub Actions Error
@Wodann Wodann temporarily deployed to github-action-benchmark October 23, 2024 00:13 — with GitHub Actions Inactive
Copy link

codecov bot commented Oct 23, 2024

Codecov Report

Attention: Patch coverage is 59.94772% with 1379 lines in your changes missing coverage. Please review.

Please upload report for BASE (main@907eda3). Learn more about missing BASE report.

Files with missing lines Patch % Lines
crates/edr_generic/src/transaction/request.rs 0.00% 197 Missing ⚠️
crates/edr_napi/src/config.rs 0.00% 162 Missing ⚠️
crates/edr_eth/src/transaction/pooled.rs 17.30% 127 Missing and 2 partials ⚠️
crates/edr_napi/src/chains/l1.rs 0.00% 87 Missing ⚠️
crates/edr_napi/src/context.rs 0.00% 81 Missing ⚠️
crates/edr_generic/src/eip2718.rs 8.00% 69 Missing ⚠️
crates/edr_generic/src/transaction/signed.rs 52.80% 59 Missing ⚠️
crates/edr_generic/src/rpc/block.rs 65.13% 48 Missing and 5 partials ⚠️
crates/edr_evm/src/test_utils.rs 70.68% 39 Missing and 12 partials ⚠️
crates/edr_generic/src/rpc/transaction.rs 31.66% 38 Missing and 3 partials ⚠️
... and 45 more
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #611   +/-   ##
=======================================
  Coverage        ?   54.21%           
=======================================
  Files           ?      243           
  Lines           ?    28342           
  Branches        ?    28342           
=======================================
  Hits            ?    15365           
  Misses          ?    12050           
  Partials        ?      927           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@Wodann Wodann temporarily deployed to github-action-benchmark December 16, 2024 18:14 — with GitHub Actions Inactive
Every file in the `tests` directory is compiled as
a separate binary, which is slow. By using a
single entry point, we can speed up compilation.

Inspired by
https://matklad.github.io/2021/02/27/delete-cargo-integration-tests.html
@Wodann Wodann temporarily deployed to github-action-benchmark December 18, 2024 09:20 — with GitHub Actions Inactive
@Wodann Wodann temporarily deployed to github-action-benchmark December 19, 2024 09:58 — with GitHub Actions Inactive
@Wodann Wodann had a problem deploying to github-action-benchmark December 20, 2024 10:58 — with GitHub Actions Failure
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.

3 participants