diff --git a/substrate/core/sr-primitives/src/lib.rs b/substrate/core/sr-primitives/src/lib.rs index 3c4c69f084ef6e5345df15af0441fe419efbf18d..b0b76277dee06e22098c738f8652254cc196dbe0 100644 --- a/substrate/core/sr-primitives/src/lib.rs +++ b/substrate/core/sr-primitives/src/lib.rs @@ -39,7 +39,7 @@ pub use runtime_io::{StorageOverlay, ChildrenStorageOverlay}; use rstd::{prelude::*, ops, convert::{TryInto, TryFrom}}; use primitives::{crypto, ed25519, sr25519, hash::{H256, H512}}; -use codec::{Encode, Decode}; +use codec::{Encode, Decode, CompactAs}; #[cfg(feature = "std")] pub mod testing; @@ -173,7 +173,7 @@ pub type ConsensusEngineId = [u8; 4]; /// Permill is parts-per-million (i.e. after multiplying by this, divide by 1000000). #[cfg_attr(feature = "std", derive(Serialize, Deserialize, Debug, Ord, PartialOrd))] -#[derive(Encode, Decode, Default, Copy, Clone, PartialEq, Eq)] +#[derive(Encode, Decode, CompactAs, Default, Copy, Clone, PartialEq, Eq)] pub struct Permill(u32); impl Permill { @@ -263,26 +263,10 @@ impl From<f32> for Permill { } } -impl codec::CompactAs for Permill { - type As = u32; - fn encode_as(&self) -> &u32 { - &self.0 - } - fn decode_from(x: u32) -> Permill { - Permill(x) - } -} - -impl From<codec::Compact<Permill>> for Permill { - fn from(x: codec::Compact<Permill>) -> Permill { - x.0 - } -} - /// Perbill is parts-per-billion. It stores a value between 0 and 1 in fixed point and /// provides a means to multiply some other value by that. #[cfg_attr(feature = "std", derive(Serialize, Deserialize, Debug))] -#[derive(Encode, Decode, Default, Copy, Clone, PartialEq, Eq, Ord, PartialOrd)] +#[derive(Encode, Decode, CompactAs, Default, Copy, Clone, PartialEq, Eq, Ord, PartialOrd)] pub struct Perbill(u32); impl Perbill { @@ -375,23 +359,6 @@ impl From<f32> for Perbill { } } -impl codec::CompactAs for Perbill { - type As = u32; - fn encode_as(&self) -> &u32 { - &self.0 - } - fn decode_from(x: u32) -> Perbill { - Perbill(x) - } -} - -impl From<codec::Compact<Perbill>> for Perbill { - fn from(x: codec::Compact<Perbill>) -> Perbill { - x.0 - } -} - - /// A fixed point number by the scale of 1 billion. /// /// cannot hold a value larger than +-`9223372036854775807 / 1_000_000_000` (~9 billion). @@ -516,7 +483,7 @@ impl CheckedAdd for Fixed64 { /// PerU128 is parts-per-u128-max-value. It stores a value between 0 and 1 in fixed point. #[cfg_attr(feature = "std", derive(Serialize, Deserialize, Debug))] -#[derive(Encode, Decode, Default, Copy, Clone, PartialEq, Eq)] +#[derive(Encode, Decode, CompactAs, Default, Copy, Clone, PartialEq, Eq)] pub struct PerU128(u128); const U128: u128 = u128::max_value(); @@ -546,22 +513,6 @@ impl ::rstd::ops::Deref for PerU128 { } } -impl codec::CompactAs for PerU128 { - type As = u128; - fn encode_as(&self) -> &u128 { - &self.0 - } - fn decode_from(x: u128) -> PerU128 { - Self(x) - } -} - -impl From<codec::Compact<PerU128>> for PerU128 { - fn from(x: codec::Compact<PerU128>) -> PerU128 { - x.0 - } -} - /// Signature verify that can work with any known signature types.. #[derive(Eq, PartialEq, Clone, Encode, Decode)] #[cfg_attr(feature = "std", derive(Debug))] diff --git a/substrate/node/runtime/src/lib.rs b/substrate/node/runtime/src/lib.rs index 0ecbec76018a684afd2f34496fc1868fcdac6593..ce1aaa6b7350b3c1163062a044aefa73a0f227ac 100644 --- a/substrate/node/runtime/src/lib.rs +++ b/substrate/node/runtime/src/lib.rs @@ -81,7 +81,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { // implementation changes and behavior does not, then leave spec_version as // is and increment impl_version. spec_version: 131, - impl_version: 131, + impl_version: 132, apis: RUNTIME_API_VERSIONS, };