moonbase_runtime/governance/
councils.rs1use super::moonbase_weights;
20use super::*;
21use crate::governance::referenda::FastGeneralAdminOrRoot;
22
23pub type TreasuryCouncilInstance = pallet_collective::Instance3;
24pub type OpenTechCommitteeInstance = pallet_collective::Instance4;
25
26parameter_types! {
27 pub MaxProposalWeight: Weight = Perbill::from_percent(50) * BlockWeights::get().max_block;
29}
30
31impl pallet_collective::Config<TreasuryCouncilInstance> for Runtime {
32 type RuntimeOrigin = RuntimeOrigin;
33 type RuntimeEvent = RuntimeEvent;
34 type Proposal = RuntimeCall;
35 type MotionDuration = ConstU32<{ 3 * DAYS }>;
38 type MaxProposals = ConstU32<20>;
40 type MaxMembers = ConstU32<9>;
42 type DefaultVote = pallet_collective::MoreThanMajorityThenPrimeDefaultVote;
43 type WeightInfo =
44 moonbase_weights::pallet_collective_treasury_council_collective::WeightInfo<Runtime>;
45 type SetMembersOrigin = referenda::GeneralAdminOrRoot;
46 type MaxProposalWeight = MaxProposalWeight;
47 type DisapproveOrigin = FastGeneralAdminOrRoot;
48 type KillOrigin = FastGeneralAdminOrRoot;
49 type Consideration = ();
50}
51
52impl pallet_collective::Config<OpenTechCommitteeInstance> for Runtime {
53 type RuntimeOrigin = RuntimeOrigin;
54 type RuntimeEvent = RuntimeEvent;
55 type Proposal = RuntimeCall;
56 type MotionDuration = ConstU32<{ 14 * DAYS }>;
59 type MaxProposals = ConstU32<100>;
61 type MaxMembers = ConstU32<100>;
63 type DefaultVote = pallet_collective::MoreThanMajorityThenPrimeDefaultVote;
64 type WeightInfo =
65 moonbase_weights::pallet_collective_open_tech_committee_collective::WeightInfo<Runtime>;
66 type SetMembersOrigin = referenda::GeneralAdminOrRoot;
67 type MaxProposalWeight = MaxProposalWeight;
68 type DisapproveOrigin = FastGeneralAdminOrRoot;
69 type KillOrigin = FastGeneralAdminOrRoot;
70 type Consideration = ();
71}