From 677b79765b1b20e59e176915d44a3050b35886ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Drwi=C4=99ga?= <tomusdrw@users.noreply.github.com> Date: Fri, 11 Jan 2019 19:24:25 +0100 Subject: [PATCH] Fix serialization of extrinsics. (#1402) --- substrate/core/sr-primitives/src/lib.rs | 8 +++++++- substrate/node/primitives/src/lib.rs | 2 -- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/substrate/core/sr-primitives/src/lib.rs b/substrate/core/sr-primitives/src/lib.rs index 2deb05c90f5..5c87782b048 100644 --- a/substrate/core/sr-primitives/src/lib.rs +++ b/substrate/core/sr-primitives/src/lib.rs @@ -534,7 +534,7 @@ pub struct OpaqueExtrinsic(pub Vec<u8>); #[cfg(feature = "std")] impl ::serde::Serialize for OpaqueExtrinsic { fn serialize<S>(&self, seq: S) -> Result<S::Ok, S::Error> where S: ::serde::Serializer { - ::codec::Encode::using_encoded(&self.0, |bytes| seq.serialize_bytes(bytes)) + ::codec::Encode::using_encoded(&self.0, |bytes| ::substrate_primitives::bytes::serialize(bytes, seq)) } } @@ -617,4 +617,10 @@ mod tests { // check that as-style methods are not working with regular items assert!(b1.as_authorities_change().is_none()); } + + #[test] + fn opaque_extrinsic_serialization() { + let ex = super::OpaqueExtrinsic(vec![1, 2, 3, 4]); + assert_eq!(serde_json::to_string(&ex).unwrap(), "\"0x1001020304\"".to_owned()); + } } diff --git a/substrate/node/primitives/src/lib.rs b/substrate/node/primitives/src/lib.rs index 02733061346..504ac5db953 100644 --- a/substrate/node/primitives/src/lib.rs +++ b/substrate/node/primitives/src/lib.rs @@ -31,8 +31,6 @@ extern crate sr_primitives as runtime_primitives; extern crate substrate_primitives as primitives; use runtime_primitives::generic; -#[cfg(feature = "std")] -use primitives::bytes; use runtime_primitives::{OpaqueExtrinsic, traits::BlakeTwo256}; pub use runtime_primitives::BasicInherentData as InherentData; -- GitLab