mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 07:01:03 +00:00
prevent too many genesis council members (#7749)
* Prevent too many genesis members in elections-phragmen. * Fix test. * reformat.'
This commit is contained in:
@@ -213,6 +213,10 @@ decl_storage! {
|
|||||||
} add_extra_genesis {
|
} add_extra_genesis {
|
||||||
config(members): Vec<(T::AccountId, BalanceOf<T>)>;
|
config(members): Vec<(T::AccountId, BalanceOf<T>)>;
|
||||||
build(|config: &GenesisConfig<T>| {
|
build(|config: &GenesisConfig<T>| {
|
||||||
|
assert!(
|
||||||
|
config.members.len() as u32 <= T::DesiredMembers::get(),
|
||||||
|
"Cannot accept more than DesiredMembers genesis member",
|
||||||
|
);
|
||||||
let members = config.members.iter().map(|(ref member, ref stake)| {
|
let members = config.members.iter().map(|(ref member, ref stake)| {
|
||||||
// make sure they have enough stake
|
// make sure they have enough stake
|
||||||
assert!(
|
assert!(
|
||||||
@@ -1442,10 +1446,20 @@ mod tests {
|
|||||||
#[should_panic = "Duplicate member in elections phragmen genesis: 2"]
|
#[should_panic = "Duplicate member in elections phragmen genesis: 2"]
|
||||||
fn genesis_members_cannot_be_duplicate() {
|
fn genesis_members_cannot_be_duplicate() {
|
||||||
ExtBuilder::default()
|
ExtBuilder::default()
|
||||||
|
.desired_members(3)
|
||||||
.genesis_members(vec![(1, 10), (2, 10), (2, 10)])
|
.genesis_members(vec![(1, 10), (2, 10), (2, 10)])
|
||||||
.build_and_execute(|| {});
|
.build_and_execute(|| {});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
#[should_panic = "Cannot accept more than DesiredMembers genesis member"]
|
||||||
|
fn genesis_members_cannot_too_many() {
|
||||||
|
ExtBuilder::default()
|
||||||
|
.genesis_members(vec![(1, 10), (2, 10), (3, 30)])
|
||||||
|
.desired_members(2)
|
||||||
|
.build_and_execute(|| {});
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn term_duration_zero_is_passive() {
|
fn term_duration_zero_is_passive() {
|
||||||
ExtBuilder::default()
|
ExtBuilder::default()
|
||||||
|
|||||||
Reference in New Issue
Block a user