diff --git a/substrate/bin/node/runtime/src/lib.rs b/substrate/bin/node/runtime/src/lib.rs index 0844b32f7c319029790a1143c3d9eb35bdcfd649..1cc0a2b72518ac07afa0c929f962a9a8e3129c0d 100644 --- a/substrate/bin/node/runtime/src/lib.rs +++ b/substrate/bin/node/runtime/src/lib.rs @@ -82,7 +82,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { // and set impl_version to 0. If only runtime // implementation changes and behavior does not, then leave spec_version as // is and increment impl_version. - spec_version: 229, + spec_version: 230, impl_version: 0, apis: RUNTIME_API_VERSIONS, }; diff --git a/substrate/frame/session/src/historical.rs b/substrate/frame/session/src/historical.rs index 5b492d8d21df3f0cc50afca44a5cd32cd8225734..91719c27f27ccc59ab7ad1956a0ae1afcb7714c8 100644 --- a/substrate/frame/session/src/historical.rs +++ b/substrate/frame/session/src/historical.rs @@ -27,7 +27,7 @@ use sp_std::prelude::*; use codec::{Encode, Decode}; -use sp_runtime::KeyTypeId; +use sp_runtime::{KeyTypeId, RuntimeDebug}; use sp_runtime::traits::{Convert, OpaqueKeys}; use frame_support::{decl_module, decl_storage}; use frame_support::{Parameter, print}; @@ -258,12 +258,19 @@ impl<T: Trait> ProvingTrie<T> { } /// Proof of ownership of a specific key. -#[derive(Encode, Decode, Clone)] +#[derive(Encode, Decode, Clone, Eq, PartialEq, RuntimeDebug)] pub struct Proof { session: SessionIndex, trie_nodes: Vec<Vec<u8>>, } +impl Proof { + /// Returns a session this proof was generated for. + pub fn session(&self) -> SessionIndex { + self.session + } +} + impl<T: Trait, D: AsRef<[u8]>> frame_support::traits::KeyOwnerProofSystem<(KeyTypeId, D)> for Module<T> {