Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
da6abe4
chore: bump revm 30.0.2 (#379)
rakita Nov 10, 2025
5af3c6a
chore: bump revm 30.0.2 (#380)
rakita Nov 10, 2025
1f74372
chore: bump to revm 33 (#381)
zerosnacks Nov 12, 2025
036116c
chore: release 0.33.0
klkvr Nov 12, 2025
fd4cf14
feat: Fix geth prestate filtering for prefunded creations (#383)
0xKarl98 Nov 28, 2025
7072085
feat: upstream DebugInspector from reth (#384)
reject-i Nov 28, 2025
cd0b0c4
chore: release 0.33.1
mattsse Dec 5, 2025
8c03448
test: add test for string error decode (#386)
mattsse Dec 11, 2025
0e07a54
fix: use pre code if hash matches (#387)
mattsse Dec 12, 2025
dddeee8
chore: release 0.33.2
mattsse Dec 12, 2025
36e4d5a
feat: add support for erc7562 tracer (#392)
0xKarl98 Dec 30, 2025
15ced6a
feat: stage revm to 34.0.0 (#385)
rakita Jan 16, 2026
516a4fa
chore: release 0.34.0
mattsse Jan 16, 2026
98bedc9
ci: update to tempoxyz (#395)
DaniPopes Jan 18, 2026
62f29b8
fix: always include storage values for `SLOAD` and `SSTORE` in `GethT…
Wodann Jan 20, 2026
4984419
test: add prestate replay testing infrastructure (#399)
mattsse Jan 22, 2026
010908d
fix: use Default::default() for TransactionInfo for forward compatibi…
mattsse Jan 26, 2026
3643ac8
chore: release 0.34.1
mattsse Jan 26, 2026
5772d0e
feat: expose refund_counter in `CallTrace` (#402)
Philogy Jan 30, 2026
514fe4f
chore: release 0.34.2
mattsse Jan 30, 2026
51d1c74
chore: bump MSRV to 1.91 (#407)
stevencartavia Feb 19, 2026
6c83560
feat: implement Clone for DebugInspector (#406)
stevencartavia Feb 20, 2026
425b9f8
devnet2-revm: bump revm patch for release procedure (#408)
rakita Mar 3, 2026
432e666
chore: release 0.35.0
mattsse Mar 3, 2026
8c47326
chore: bump revm to 36.0.0 (#409)
rakita Mar 4, 2026
9b0ea2e
chore: release 0.36.0
mattsse Mar 4, 2026
050f547
fix: omit empty returnData in geth struct log trace (#411)
decofe Mar 12, 2026
02ab2b2
feat: add set_transaction_caller and set_transaction_target (#412)
decofe Mar 16, 2026
f6f52c4
chore: release 0.36.1
klkvr Mar 16, 2026
a440579
chore: relax `CTX` bounds on `StorageInspector` `Inspector` impl (#416)
mablr Apr 6, 2026
c44c709
fix: eip-7708 logs (#413)
chihkaiyu Apr 9, 2026
e27ca70
chore: bump alloy to 2.0 (#421)
mattsse Apr 13, 2026
22dcee2
chore: release 0.37.0
mattsse Apr 13, 2026
06c0f10
tip1016: revm state-gas integration (#405)
rakita Apr 14, 2026
2c6eb53
chore: release 0.38.0
mattsse Apr 14, 2026
7064812
fix: check if opcode is valid (#422)
decofe Apr 15, 2026
972f55b
chore: release 0.38.1
mattsse Apr 15, 2026
ca52078
fix(tracing): always include refund counter, wire enableReturnData co…
figtracer Apr 16, 2026
7f364e8
fix(tracing): align memory encoding and returnData gating (#425)
figtracer Apr 16, 2026
c3a02f2
chore: bump revm to 38.0.0 (#427)
rakita Apr 17, 2026
10173a3
chore: release 0.39.0
klkvr Apr 17, 2026
84c08b1
Merge tag 'v0.39.0' into mantle-elysium
asdv23 May 11, 2026
d7d6d46
fix: use .values() instead of iter with unused key to satisfy clippy
asdv23 May 11, 2026
43a426e
Revert "fix: use .values() instead of iter with unused key to satisfy…
asdv23 May 11, 2026
af52253
Reapply "fix: use .values() instead of iter with unused key to satisf…
asdv23 May 11, 2026
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
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ jobs:
RUSTDOCFLAGS: "--cfg docsrs -D warnings"

deny:
uses: ithacaxyz/ci/.github/workflows/deny.yml@main
uses: tempoxyz/ci/.github/workflows/deny.yml@main

fmt:
runs-on: ubuntu-latest
Expand Down
163 changes: 163 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,168 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.39.0](https://github.com/paradigmxyz/revm-inspectors/releases/tag/v0.39.0) - 2026-04-17

### Bug Fixes

- [tracing] Align memory encoding and returnData gating ([#425](https://github.com/paradigmxyz/revm-inspectors/issues/425))
- [tracing] Always include refund counter, wire enableReturnData config ([#424](https://github.com/paradigmxyz/revm-inspectors/issues/424))

### Dependencies

- Bump revm to 38.0.0 ([#427](https://github.com/paradigmxyz/revm-inspectors/issues/427))

## [0.38.1](https://github.com/paradigmxyz/revm-inspectors/releases/tag/v0.38.1) - 2026-04-15

### Bug Fixes

- Check if opcode is valid ([#422](https://github.com/paradigmxyz/revm-inspectors/issues/422))

### Miscellaneous Tasks

- Release 0.38.1

## [0.38.0](https://github.com/paradigmxyz/revm-inspectors/releases/tag/v0.38.0) - 2026-04-14

### Miscellaneous Tasks

- Release 0.38.0

### Other

- Revm state-gas integration ([#405](https://github.com/paradigmxyz/revm-inspectors/issues/405))

## [0.37.0](https://github.com/paradigmxyz/revm-inspectors/releases/tag/v0.37.0) - 2026-04-13

### Bug Fixes

- Eip-7708 logs ([#413](https://github.com/paradigmxyz/revm-inspectors/issues/413))

### Dependencies

- Bump alloy to 2.0 ([#421](https://github.com/paradigmxyz/revm-inspectors/issues/421))

### Miscellaneous Tasks

- Release 0.37.0
- Relax `CTX` bounds on `StorageInspector` `Inspector` impl ([#416](https://github.com/paradigmxyz/revm-inspectors/issues/416))

## [0.36.1](https://github.com/paradigmxyz/revm-inspectors/releases/tag/v0.36.1) - 2026-03-16

### Bug Fixes

- Omit empty returnData in geth struct log trace ([#411](https://github.com/paradigmxyz/revm-inspectors/issues/411))

### Features

- Add set_transaction_caller and set_transaction_target ([#412](https://github.com/paradigmxyz/revm-inspectors/issues/412))

### Miscellaneous Tasks

- Release 0.36.1

## [0.36.0](https://github.com/paradigmxyz/revm-inspectors/releases/tag/v0.36.0) - 2026-03-04

### Dependencies

- Bump revm to 36.0.0 ([#409](https://github.com/paradigmxyz/revm-inspectors/issues/409))

### Miscellaneous Tasks

- Release 0.36.0

## [0.35.0](https://github.com/paradigmxyz/revm-inspectors/releases/tag/v0.35.0) - 2026-03-03

### Dependencies

- Bump revm patch for release procedure ([#408](https://github.com/paradigmxyz/revm-inspectors/issues/408))
- Bump MSRV to 1.91 ([#407](https://github.com/paradigmxyz/revm-inspectors/issues/407))

### Features

- Implement Clone for DebugInspector ([#406](https://github.com/paradigmxyz/revm-inspectors/issues/406))

### Miscellaneous Tasks

- Release 0.35.0

## [0.34.2](https://github.com/paradigmxyz/revm-inspectors/releases/tag/v0.34.2) - 2026-01-30

### Features

- Expose refund_counter in `CallTrace` ([#402](https://github.com/paradigmxyz/revm-inspectors/issues/402))

### Miscellaneous Tasks

- Release 0.34.2

## [0.34.1](https://github.com/paradigmxyz/revm-inspectors/releases/tag/v0.34.1) - 2026-01-26

### Bug Fixes

- Use Default::default() for TransactionInfo for forward compatibility ([#401](https://github.com/paradigmxyz/revm-inspectors/issues/401))
- Always include storage values for `SLOAD` and `SSTORE` in `GethTrace` ([#389](https://github.com/paradigmxyz/revm-inspectors/issues/389))

### Miscellaneous Tasks

- Release 0.34.1

### Other

- Update to tempoxyz ([#395](https://github.com/paradigmxyz/revm-inspectors/issues/395))

### Testing

- Add prestate replay testing infrastructure ([#399](https://github.com/paradigmxyz/revm-inspectors/issues/399))

## [0.34.0](https://github.com/paradigmxyz/revm-inspectors/releases/tag/v0.34.0) - 2026-01-16

### Features

- Stage revm to 34.0.0 ([#385](https://github.com/paradigmxyz/revm-inspectors/issues/385))
- Add support for erc7562 tracer ([#392](https://github.com/paradigmxyz/revm-inspectors/issues/392))

### Miscellaneous Tasks

- Release 0.34.0

## [0.33.2](https://github.com/paradigmxyz/revm-inspectors/releases/tag/v0.33.2) - 2025-12-12

### Bug Fixes

- Use pre code if hash matches ([#387](https://github.com/paradigmxyz/revm-inspectors/issues/387))

### Miscellaneous Tasks

- Release 0.33.2

### Testing

- Add test for string error decode ([#386](https://github.com/paradigmxyz/revm-inspectors/issues/386))

## [0.33.1](https://github.com/paradigmxyz/revm-inspectors/releases/tag/v0.33.1) - 2025-12-05

### Features

- Upstream DebugInspector from reth ([#384](https://github.com/paradigmxyz/revm-inspectors/issues/384))
- Fix geth prestate filtering for prefunded creations ([#383](https://github.com/paradigmxyz/revm-inspectors/issues/383))

### Miscellaneous Tasks

- Release 0.33.1

## [0.33.0](https://github.com/paradigmxyz/revm-inspectors/releases/tag/v0.33.0) - 2025-11-12

### Dependencies

- Bump to revm 33 ([#381](https://github.com/paradigmxyz/revm-inspectors/issues/381))
- Bump revm 30.0.2 ([#380](https://github.com/paradigmxyz/revm-inspectors/issues/380))
- Bump revm 30.0.2 ([#379](https://github.com/paradigmxyz/revm-inspectors/issues/379))

### Miscellaneous Tasks

- Release 0.33.0

## [0.32.0](https://github.com/paradigmxyz/revm-inspectors/releases/tag/v0.32.0) - 2025-11-03

### Bug Fixes
Expand All @@ -23,6 +185,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Miscellaneous Tasks

- Release 0.32.0
- Update `Boa` to v0.21.0 ([#375](https://github.com/paradigmxyz/revm-inspectors/issues/375))

### Refactor
Expand Down
24 changes: 7 additions & 17 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
[package]
name = "revm-inspectors"
description = "Revm inspector implementations"
version = "0.32.0"
version = "0.39.0"
edition = "2021"
rust-version = "1.91.0"
rust-version = "1.91"
license = "MIT OR Apache-2.0"
homepage = "https://github.com/paradigmxyz/revm-inspectors"
repository = "https://github.com/paradigmxyz/revm-inspectors"
Expand All @@ -30,14 +30,13 @@ clippy.lint_groups_priority = "allow"

[dependencies]
# eth
alloy-rpc-types-eth = { version = "1.0.38", default-features = false }
alloy-rpc-types-trace = { version = "1.0.38", default-features = false }
alloy-rpc-types-eth = { version = "2.0", default-features = false }
alloy-rpc-types-trace = { version = "2.0", default-features = false }
alloy-sol-types = { version = "1.4", default-features = false }
alloy-primitives = { version = "1.4", default-features = false, features = [
"map",
] }
# revm = { version = "31.0.0", default-features = false }
revm = { git = "https://github.com/mantle-xyz/revm", tag = "v2.2.2", default-features = false }
revm = { git = "https://github.com/mantle-xyz/revm", branch = "mantle-elysium", default-features = false }

anstyle = { version = "1.0", optional = true }
colorchoice = "1.0"
Expand All @@ -52,6 +51,7 @@ boa_engine = { version = "0.21", optional = true }
boa_gc = { version = "0.21", optional = true }

[dev-dependencies]
alloy-hardforks = "0.4"
snapbox = { version = "0.6", features = ["term-svg"] }

[features]
Expand All @@ -67,14 +67,4 @@ std = [
serde = ["dep:serde", "revm/serde"]
js-tracer = ["dep:boa_engine", "dep:boa_gc"]

# [patch."https://github.com/mantle-xyz/revm"]
# revm = { path = "../revm/crates/revm" }
# revm-bytecode = { path = "../revm/crates/bytecode" }
# revm-state = { path = "../revm/crates/state" }
# revm-primitives = { path = "../revm/crates/primitives" }
# revm-interpreter = { path = "../revm/crates/interpreter" }
# revm-inspector = { path = "../revm/crates/inspector" }
# revm-context = { path = "../revm/crates/context" }
# revm-context-interface = { path = "../revm/crates/context/interface" }
# revm-database = { path = "../revm/crates/database" }
# revm-database-interface = { path = "../revm/crates/database/interface" }

4 changes: 2 additions & 2 deletions src/opcode.rs
Original file line number Diff line number Diff line change
Expand Up @@ -123,13 +123,13 @@ where
// for accurate create opcode gas tracking, we need to deduct the gas limit from the opcode
// gas, because otherwise the create opcodes would include the total gas consumed within the
// create itself, but we want to track how much gas the create opcode itself consumes.
let opcode = match inputs.scheme {
let opcode = match inputs.scheme() {
CreateScheme::Create => opcode::CREATE,
CreateScheme::Create2 { .. } => opcode::CREATE2,
CreateScheme::Custom { .. } => return None,
};

self.subtract_gas_limit(opcode, inputs.gas_limit);
self.subtract_gas_limit(opcode, inputs.gas_limit());

None
}
Expand Down
7 changes: 1 addition & 6 deletions src/storage.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
use alloy_primitives::{map::HashMap, Address, B256};
use revm::{
bytecode::opcode,
context::ContextTr,
inspector::JournalExt,
interpreter::{
interpreter_types::{InputsTr, Jumps},
Interpreter,
Expand Down Expand Up @@ -52,10 +50,7 @@ impl StorageInspector {
}
}

impl<CTX> Inspector<CTX> for StorageInspector
where
CTX: ContextTr<Journal: JournalExt>,
{
impl<CTX> Inspector<CTX> for StorageInspector {
fn step(&mut self, interp: &mut Interpreter, _context: &mut CTX) {
if interp.bytecode.opcode() == opcode::SLOAD {
if let Ok(slot) = interp.stack.peek(0) {
Expand Down
Loading