Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 2 additions & 16 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,21 +59,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo check --no-default-features -p revm --features=${{ matrix.features }}

feature-checks:
name: features
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: taiki-e/install-action@cargo-hack
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- name: cargo hack
run: cargo hack check --feature-powerset --depth 1
- run: cargo check --no-default-features -p revm --features=${{ matrix.features }}

clippy:
name: clippy
Expand Down Expand Up @@ -109,7 +95,7 @@ jobs:
with:
components: rustfmt
- run: cargo fmt --all --check

# Check crates correctly propagate features
feature-propagation:
runs-on: ubuntu-latest
Expand Down
12 changes: 12 additions & 0 deletions .github/workflows/ethereum-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,13 @@ jobs:
- name: Checkout sources
uses: actions/checkout@v4

- name: Checkout ethereum/tests
uses: actions/checkout@v4
with:
repository: ethereum/legacytests
path: legacytests
submodules: recursive

- name: Install toolchain
uses: dtolnay/rust-toolchain@stable

Expand All @@ -34,4 +41,9 @@ jobs:

- name: Run tests
run: |
cross run --target ${{matrix.target}} --profile ${{ matrix.profile }} \
${{ matrix.target != 'i686-unknown-linux-gnu' && '--features gmp' || '' }} \
-p revme -- statetest \
legacytests/Cancun/GeneralStateTests/ \
legacytests/Constantinople/GeneralStateTests/
./scripts/run-tests.sh clean cross ${{ matrix.profile }} ${{ matrix.target }}
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "legacytests"]
path = legacytests
url = https://github.com/ethereum/legacytests.git
91 changes: 1 addition & 90 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,96 +1,7 @@
Because this is workspace with multi libraries, tags will be simplified, and with this document you can match version of project with git tag.


# v83
date: 23.07.2025

Fusaka devnet-3 support. Performance regresion fixes.

`revm-primitives`: 20.0.0 -> 20.1.0 (✓ API compatible changes)
`revm-bytecode`: 6.0.1 -> 6.1.0 (✓ API compatible changes)
`revm-database-interface`: 7.0.1 -> 7.0.2 (✓ API compatible changes)
`revm-context-interface`: 8.0.1 -> 9.0.0 (⚠ API breaking changes)
`revm-context`: 8.0.3 -> 8.0.4 (✓ API compatible changes)
`revm-interpreter`: 23.0.2 -> 24.0.0 (⚠ API breaking changes)
`revm-precompile`: 24.0.1 -> 25.0.0 (⚠ API breaking changes)
`revm-handler`: 8.0.3 -> 8.1.0 (✓ API compatible changes)
`revm-inspector`: 8.0.3 -> 8.1.0 (✓ API compatible changes)
`revm`: 27.0.3 -> 27.1.0 (✓ API compatible changes)
`revme`: 7.0.4 -> 7.1.0 (✓ API compatible changes)
`op-revm`: 8.0.3 -> 8.1.0 (✓ API compatible changes)
`revm-state`: 7.0.1 -> 7.0.2
`revm-database`: 7.0.1 -> 7.0.2
`revm-statetest-types`: 8.0.4 -> 8.0.5

# v82
date 14.07.2025

Fix for inspector not calling `step_end`.

* `revm-context`: 8.0.2 -> 8.0.3 (✓ API compatible changes)
* `revm-interpreter`: 23.0.1 -> 23.0.2 (✓ API compatible changes)
* `revm-precompile`: 24.0.0 -> 24.0.1 (✓ API compatible changes)
* `revm-handler`: 8.0.2 -> 8.0.3 (✓ API compatible changes)
* `revm-inspector`: 8.0.2 -> 8.0.3 (✓ API compatible changes)
* `revme`: 7.0.3 -> 7.0.4 (✓ API compatible changes)
* `op-revm`: 8.0.2 -> 8.0.3 (✓ API compatible changes)
* `custom_precompile_journal`: 0.1.0
* `revm`: 27.0.2 -> 27.0.3
* `revm-statetest-types`: 8.0.3 -> 8.0.4

# v81
date: 03.07.2025

Fix inspector step_end panic for opcode fn.

* `revm-bytecode`: 6.0.0 -> 6.0.1 (✓ API compatible changes)
* `revm-handler`: 8.0.1 -> 8.0.2 (✓ API compatible changes)
* `revm-inspector`: 8.0.1 -> 8.0.2 (✓ API compatible changes)
* `revme`: 7.0.2 -> 7.0.3 (✓ API compatible changes)
* `custom_precompile_journal`: 0.1.0
* `revm-state`: 7.0.0 -> 7.0.1
* `revm-database-interface`: 7.0.0 -> 7.0.1
* `revm-context-interface`: 8.0.0 -> 8.0.1
* `revm-context`: 8.0.1 -> 8.0.2
* `revm-database`: 7.0.0 -> 7.0.1
* `revm-interpreter`: 23.0.0 -> 23.0.1
* `revm`: 27.0.1 -> 27.0.2
* `revm-statetest-types`: 8.0.2 -> 8.0.3
* `op-revm`: 8.0.1 -> 8.0.2

# v80
date 01.07.2025

Fix `build` and `build_fill` for OpTransactionBuilder

* `revm-context`: 8.0.0 -> 8.0.1 (✓ API compatible changes)
* `revm-handler`: 8.0.0 -> 8.0.1 (✓ API compatible changes)
* `revm-inspector`: 8.0.0 -> 8.0.1 (✓ API compatible changes)
* `revm`: 27.0.0 -> 27.0.1 (✓ API compatible changes)
* `op-revm`: 8.0.0 -> 8.0.1 (✓ API compatible changes)

# v79
date: 01.07.2025

Fix for bytecode eq operation.

* `revm-bytecode`: 5.0.0 -> 6.0.0 (⚠ API breaking changes)
* `revm-state`: 6.0.0 -> 7.0.0 (✓ API compatible changes)
* `revm-database-interface`: 6.0.0 -> 7.0.0 (✓ API compatible changes)
* `revm-context-interface`: 7.0.1 -> 8.0.0 (⚠ API breaking changes)
* `revm-context`: 7.0.1 -> 8.0.0 (✓ API compatible changes)
* `revm-interpreter`: 22.0.1 -> 23.0.0 (✓ API compatible changes)
* `revm-precompile`: 23.0.0 -> 24.0.0 (✓ API compatible changes)
* `revm-handler`: 7.0.1 -> 8.0.0 (⚠ API breaking changes)
* `revm-inspector`: 7.0.1 -> 8.0.0 (✓ API compatible changes)
* `revm`: 26.0.1 -> 27.0.0 (✓ API compatible changes)
* `revm-statetest-types`: 8.0.1 -> 8.0.2 (✓ API compatible changes)
* `revme`: 7.0.1 -> 7.0.2 (✓ API compatible changes)
* `op-revm`: 7.0.1 -> 8.0.0 (⚠ API breaking changes)
* `revm-database`: 6.0.0 -> 7.0.0

# v78
date: 20.05.2025
date 20.05.2025

Quick fix for not calling `frame_stack.clear()` https://github.com/bluealloy/revm/pull/2656

Expand Down
52 changes: 15 additions & 37 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

31 changes: 15 additions & 16 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -33,32 +33,31 @@ members = [
"examples/erc20_gas",
"examples/my_evm",
"examples/custom_opcodes",
"examples/custom_precompile_journal",
]
resolver = "2"
default-members = ["crates/revm"]

[workspace.dependencies]
# revm
revm = { path = "crates/revm", version = "27.1.0", default-features = false }
primitives = { path = "crates/primitives", package = "revm-primitives", version = "20.1.0", default-features = false }
bytecode = { path = "crates/bytecode", package = "revm-bytecode", version = "6.1.0", default-features = false }
database = { path = "crates/database", package = "revm-database", version = "7.0.2", default-features = false }
database-interface = { path = "crates/database/interface", package = "revm-database-interface", version = "7.0.2", default-features = false }
state = { path = "crates/state", package = "revm-state", version = "7.0.2", default-features = false }
interpreter = { path = "crates/interpreter", package = "revm-interpreter", version = "24.0.0", default-features = false }
inspector = { path = "crates/inspector", package = "revm-inspector", version = "8.1.0", default-features = false }
precompile = { path = "crates/precompile", package = "revm-precompile", version = "25.0.0", default-features = false }
statetest-types = { path = "crates/statetest-types", package = "revm-statetest-types", version = "8.0.5", default-features = false }
context = { path = "crates/context", package = "revm-context", version = "8.0.4", default-features = false }
context-interface = { path = "crates/context/interface", package = "revm-context-interface", version = "9.0.0", default-features = false }
handler = { path = "crates/handler", package = "revm-handler", version = "8.1.0", default-features = false }
op-revm = { path = "crates/op-revm", package = "op-revm", version = "8.1.0", default-features = false }
revm = { path = "crates/revm", version = "26.0.1", default-features = false }
primitives = { path = "crates/primitives", package = "revm-primitives", version = "20.0.0", default-features = false }
bytecode = { path = "crates/bytecode", package = "revm-bytecode", version = "5.0.0", default-features = false }
database = { path = "crates/database", package = "revm-database", version = "6.0.0", default-features = false }
database-interface = { path = "crates/database/interface", package = "revm-database-interface", version = "6.0.0", default-features = false }
state = { path = "crates/state", package = "revm-state", version = "6.0.0", default-features = false }
interpreter = { path = "crates/interpreter", package = "revm-interpreter", version = "22.0.1", default-features = false }
inspector = { path = "crates/inspector", package = "revm-inspector", version = "7.0.1", default-features = false }
precompile = { path = "crates/precompile", package = "revm-precompile", version = "23.0.0", default-features = false }
statetest-types = { path = "crates/statetest-types", package = "revm-statetest-types", version = "8.0.1", default-features = false }
context = { path = "crates/context", package = "revm-context", version = "7.0.1", default-features = false }
context-interface = { path = "crates/context/interface", package = "revm-context-interface", version = "7.0.1", default-features = false }
handler = { path = "crates/handler", package = "revm-handler", version = "7.0.1", default-features = false }
op-revm = { path = "crates/op-revm", package = "op-revm", version = "7.0.1", default-features = false }

# alloy
alloy-eip2930 = { version = "0.2.1", default-features = false }
alloy-eip7702 = { version = "0.6.1", default-features = false }
alloy-primitives = { version = "1.2.0", default-features = false }
alloy-primitives = { version = "1.2.0", default-features = false, features = [] }

# alloy in examples, revme or feature flagged.
alloy-rlp = { version = "0.3.12", default-features = false }
Expand Down
Loading
Loading