git.delta.rocks / unique-network / refs/commits / ff95602a85f2

difftreelog

source

runtime/common/config/governance/democracy.rs3.5 KiBsourcehistory
1use super::*;23parameter_types! {4	pub MinimumDeposit: Balance = 0;5	pub InstantAllowed: bool = false;6	pub MaxVotes: u32 = 100;7	pub MaxProposals: u32 = 100;8}910#[cfg(not(feature = "gov-test-timings"))]11use crate::governance_timings::democracy as democracy_timings;1213#[cfg(feature = "gov-test-timings")]14pub mod democracy_timings {15	use super::*;1617	parameter_types! {18		pub LaunchPeriod: BlockNumber = 35;19		pub VotingPeriod: BlockNumber = 35;20		pub FastTrackVotingPeriod: BlockNumber = 5;21		pub EnactmentPeriod: BlockNumber = 40;22		pub CooloffPeriod: BlockNumber = 35;23	}24}2526impl pallet_democracy::Config for Runtime {27	type RuntimeEvent = RuntimeEvent;28	type Currency = Balances;29	type Slash = Treasury;30	type Scheduler = Scheduler;31	type PalletsOrigin = OriginCaller;32	type Preimages = Preimage;33	type WeightInfo = pallet_democracy::weights::SubstrateWeight<Runtime>;3435	/// The period between a proposal being approved and enacted.36	type EnactmentPeriod = democracy_timings::EnactmentPeriod;3738	/// The minimum period of vote locking.39	type VoteLockingPeriod = democracy_timings::EnactmentPeriod;4041	/// How often new public referenda are launched.42	type LaunchPeriod = democracy_timings::LaunchPeriod;4344	/// How long the referendum will last.45	type VotingPeriod = democracy_timings::VotingPeriod;4647	/// The minimum amount to be used as a deposit for the Fellowship referendum proposal.48	type MinimumDeposit = MinimumDeposit;4950	type SubmitOrigin = EitherOf<51		MapSuccess<EnsureRoot<Self::AccountId>, Replace<fellowship::FellowshipAccountId>>,52		EnsureFellowshipProposition,53	>;5455	type ExternalOrigin = EnsureNever<Self::AccountId>;56	type ExternalMajorityOrigin = EnsureNever<Self::AccountId>;5758	/// Root (for the initial referendums)59	/// or >50% of council can have the next scheduled referendum be a straight default-carries60	/// (NTB) vote (SuperMajorityAgainst).61	type ExternalDefaultOrigin = RootOrMoreThanHalfCouncil;6263	/// A unanimous technical committee can have an ExternalMajority/ExternalDefault vote64	/// be tabled immediately and with a shorter voting/enactment period.65	type FastTrackOrigin = RootOrAllTechnicalCommittee;6667	/// Origin from which the next referendum may be tabled to vote immediately and asynchronously.68	/// Can set a faster voting period.69	type InstantOrigin = EnsureNever<Self::AccountId>;70	type InstantAllowed = InstantAllowed;7172	/// Minimum voting period allowed for a fast-track referendum.73	type FastTrackVotingPeriod = democracy_timings::FastTrackVotingPeriod;7475	/// To cancel a proposal which has been passed, the technical committee must be unanimous or76	/// Root must agree.77	type CancellationOrigin = RootOrAllTechnicalCommittee;7879	/// To cancel a proposal before it has been passed, the technical committee must be unanimous or80	/// Root must agree.81	type CancelProposalOrigin = RootOrAllTechnicalCommittee;8283	/// A unanimous council or Root can blacklist a proposal permanently.84	type BlacklistOrigin = RootOrAllCouncil;8586	// Any single technical committee member may veto a coming council proposal, however they can87	// only do it once and it lasts only for the cooloff period.88	type VetoOrigin = TechnicalCommitteeMember;89	type CooloffPeriod = democracy_timings::CooloffPeriod;9091	/// The maximum number of votes for an account92	type MaxVotes = MaxVotes;9394	/// The maximum number of public proposals that can exist at any time.95	type MaxProposals = MaxProposals;9697	/// The maximum number of deposits a public proposal may have at any time.98	type MaxDeposits = ConstU32<100>;99100	/// The maximum number of items that can be blacklisted.101	type MaxBlacklisted = ConstU32<100>;102}