From 111207afe8c43bb0aced780810263700463a2e5e Mon Sep 17 00:00:00 2001 From: Benjamin Kampmann Date: Fri, 31 Jan 2020 20:01:32 +0100 Subject: [PATCH] Adding Serde Deserialisation to UncheckExtrinsics (#4793) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Adding Serde:Deserialise to UncheckExtrinsics to be able to use the ChainApi RPC from the client side * Update primitives/runtime/src/generic/unchecked_extrinsic.rs Co-authored-by: Bastian Köcher --- .../runtime/src/generic/unchecked_extrinsic.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/substrate/primitives/runtime/src/generic/unchecked_extrinsic.rs b/substrate/primitives/runtime/src/generic/unchecked_extrinsic.rs index 96e7988103..1625d42e93 100644 --- a/substrate/primitives/runtime/src/generic/unchecked_extrinsic.rs +++ b/substrate/primitives/runtime/src/generic/unchecked_extrinsic.rs @@ -274,6 +274,19 @@ impl s } } +#[cfg(feature = "std")] +impl<'a, Address: Decode, Signature: Decode, Call: Decode, Extra: SignedExtension> serde::Deserialize<'a> + for UncheckedExtrinsic +{ + fn deserialize(de: D) -> Result where + D: serde::Deserializer<'a>, + { + let r = sp_core::bytes::deserialize(de)?; + Decode::decode(&mut &r[..]) + .map_err(|e| serde::de::Error::custom(format!("Decode error: {}", e))) + } +} + impl fmt::Debug for UncheckedExtrinsic where