From 8283cab415852bf8ed19569f01fcefd9a3758a52 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 29 Jul 2026 15:29:18 +0000 Subject: [PATCH] Drop five unused direct dependencies None of these crates are referenced anywhere in the codebase (verified by grep across src/ and tests/); the default build and the full test suite pass without them: - ed25519-dalek: Ed25519 keygen/signing goes through ic-agent's BasicIdentity::from_raw_key, never this crate. - p256, ic-signature-verification: the server never verifies delegation signatures itself; the replica verifies every hop at redeem. - ic-representation-independent-hash: unreferenced. - schemars 0.8: vestigial. Every JsonSchema derive resolves through `use rmcp::schemars` (rmcp's re-exported 1.x); the top-level 0.8 dep is never bound. rmcp's own schemars re-export is untouched. Removing the declarations drops ic-signature-verification and ic-representation-independent-hash (plus their unique transitive deps ic-canister-sig-creation and ic0) from the default build closure. ed25519-dalek and p256 remain in the tree transitively via ic-agent, and schemars 0.8 remains via the optional pocket-ic (e2e feature) dep, so removing those three declarations is direct-dependency hygiene rather than closure reduction. Cargo.lock updated minimally (removals only, no version bumps). Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_014T9N8USDfNK5yzznPGg7Ym --- Cargo.lock | 56 ------------------------------------------------------ Cargo.toml | 5 ----- 2 files changed, 61 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 152b5ed..f57bff7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1525,25 +1525,6 @@ dependencies = [ "url", ] -[[package]] -name = "ic-canister-sig-creation" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8b2a507d1bebb111fc8c76098468e4de9c745e9b9ef160a079568ae1d6f7fef" -dependencies = [ - "candid", - "hex", - "ic-certification", - "ic-representation-independent-hash", - "ic0", - "lazy_static", - "serde", - "serde_bytes", - "serde_cbor", - "sha2 0.10.9", - "thiserror 2.0.18", -] - [[package]] name = "ic-certification" version = "3.2.0" @@ -1584,32 +1565,6 @@ dependencies = [ "serde_bytes", ] -[[package]] -name = "ic-representation-independent-hash" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c80c46e399bcce51c531237e1111ced114dec295cff22b0996099a6168814b03" -dependencies = [ - "leb128", - "sha2 0.10.9", -] - -[[package]] -name = "ic-signature-verification" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0e8f6b8a33244df75bddeef3ef1255552de517785f462a090ba218cf2abd93c" -dependencies = [ - "ic-canister-sig-creation", - "ic-certification", - "ic-verify-bls-signature", - "ic_principal", - "serde", - "serde_bytes", - "serde_cbor", - "sha2 0.10.9", -] - [[package]] name = "ic-transport-types" version = "0.45.0" @@ -1660,12 +1615,6 @@ dependencies = [ "sha2 0.10.9", ] -[[package]] -name = "ic0" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77c8932bff1f09502d0d8c079d5a206a06afe523e35e816162cf4d30b5bf80d" - [[package]] name = "ic_bls12_381" version = "0.10.1" @@ -1820,19 +1769,14 @@ dependencies = [ "candid", "candid_parser", "crc32fast", - "ed25519-dalek", "getrandom 0.3.4", "hex", "http-body-util", "ic-agent", - "ic-representation-independent-hash", - "ic-signature-verification", - "p256", "pocket-ic", "regex", "reqwest 0.13.4", "rmcp", - "schemars 0.8.22", "serde", "serde_json", "sha2 0.11.0", diff --git a/Cargo.toml b/Cargo.toml index 4704397..142d297 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -30,20 +30,15 @@ axum = "0.8" anyhow = "1" serde = { version = "1", features = ["derive"] } serde_json = "1" -schemars = "0.8" tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } tokio-util = "0.7" uuid = { version = "1", features = ["v4"] } tower-http = { version = "0.7", features = ["cors"] } -ic-signature-verification = "0.3.0" sha2 = "0.11.0" base64 = "0.22.1" hex = "0.4.3" crc32fast = "1" -ed25519-dalek = "2.2.0" -ic-representation-independent-hash = "3.2.0" -p256 = { version = "0.13.2", features = ["ecdsa"] } regex = "1.12.4" reqwest = { version = "0.13", default-features = false, features = ["rustls"] } getrandom = "0.3.4"