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