Use ‘#[module]’ and implement session for Kusama

This commit is contained in:
Demi M. Obenour
2020-05-17 15:34:50 -04:00
parent 122260ff59
commit ffbffd44eb
3 changed files with 20 additions and 7 deletions
+9 -6
View File
@@ -16,7 +16,10 @@
// Copyright 2019-2020 Parity Technologies (UK) Ltd.
//! Session support
use crate::frame::system::System;
use crate::frame::system::{
System,
SystemEventsDecoder as _,
};
use codec::Encode;
use frame_support::Parameter;
use std::{
@@ -26,14 +29,14 @@ use std::{
use substrate_subxt_proc_macro::Store;
/// The trait needed for this module.
#[module]
pub trait Session: System {
/// The validator account identifier type for the runtime.
type ValidatorId: Parameter + Debug + Ord + Default;
/// The validator account identifier type for the runtime.
type SessionIndex: Parameter + Debug + Ord + Default;
}
type ValidatorId: Parameter + Debug + Ord + Default + Send + Sync + 'static;
const MODULE: &str = "Session";
/// The validator account identifier type for the runtime.
type SessionIndex: Parameter + Debug + Ord + Default + Send + Sync + 'static;
}
/// The current set of validators.
#[derive(Encode, Store)]
+5 -1
View File
@@ -16,7 +16,10 @@
//! Implements support for the frame_staking module.
use super::system::{System, SystemEventsDecoder as _};
use super::system::{
System,
SystemEventsDecoder as _,
};
use codec::{
Decode,
Encode,
@@ -111,6 +114,7 @@ impl Default for ValidatorPrefs {
/// The subset of the `frame::Trait` that a client must implement.
#[module]
pub trait Staking: System {}
impl<T: System> Staking for T {}
/// Just a Balance/BlockNumber tuple to encode when a chunk of funds will be unlocked.
#[derive(PartialEq, Eq, Clone, Encode, Decode)]
+6
View File
@@ -31,6 +31,7 @@ use crate::frame::{
Balances,
},
contracts::Contracts,
session::Session,
system::System,
};
@@ -82,6 +83,11 @@ impl System for KusamaRuntime {
type AccountData = AccountData<<Self as Balances>::Balance>;
}
impl Session for KusamaRuntime {
type SessionIndex = u32;
type ValidatorId = <Self as System>::AccountId;
}
impl Balances for KusamaRuntime {
type Balance = u128;
}