Skip to content

chore: drop unused sha3 dep (supersedes #24)#25

Merged
skansal-rome merged 1 commit into
masterfrom
evm-drop-sha3
Apr 27, 2026
Merged

chore: drop unused sha3 dep (supersedes #24)#25
skansal-rome merged 1 commit into
masterfrom
evm-drop-sha3

Conversation

@skansal-rome
Copy link
Copy Markdown
Contributor

Summary

The `sha3` crate has been declared in both `Cargo.toml` and `runtime/Cargo.toml` since the upstream SputnikVM fork, but is not actually used:

  • The SHA3 opcode handler in `runtime/src/eval/system.rs` delegates to `Handler::keccak256_h256()`, not `sha3::Keccak256` (the original `Keccak256::digest` calls were commented out at the time of the Rome fork).
  • `lib.rs` does not re-export `sha3`.
  • Grepping `rome-evm-private` / `rome-sdk` / `rome-apps` confirms no downstream consumer pulls `sha3` through this crate.

Why this PR (vs dependabot #24)

Dependabot #24 tries to bump `sha3 0.8 → 0.11`. That fails CI because `sha3 0.10+` removed the `std` feature flag that both `Cargo.toml` files reference under their own `std` feature. Rather than reproduce a dead dep with a different version pin, this PR removes it.

Test plan

  • `RUSTFLAGS=-Aunexpected_cfgs cargo build --release` — succeeds
  • `RUSTFLAGS=-Aunexpected_cfgs cargo clippy` — clean
  • `RUSTFLAGS=-Aunexpected_cfgs cargo test` — 0 tests (none defined in this repo)
  • Verified zero `use sha3 / sha3:: / sha3 = ` references in rome-evm-private, rome-sdk, rome-apps — no downstream rebuild needed

🤖 This response was generated by Claude Code.

The sha3 crate has been declared in both Cargo.toml files since the
upstream SputnikVM fork, but is not actually used: SHA3 opcode handling
in runtime/src/eval/system.rs delegates to Handler::keccak256_h256(),
not sha3::Keccak256. The crate is not re-exported by lib.rs, and
grepping rome-evm-private/rome-sdk/rome-apps confirms no downstream
consumer pulls it through the evm crate.

Dropping the dep cleanly resolves dependabot #24 (sha3 0.8 → 0.11),
which fails because sha3 0.10+ removed the `std` feature flag that
both Cargo.toml files reference under their `std` feature.

Verified:
- RUSTFLAGS=-Aunexpected_cfgs cargo build --release — succeeds
- RUSTFLAGS=-Aunexpected_cfgs cargo clippy — clean
- RUSTFLAGS=-Aunexpected_cfgs cargo test — 0 tests (none defined)
- rome-evm-private/rome-sdk/rome-apps grep — no direct sha3 imports
  through the evm crate, so no downstream rebuild needed

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@skansal-rome skansal-rome merged commit cf94278 into master Apr 27, 2026
7 checks passed
@skansal-rome skansal-rome deleted the evm-drop-sha3 branch April 27, 2026 20:42
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.

1 participant