From 4dca429eec651b6b34f44786d31282d63f30bc6b Mon Sep 17 00:00:00 2001 From: mehmetkr-31 Date: Sat, 8 Aug 2026 14:09:45 +0300 Subject: [PATCH] fix(types): make malachitebft-signing-ed25519 a required dependency `cargo check -p arc-consensus-types --no-default-features` fails with four unresolved imports: error[E0432]: unresolved import `malachitebft_signing_ed25519` --> crates/types/src/proposal_part.rs:26:5 --> crates/types/src/codec/proto.rs:28:5 --> crates/types/src/signing.rs:21:9 --> crates/types/src/ssz/v1/vote.rs:21:5 The `signer-local` feature gated `dep:malachitebft-signing-ed25519`, but those four modules import it unconditionally and `signer-local` never appears in a `#[cfg]` anywhere in the workspace. The feature therefore offered no real choice: with it the crate builds, without it the build breaks outright. Make the dependency required and drop the feature along with the now empty `default`. No crate in the workspace requested `signer-local` explicitly, so nothing needs updating alongside this. Cargo.lock is unchanged, `cargo check --workspace --all-features` still passes, and the crate's 192 tests pass. Co-Authored-By: Claude Opus 5 --- crates/types/Cargo.toml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/crates/types/Cargo.toml b/crates/types/Cargo.toml index 0228926b..e7c01249 100644 --- a/crates/types/Cargo.toml +++ b/crates/types/Cargo.toml @@ -8,9 +8,7 @@ rust-version.workspace = true publish.workspace = true [features] -default = ["signer-local"] arbitrary = ["dep:arbitrary"] -signer-local = ["dep:malachitebft-signing-ed25519"] [dependencies] @@ -40,7 +38,7 @@ malachitebft-core-consensus = { workspace = true } malachitebft-core-types = { workspace = true, features = ["serde"] } malachitebft-proto = { workspace = true } malachitebft-signing = { workspace = true } -malachitebft-signing-ed25519 = { workspace = true, optional = true, features = ["rand", "serde"] } +malachitebft-signing-ed25519 = { workspace = true, features = ["rand", "serde"] } malachitebft-sync = { workspace = true } prost = { workspace = true }