|
@@ -13,8 +13,10 @@ use working_group::{OpeningPolicyCommitment, RewardPolicy};
|
|
|
use crate::{
|
|
|
Balance, BlockNumber, ContentWorkingGroup, ContentWorkingGroupInstance,
|
|
|
DistributionWorkingGroup, DistributionWorkingGroupInstance, GatewayWorkingGroup,
|
|
|
- GatewayWorkingGroupInstance, OperationsWorkingGroup, OperationsWorkingGroupInstance,
|
|
|
- StorageWorkingGroup, StorageWorkingGroupInstance,
|
|
|
+ GatewayWorkingGroupInstance, OperationsWorkingGroupAlpha, OperationsWorkingGroupBeta,
|
|
|
+ OperationsWorkingGroupGamma, OperationsWorkingGroupInstanceAlpha,
|
|
|
+ OperationsWorkingGroupInstanceBeta, OperationsWorkingGroupInstanceGamma, StorageWorkingGroup,
|
|
|
+ StorageWorkingGroupInstance,
|
|
|
};
|
|
|
use sp_std::collections::btree_set::BTreeSet;
|
|
|
|
|
@@ -62,11 +64,27 @@ fn add_opening(
|
|
|
>>::contains_key(opening_id));
|
|
|
opening_id
|
|
|
}
|
|
|
- WorkingGroup::Operations => {
|
|
|
- let opening_id = OperationsWorkingGroup::next_opening_id();
|
|
|
+ WorkingGroup::OperationsAlpha => {
|
|
|
+ let opening_id = OperationsWorkingGroupAlpha::next_opening_id();
|
|
|
assert!(!<working_group::OpeningById<
|
|
|
Runtime,
|
|
|
- OperationsWorkingGroupInstance,
|
|
|
+ OperationsWorkingGroupInstanceAlpha,
|
|
|
+ >>::contains_key(opening_id));
|
|
|
+ opening_id
|
|
|
+ }
|
|
|
+ WorkingGroup::OperationsBeta => {
|
|
|
+ let opening_id = OperationsWorkingGroupBeta::next_opening_id();
|
|
|
+ assert!(!<working_group::OpeningById<
|
|
|
+ Runtime,
|
|
|
+ OperationsWorkingGroupInstanceBeta,
|
|
|
+ >>::contains_key(opening_id));
|
|
|
+ opening_id
|
|
|
+ }
|
|
|
+ WorkingGroup::OperationsGamma => {
|
|
|
+ let opening_id = OperationsWorkingGroupGamma::next_opening_id();
|
|
|
+ assert!(!<working_group::OpeningById<
|
|
|
+ Runtime,
|
|
|
+ OperationsWorkingGroupInstanceGamma,
|
|
|
>>::contains_key(opening_id));
|
|
|
opening_id
|
|
|
}
|
|
@@ -362,10 +380,22 @@ fn create_add_working_group_leader_opening_proposal_execution_succeeds() {
|
|
|
DistributionWorkingGroupInstance,
|
|
|
>(group);
|
|
|
}
|
|
|
- WorkingGroup::Operations => {
|
|
|
+ WorkingGroup::OperationsAlpha => {
|
|
|
run_create_add_working_group_leader_opening_proposal_execution_succeeds::<
|
|
|
Runtime,
|
|
|
- OperationsWorkingGroupInstance,
|
|
|
+ OperationsWorkingGroupInstanceAlpha,
|
|
|
+ >(group);
|
|
|
+ }
|
|
|
+ WorkingGroup::OperationsBeta => {
|
|
|
+ run_create_add_working_group_leader_opening_proposal_execution_succeeds::<
|
|
|
+ Runtime,
|
|
|
+ OperationsWorkingGroupInstanceBeta,
|
|
|
+ >(group);
|
|
|
+ }
|
|
|
+ WorkingGroup::OperationsGamma => {
|
|
|
+ run_create_add_working_group_leader_opening_proposal_execution_succeeds::<
|
|
|
+ Runtime,
|
|
|
+ OperationsWorkingGroupInstanceGamma,
|
|
|
>(group);
|
|
|
}
|
|
|
WorkingGroup::Gateway => {
|
|
@@ -384,7 +414,7 @@ fn run_create_add_working_group_leader_opening_proposal_execution_succeeds<
|
|
|
>(
|
|
|
working_group: WorkingGroup,
|
|
|
) where
|
|
|
- <T as membership::Trait>::MemberId: From<u64>,
|
|
|
+ <T as common::MembershipTypes>::MemberId: From<u64>,
|
|
|
<T as hiring::Trait>::OpeningId: From<u64>,
|
|
|
{
|
|
|
initial_test_ext().execute_with(|| {
|
|
@@ -434,16 +464,29 @@ fn create_begin_review_working_group_leader_applications_proposal_execution_succ
|
|
|
}
|
|
|
WorkingGroup::Distribution => {
|
|
|
run_create_begin_review_working_group_leader_applications_proposal_execution_succeeds::<
|
|
|
- Runtime,
|
|
|
+ Runtime,
|
|
|
DistributionWorkingGroupInstance,
|
|
|
+ >(group);
|
|
|
+ }
|
|
|
+ WorkingGroup::OperationsAlpha => {
|
|
|
+ run_create_begin_review_working_group_leader_applications_proposal_execution_succeeds::<
|
|
|
+ Runtime,
|
|
|
+ OperationsWorkingGroupInstanceAlpha,
|
|
|
+ >(group);
|
|
|
+ }
|
|
|
+ WorkingGroup::OperationsBeta => {
|
|
|
+ run_create_begin_review_working_group_leader_applications_proposal_execution_succeeds::<
|
|
|
+ Runtime,
|
|
|
+ OperationsWorkingGroupInstanceBeta,
|
|
|
>(group);
|
|
|
}
|
|
|
- WorkingGroup::Operations => {
|
|
|
+ WorkingGroup::OperationsGamma => {
|
|
|
run_create_begin_review_working_group_leader_applications_proposal_execution_succeeds::<
|
|
|
Runtime,
|
|
|
- OperationsWorkingGroupInstance,
|
|
|
+ OperationsWorkingGroupInstanceGamma,
|
|
|
>(group);
|
|
|
}
|
|
|
+
|
|
|
WorkingGroup::Gateway => {
|
|
|
run_create_begin_review_working_group_leader_applications_proposal_execution_succeeds::<
|
|
|
Runtime,
|
|
@@ -536,12 +579,25 @@ fn create_fill_working_group_leader_opening_proposal_execution_succeeds() {
|
|
|
DistributionWorkingGroupInstance,
|
|
|
>(group);
|
|
|
}
|
|
|
- WorkingGroup::Operations => {
|
|
|
+ WorkingGroup::OperationsAlpha => {
|
|
|
+ run_create_fill_working_group_leader_opening_proposal_execution_succeeds::<
|
|
|
+ Runtime,
|
|
|
+ OperationsWorkingGroupInstanceAlpha,
|
|
|
+ >(group);
|
|
|
+ }
|
|
|
+ WorkingGroup::OperationsBeta => {
|
|
|
+ run_create_fill_working_group_leader_opening_proposal_execution_succeeds::<
|
|
|
+ Runtime,
|
|
|
+ OperationsWorkingGroupInstanceBeta,
|
|
|
+ >(group);
|
|
|
+ }
|
|
|
+ WorkingGroup::OperationsGamma => {
|
|
|
run_create_fill_working_group_leader_opening_proposal_execution_succeeds::<
|
|
|
Runtime,
|
|
|
- OperationsWorkingGroupInstance,
|
|
|
+ OperationsWorkingGroupInstanceGamma,
|
|
|
>(group);
|
|
|
}
|
|
|
+
|
|
|
WorkingGroup::Gateway => {
|
|
|
run_create_fill_working_group_leader_opening_proposal_execution_succeeds::<
|
|
|
Runtime,
|
|
@@ -558,7 +614,7 @@ fn create_fill_working_group_leader_opening_proposal_execution_succeeds() {
|
|
|
working_group: WorkingGroup,
|
|
|
) where
|
|
|
<T as frame_system::Trait>::AccountId: From<[u8; 32]>,
|
|
|
- <T as membership::Trait>::MemberId: From<u64>,
|
|
|
+ <T as common::MembershipTypes>::MemberId: From<u64>,
|
|
|
<T as hiring::Trait>::OpeningId: From<u64>,
|
|
|
{
|
|
|
initial_test_ext().execute_with(|| {
|
|
@@ -631,12 +687,25 @@ fn create_fill_working_group_leader_opening_proposal_execution_succeeds() {
|
|
|
DistributionWorkingGroupInstance,
|
|
|
>(group);
|
|
|
}
|
|
|
- WorkingGroup::Operations => {
|
|
|
+ WorkingGroup::OperationsAlpha => {
|
|
|
+ run_create_decrease_group_leader_stake_proposal_execution_succeeds::<
|
|
|
+ Runtime,
|
|
|
+ OperationsWorkingGroupInstanceAlpha,
|
|
|
+ >(group);
|
|
|
+ }
|
|
|
+ WorkingGroup::OperationsBeta => {
|
|
|
+ run_create_decrease_group_leader_stake_proposal_execution_succeeds::<
|
|
|
+ Runtime,
|
|
|
+ OperationsWorkingGroupInstanceBeta,
|
|
|
+ >(group);
|
|
|
+ }
|
|
|
+ WorkingGroup::OperationsGamma => {
|
|
|
run_create_decrease_group_leader_stake_proposal_execution_succeeds::<
|
|
|
Runtime,
|
|
|
- OperationsWorkingGroupInstance,
|
|
|
+ OperationsWorkingGroupInstanceGamma,
|
|
|
>(group);
|
|
|
}
|
|
|
+
|
|
|
WorkingGroup::Gateway => {
|
|
|
run_create_decrease_group_leader_stake_proposal_execution_succeeds::<
|
|
|
Runtime,
|
|
@@ -655,8 +724,8 @@ fn create_fill_working_group_leader_opening_proposal_execution_succeeds() {
|
|
|
) where
|
|
|
<T as frame_system::Trait>::AccountId: From<[u8; 32]>,
|
|
|
<T as hiring::Trait>::OpeningId: From<u64>,
|
|
|
- <T as membership::Trait>::MemberId: From<u64>,
|
|
|
- <T as membership::Trait>::ActorId: Into<u64>,
|
|
|
+ <T as common::MembershipTypes>::MemberId: From<u64>,
|
|
|
+ <T as common::MembershipTypes>::ActorId: Into<u64>,
|
|
|
<<T as stake::Trait>::Currency as traits::Currency<
|
|
|
<T as frame_system::Trait>::AccountId,
|
|
|
>>::Balance: From<u128>,
|
|
@@ -766,10 +835,22 @@ fn create_fill_working_group_leader_opening_proposal_execution_succeeds() {
|
|
|
DistributionWorkingGroupInstance,
|
|
|
>(group)
|
|
|
}
|
|
|
- WorkingGroup::Operations => {
|
|
|
+ WorkingGroup::OperationsAlpha => {
|
|
|
+ run_create_slash_group_leader_stake_proposal_execution_succeeds::<
|
|
|
+ Runtime,
|
|
|
+ OperationsWorkingGroupInstanceAlpha,
|
|
|
+ >(group)
|
|
|
+ }
|
|
|
+ WorkingGroup::OperationsBeta => {
|
|
|
+ run_create_slash_group_leader_stake_proposal_execution_succeeds::<
|
|
|
+ Runtime,
|
|
|
+ OperationsWorkingGroupInstanceBeta,
|
|
|
+ >(group)
|
|
|
+ }
|
|
|
+ WorkingGroup::OperationsGamma => {
|
|
|
run_create_slash_group_leader_stake_proposal_execution_succeeds::<
|
|
|
Runtime,
|
|
|
- OperationsWorkingGroupInstance,
|
|
|
+ OperationsWorkingGroupInstanceGamma,
|
|
|
>(group)
|
|
|
}
|
|
|
WorkingGroup::Gateway => {
|
|
@@ -790,8 +871,8 @@ fn create_fill_working_group_leader_opening_proposal_execution_succeeds() {
|
|
|
) where
|
|
|
<T as frame_system::Trait>::AccountId: From<[u8; 32]>,
|
|
|
<T as hiring::Trait>::OpeningId: From<u64>,
|
|
|
- <T as membership::Trait>::MemberId: From<u64>,
|
|
|
- <T as membership::Trait>::ActorId: Into<u64>,
|
|
|
+ <T as common::MembershipTypes>::MemberId: From<u64>,
|
|
|
+ <T as common::MembershipTypes>::ActorId: Into<u64>,
|
|
|
<<T as stake::Trait>::Currency as traits::Currency<
|
|
|
<T as frame_system::Trait>::AccountId,
|
|
|
>>::Balance: From<u128>,
|
|
@@ -902,11 +983,23 @@ fn create_fill_working_group_leader_opening_proposal_execution_succeeds() {
|
|
|
DistributionWorkingGroupInstance,
|
|
|
>(group);
|
|
|
}
|
|
|
- WorkingGroup::Operations => {
|
|
|
+ WorkingGroup::OperationsAlpha => {
|
|
|
run_create_set_working_group_mint_capacity_proposal_execution_succeeds::<
|
|
|
Runtime,
|
|
|
- OperationsWorkingGroupInstance,
|
|
|
- >(group);
|
|
|
+ OperationsWorkingGroupInstanceAlpha,
|
|
|
+ >(group)
|
|
|
+ }
|
|
|
+ WorkingGroup::OperationsBeta => {
|
|
|
+ run_create_set_working_group_mint_capacity_proposal_execution_succeeds::<
|
|
|
+ Runtime,
|
|
|
+ OperationsWorkingGroupInstanceBeta,
|
|
|
+ >(group)
|
|
|
+ }
|
|
|
+ WorkingGroup::OperationsGamma => {
|
|
|
+ run_create_set_working_group_mint_capacity_proposal_execution_succeeds::<
|
|
|
+ Runtime,
|
|
|
+ OperationsWorkingGroupInstanceGamma,
|
|
|
+ >(group)
|
|
|
}
|
|
|
WorkingGroup::Gateway => {
|
|
|
run_create_set_working_group_mint_capacity_proposal_execution_succeeds::<
|
|
@@ -924,7 +1017,7 @@ fn create_fill_working_group_leader_opening_proposal_execution_succeeds() {
|
|
|
working_group: WorkingGroup,
|
|
|
) where
|
|
|
<T as frame_system::Trait>::AccountId: From<[u8; 32]>,
|
|
|
- <T as membership::Trait>::MemberId: From<u64>,
|
|
|
+ <T as common::MembershipTypes>::MemberId: From<u64>,
|
|
|
<T as minting::Trait>::MintId: From<u64>,
|
|
|
<<T as minting::Trait>::Currency as traits::Currency<
|
|
|
<T as frame_system::Trait>::AccountId,
|
|
@@ -959,31 +1052,43 @@ fn create_fill_working_group_leader_opening_proposal_execution_succeeds() {
|
|
|
for group in WorkingGroup::iter() {
|
|
|
match group {
|
|
|
WorkingGroup::Content => {
|
|
|
- run_create_set_working_group_mint_capacity_proposal_execution_succeeds::<
|
|
|
+ run_create_set_group_leader_reward_proposal_execution_succeeds::<
|
|
|
Runtime,
|
|
|
ContentWorkingGroupInstance,
|
|
|
>(group);
|
|
|
}
|
|
|
WorkingGroup::Storage => {
|
|
|
- run_create_set_working_group_mint_capacity_proposal_execution_succeeds::<
|
|
|
+ run_create_set_group_leader_reward_proposal_execution_succeeds::<
|
|
|
Runtime,
|
|
|
StorageWorkingGroupInstance,
|
|
|
>(group);
|
|
|
}
|
|
|
WorkingGroup::Distribution => {
|
|
|
- run_create_set_working_group_mint_capacity_proposal_execution_succeeds::<
|
|
|
+ run_create_set_group_leader_reward_proposal_execution_succeeds::<
|
|
|
Runtime,
|
|
|
DistributionWorkingGroupInstance,
|
|
|
>(group);
|
|
|
}
|
|
|
- WorkingGroup::Operations => {
|
|
|
- run_create_set_working_group_mint_capacity_proposal_execution_succeeds::<
|
|
|
+ WorkingGroup::OperationsAlpha => {
|
|
|
+ run_create_set_group_leader_reward_proposal_execution_succeeds::<
|
|
|
Runtime,
|
|
|
- OperationsWorkingGroupInstance,
|
|
|
- >(group);
|
|
|
+ OperationsWorkingGroupInstanceAlpha,
|
|
|
+ >(group)
|
|
|
+ }
|
|
|
+ WorkingGroup::OperationsBeta => {
|
|
|
+ run_create_set_group_leader_reward_proposal_execution_succeeds::<
|
|
|
+ Runtime,
|
|
|
+ OperationsWorkingGroupInstanceBeta,
|
|
|
+ >(group)
|
|
|
+ }
|
|
|
+ WorkingGroup::OperationsGamma => {
|
|
|
+ run_create_set_group_leader_reward_proposal_execution_succeeds::<
|
|
|
+ Runtime,
|
|
|
+ OperationsWorkingGroupInstanceGamma,
|
|
|
+ >(group)
|
|
|
}
|
|
|
WorkingGroup::Gateway => {
|
|
|
- run_create_set_working_group_mint_capacity_proposal_execution_succeeds::<
|
|
|
+ run_create_set_group_leader_reward_proposal_execution_succeeds::<
|
|
|
Runtime,
|
|
|
GatewayWorkingGroupInstance,
|
|
|
>(group);
|
|
@@ -999,8 +1104,8 @@ fn create_fill_working_group_leader_opening_proposal_execution_succeeds() {
|
|
|
working_group: WorkingGroup,
|
|
|
) where
|
|
|
<T as frame_system::Trait>::AccountId: From<[u8; 32]>,
|
|
|
- <T as membership::Trait>::MemberId: From<u64>,
|
|
|
- <T as membership::Trait>::ActorId: Into<u64>,
|
|
|
+ <T as common::MembershipTypes>::MemberId: From<u64>,
|
|
|
+ <T as common::MembershipTypes>::ActorId: Into<u64>,
|
|
|
<T as minting::Trait>::MintId: From<u64>,
|
|
|
<T as hiring::Trait>::OpeningId: From<u64>,
|
|
|
<<T as minting::Trait>::Currency as traits::Currency<
|
|
@@ -1117,12 +1222,25 @@ fn create_fill_working_group_leader_opening_proposal_execution_succeeds() {
|
|
|
DistributionWorkingGroupInstance,
|
|
|
>(group);
|
|
|
}
|
|
|
- WorkingGroup::Operations => {
|
|
|
+ WorkingGroup::OperationsAlpha => {
|
|
|
run_create_terminate_group_leader_role_proposal_execution_succeeds::<
|
|
|
Runtime,
|
|
|
- OperationsWorkingGroupInstance,
|
|
|
- >(group);
|
|
|
+ OperationsWorkingGroupInstanceAlpha,
|
|
|
+ >(group)
|
|
|
+ }
|
|
|
+ WorkingGroup::OperationsBeta => {
|
|
|
+ run_create_terminate_group_leader_role_proposal_execution_succeeds::<
|
|
|
+ Runtime,
|
|
|
+ OperationsWorkingGroupInstanceBeta,
|
|
|
+ >(group)
|
|
|
+ }
|
|
|
+ WorkingGroup::OperationsGamma => {
|
|
|
+ run_create_terminate_group_leader_role_proposal_execution_succeeds::<
|
|
|
+ Runtime,
|
|
|
+ OperationsWorkingGroupInstanceGamma,
|
|
|
+ >(group)
|
|
|
}
|
|
|
+
|
|
|
WorkingGroup::Gateway => {
|
|
|
run_create_terminate_group_leader_role_proposal_execution_succeeds::<
|
|
|
Runtime,
|
|
@@ -1140,8 +1258,8 @@ fn create_fill_working_group_leader_opening_proposal_execution_succeeds() {
|
|
|
working_group: WorkingGroup,
|
|
|
) where
|
|
|
<T as frame_system::Trait>::AccountId: From<[u8; 32]>,
|
|
|
- <T as membership::Trait>::MemberId: From<u64>,
|
|
|
- <T as membership::Trait>::ActorId: Into<u64>,
|
|
|
+ <T as common::MembershipTypes>::MemberId: From<u64>,
|
|
|
+ <T as common::MembershipTypes>::ActorId: Into<u64>,
|
|
|
<T as minting::Trait>::MintId: From<u64>,
|
|
|
<T as hiring::Trait>::OpeningId: From<u64>,
|
|
|
<<T as stake::Trait>::Currency as traits::Currency<
|
|
@@ -1251,8 +1369,14 @@ fn create_fill_working_group_leader_opening_proposal_execution_succeeds() {
|
|
|
WorkingGroup::Distribution => {
|
|
|
run_create_terminate_group_leader_role_proposal_with_slashing_execution_succeeds::<Runtime, DistributionWorkingGroupInstance>(group);
|
|
|
}
|
|
|
- WorkingGroup::Operations => {
|
|
|
- run_create_terminate_group_leader_role_proposal_with_slashing_execution_succeeds::<Runtime, OperationsWorkingGroupInstance>(group);
|
|
|
+ WorkingGroup::OperationsAlpha => {
|
|
|
+ run_create_terminate_group_leader_role_proposal_with_slashing_execution_succeeds::<Runtime, OperationsWorkingGroupInstanceAlpha>(group);
|
|
|
+ }
|
|
|
+ WorkingGroup::OperationsBeta => {
|
|
|
+ run_create_terminate_group_leader_role_proposal_with_slashing_execution_succeeds::<Runtime, OperationsWorkingGroupInstanceBeta>(group);
|
|
|
+ }
|
|
|
+ WorkingGroup::OperationsGamma => {
|
|
|
+ run_create_terminate_group_leader_role_proposal_with_slashing_execution_succeeds::<Runtime, OperationsWorkingGroupInstanceGamma>(group);
|
|
|
}
|
|
|
WorkingGroup::Gateway => {
|
|
|
run_create_terminate_group_leader_role_proposal_with_slashing_execution_succeeds::<Runtime, GatewayWorkingGroupInstance>(group);
|
|
@@ -1268,8 +1392,8 @@ fn create_fill_working_group_leader_opening_proposal_execution_succeeds() {
|
|
|
working_group: WorkingGroup,
|
|
|
) where
|
|
|
<T as frame_system::Trait>::AccountId: From<[u8; 32]>,
|
|
|
- <T as membership::Trait>::MemberId: From<u64>,
|
|
|
- <T as membership::Trait>::ActorId: Into<u64>,
|
|
|
+ <T as common::MembershipTypes>::MemberId: From<u64>,
|
|
|
+ <T as common::MembershipTypes>::ActorId: Into<u64>,
|
|
|
<T as minting::Trait>::MintId: From<u64>,
|
|
|
<T as hiring::Trait>::OpeningId: From<u64>,
|
|
|
<<T as stake::Trait>::Currency as traits::Currency<
|