From 896a9873828b4f140f427ebf21574a3681b3a63d Mon Sep 17 00:00:00 2001 From: Max Inden Date: Fri, 30 Apr 2021 12:58:34 +0200 Subject: [PATCH] *: Remove parity-scale-codec Given that there are no known users of the scale encoding feature, this commit removes it, making overall maintenance easier. For more details see: https://github.com/multiformats/rust-multihash/pull/118 --- Cargo.toml | 2 -- src/lib.rs | 4 +-- src/multihash.rs | 71 ------------------------------------------------ 3 files changed, 1 insertion(+), 76 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index d8d2fe3b..f009f1c2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,7 +20,6 @@ multihash-impl = ["derive"] derive = ["multihash-derive"] arb = ["quickcheck", "rand"] secure-hashes = ["blake2b", "blake2s", "blake3", "sha2", "sha3"] -scale-codec = ["parity-scale-codec"] serde-codec = ["serde", "generic-array/serde"] blake2b = ["blake2b_simd"] @@ -33,7 +32,6 @@ strobe = ["strobe-rs"] [dependencies] generic-array = "0.14.4" -parity-scale-codec = { version = "1.3.5", optional = true, default-features = false, features = ["derive"] } quickcheck = { version = "0.9.2", optional = true } rand = { version = "0.7.3", optional = true } serde = { version = "1.0.116", optional = true, default-features = false, features = ["derive"] } diff --git a/src/lib.rs b/src/lib.rs index 828f9ff0..c8dddea0 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -41,13 +41,11 @@ //! The `arb` feature flag enables the quickcheck arbitrary implementation for property based //! testing. //! -//! For serializing the multihash there is support for [Serde] via the `serde-codec` feature and -//! the [SCALE Codec] via the `scale-codec` feature. +//! For serializing the multihash there is support for [Serde] via the `serde-codec` feature. //! //! [feature flags]: https://doc.rust-lang.org/cargo/reference/manifest.html#the-features-section //! [`Multihash` derive]: crate::derive //! [Serde]: https://serde.rs -//! [SCALE Codec]: https://github.com/paritytech/parity-scale-codec #![deny(missing_docs)] #![cfg_attr(not(feature = "std"), no_std)] diff --git a/src/multihash.rs b/src/multihash.rs index 50339710..4e6e1ff9 100644 --- a/src/multihash.rs +++ b/src/multihash.rs @@ -179,66 +179,6 @@ impl From> for Vec { } } -#[cfg(feature = "scale-codec")] -impl parity_scale_codec::Encode for Multihash { - fn encode_to(&self, dest: &mut EncOut) { - let mut digest = [0; 32]; - digest.copy_from_slice(&self.digest); - dest.push(&self.code); - dest.push(&self.size); - dest.push(&digest); - } -} - -#[cfg(feature = "scale-codec")] -impl parity_scale_codec::EncodeLike for Multihash {} - -#[cfg(feature = "scale-codec")] -impl parity_scale_codec::Decode for Multihash { - fn decode( - input: &mut DecIn, - ) -> Result { - Ok(Multihash { - code: parity_scale_codec::Decode::decode(input)?, - size: parity_scale_codec::Decode::decode(input)?, - digest: { - let digest = <[u8; 32]>::decode(input)?; - GenericArray::clone_from_slice(&digest) - }, - }) - } -} - -#[cfg(feature = "scale-codec")] -impl parity_scale_codec::Encode for Multihash { - fn encode_to(&self, dest: &mut EncOut) { - let mut digest = [0; 64]; - digest.copy_from_slice(&self.digest); - dest.push(&self.code); - dest.push(&self.size); - dest.push(&digest); - } -} - -#[cfg(feature = "scale-codec")] -impl parity_scale_codec::EncodeLike for Multihash {} - -#[cfg(feature = "scale-codec")] -impl parity_scale_codec::Decode for Multihash { - fn decode( - input: &mut DecIn, - ) -> Result { - Ok(Multihash { - code: parity_scale_codec::Decode::decode(input)?, - size: parity_scale_codec::Decode::decode(input)?, - digest: { - let digest = <[u8; 64]>::decode(input)?; - GenericArray::clone_from_slice(&digest) - }, - }) - } -} - /// Writes the multihash to a byte stream. #[cfg(feature = "std")] pub fn write_multihash(mut w: W, code: u64, size: u8, digest: &[u8]) -> Result<(), Error> @@ -299,17 +239,6 @@ mod tests { assert_eq!(hash, hash2); } - #[test] - #[cfg(feature = "scale-codec")] - fn test_scale() { - use parity_scale_codec::{Decode, Encode}; - - let mh = Multihash::::default(); - let bytes = mh.encode(); - let mh2: Multihash = Decode::decode(&mut &bytes[..]).unwrap(); - assert_eq!(mh, mh2); - } - #[test] #[cfg(feature = "serde-codec")] fn test_serde() {