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
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
2ccd443
feat: adopt multi-chain revm (#529)
Wodann Jun 25, 2024
cd9ebb9
feat: Optimism builder & miner (#534)
Wodann Aug 9, 2024
ababb2b
bump: revm with upstream changes (#576)
Wodann Aug 12, 2024
a40799a
refactor: chain-specific provider config (#577)
Wodann Aug 13, 2024
8fd43cb
refactor: chain-specific debug mine result (#578)
Wodann Aug 13, 2024
7e2265d
refactor: chain-specific logger (#579)
Wodann Aug 13, 2024
f096414
refactor: chain-specific debugger (#580)
Wodann Aug 13, 2024
4575dc3
refactor: chain-specific mempool (#585)
Wodann Aug 13, 2024
44fb8a6
refactor: chain-specific miner (#586)
Wodann Aug 13, 2024
0167f7f
refactor: chain-specific pending blockchain (#587)
Wodann Aug 14, 2024
f0ebfd0
refactor: decouple Logger and Provider generics (#599)
Wodann Aug 16, 2024
dd9c9e7
refactor: chain-specific provider (#603)
Wodann Aug 20, 2024
a409e55
feat: Optimism provider (#608)
Wodann Aug 21, 2024
226295c
chore: merge `main` into `feat/multichain` (#615)
Wodann Aug 22, 2024
2a19726
refactor: chain-specific N-API (#633)
Wodann Aug 29, 2024
63b460f
ci: remove review-related slack notifications (#647)
fvictorio Sep 6, 2024
0a57886
ci: add workflow for testing Optimism every night (#638)
Wodann Sep 6, 2024
9d41747
ci: measure and upload code coverage (#646)
Wodann Sep 6, 2024
b694d46
[multi-chain]: Drive-by clarify the required traits in `ChainSpec` an…
Xanewok Sep 9, 2024
05a8cb6
[multi-chain] Implement a generic chain spec (#653)
Xanewok Sep 13, 2024
bcdcafa
feat: add Optimism bindings in N-API (#664)
Wodann Sep 17, 2024
618da93
build: upgrade to latest REVM (#669)
Wodann Sep 18, 2024
8603cfd
Merge `main` into `feat/multichain` (#671)
Wodann Sep 20, 2024
d2f663d
bump: REVM to latest version with minimal forking (#677)
Wodann Sep 25, 2024
2eda304
Merge/main into multichain (#684)
Wodann Oct 1, 2024
ec3c837
Merge remote-tracking branch 'origin/main' into feat/multichain
Wodann Oct 22, 2024
e977cf2
fix: remove console.log backwards compatibility tests (#706)
Wodann Oct 23, 2024
70e0111
fix: Optimism Sepolia hardfork (#725)
Wodann Nov 5, 2024
a57395b
fix: chain ID at block number (#726)
Wodann Nov 5, 2024
6efbd64
refactor: generate non-const enum in d.ts (#724)
Wodann Nov 5, 2024
d7b7353
feat: add chain-specific Block, LocalBlock, and BlockReceipt types (#…
Wodann Dec 16, 2024
bce250d
Merge remote-tracking branch 'origin/main' into merge/main
Wodann Dec 16, 2024
ce78782
fix: update patches
Wodann Dec 16, 2024
9a76846
perf: speed up integration test compilation (#753)
Wodann Dec 18, 2024
7d71ee6
docs: add book entry about pnpm patch (#754)
Wodann Dec 19, 2024
53aa8bf
refactor: use genesis state instead of genesis accounts (#755)
Wodann Dec 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .changeset/hungry-cats-enjoy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@nomicfoundation/edr": patch
---

Allow forked block time offset to be negative
5 changes: 5 additions & 0 deletions .changeset/kind-timers-sin.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@nomicfoundation/edr": minor
---

Replace const enums with non-const enums in \*.d.ts files
5 changes: 5 additions & 0 deletions .changeset/nine-wasps-promise.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@nomicfoundation/edr": minor
---

Replaces the Provider constructor with an API for registering and creating chain-specific providers in the EdrContext
5 changes: 5 additions & 0 deletions .changeset/seven-dogs-decide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@nomicfoundation/edr": patch
---

Handle optional solc settings better in the tracing engine
5 changes: 5 additions & 0 deletions .changeset/sour-donkeys-draw.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@nomicfoundation/edr": minor
---

Renamed `json` field in response to `data` and changed its type to `string | object` (specified as `string | any` due to an napi-rs limitation).
5 changes: 5 additions & 0 deletions .changeset/spotty-dryers-study.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@nomicfoundation/edr": minor
---

Added InvalidEXTCALLTarget to ExceptionalHalt
5 changes: 5 additions & 0 deletions .changeset/thick-impalas-sparkle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@nomicfoundation/edr": patch
---

Fixed a bug in the JSON-RPC where we previously allowed a null value for storage keys of an access list
56 changes: 50 additions & 6 deletions .github/workflows/edr-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ on:
workflow_dispatch:

env:
RUSTFLAGS: -Dwarnings
RUSTDOCFLAGS: -Dwarnings

concurrency:
Expand All @@ -29,6 +28,8 @@ jobs:
- uses: taiki-e/install-action@cargo-hack

- run: cargo hack check --feature-powerset --no-dev-deps
env:
RUSTFLAGS: -Dwarnings

test-edr-rs:
name: Test EDR (${{ matrix.os }})
Expand All @@ -41,6 +42,11 @@ jobs:
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/setup-rust
with:
components: llvm-tools-preview

- name: Install cargo-llvm-cov
uses: taiki-e/install-action@cargo-llvm-cov

- name: Cache EDR RPC cache
uses: actions/cache@v2
Expand All @@ -49,14 +55,19 @@ jobs:
**/edr-cache
key: edr-rs-rpc-cache-v1

- name: Build cargo tests
run: cargo test --workspace --all-targets --all-features --no-run

- name: Run cargo test
- name: Run cargo tests (with coverage)
env:
ALCHEMY_URL: ${{ secrets.ALCHEMY_URL }}
INFURA_URL: ${{ secrets.INFURA_URL }}
run: cargo test --workspace --all-targets --all-features
run: cargo llvm-cov --workspace --all-targets --all-features --codecov --output-path codecov.json

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
files: codecov.json
name: ${{ matrix.os }}
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}

- name: Doctests
run: cargo test --doc --workspace --features tracing
Expand All @@ -76,6 +87,39 @@ jobs:
# ALCHEMY_URL: ${{ secrets.ALCHEMY_URL }}
# run: cargo nextest run --workspace --all-features --all-targets

test-edr-ts:
name: Test EDR TS bindings (${{ matrix.os }})
runs-on: ${{ matrix.os }}
needs: check-edr
strategy:
fail-fast: false
matrix:
node: [18.15]
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v3

- uses: ./.github/actions/setup-node
with:
node-version: ${{ matrix.node }}

- uses: ./.github/actions/setup-rust

- name: Cache EDR RPC cache
uses: actions/cache@v2
with:
path: |
**/edr-cache
key: edr-ts-rpc-cache-v1

- name: Install package
run: pnpm install --frozen-lockfile --prefer-offline

- name: Run tests
env:
ALCHEMY_URL: ${{ secrets.ALCHEMY_URL }}
run: cd crates/edr_napi && pnpm test

edr-style:
name: Check EDR Style
runs-on: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-recent-mainnet-block.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
**/edr-cache
key: test-recent-mainnet-block-rpc-cache-v1

- run: cargo replay-block -u ${{ secrets.ALCHEMY_URL }} -c 1
- run: cargo replay-block -u ${{ secrets.ALCHEMY_URL }} -c l1

- name: Notify failures
if: failure()
Expand Down
Loading
Loading