mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 14:37:57 +00:00
Introduce cancel_proposal to rid us of those pesky proposals (#7111)
* Introduce `cancel_proposal` Also fix proposal weight. * Support proposal cancellation from runtime. * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fix benchmarks * fix benchmark * whitelisted caller weights * fix build * Fixes * Fixes * Fixes * Fixes * Update frame/democracy/src/lib.rs Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com> * Fixes * Fixes * Fixes * Fixes * Fixes * doc updates * new weights Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
This commit is contained in:
@@ -483,6 +483,7 @@ parameter_types! {
|
||||
// One cent: $10,000 / MB
|
||||
pub const PreimageByteDeposit: Balance = 1 * CENTS;
|
||||
pub const MaxVotes: u32 = 100;
|
||||
pub const MaxProposals: u32 = 100;
|
||||
}
|
||||
|
||||
impl pallet_democracy::Trait for Runtime {
|
||||
@@ -508,6 +509,14 @@ impl pallet_democracy::Trait for Runtime {
|
||||
type FastTrackVotingPeriod = FastTrackVotingPeriod;
|
||||
// To cancel a proposal which has been passed, 2/3 of the council must agree to it.
|
||||
type CancellationOrigin = pallet_collective::EnsureProportionAtLeast<_2, _3, AccountId, CouncilCollective>;
|
||||
// To cancel a proposal before it has been passed, the technical committee must be unanimous or
|
||||
// Root must agree.
|
||||
type CancelProposalOrigin = EnsureOneOf<
|
||||
AccountId,
|
||||
EnsureRoot<AccountId>,
|
||||
pallet_collective::EnsureProportionAtLeast<_1, _1, AccountId, TechnicalCollective>,
|
||||
>;
|
||||
type BlacklistOrigin = EnsureRoot<AccountId>;
|
||||
// Any single technical committee member may veto a coming council proposal, however they can
|
||||
// only do it once and it lasts only for the cooloff period.
|
||||
type VetoOrigin = pallet_collective::EnsureMember<AccountId, TechnicalCollective>;
|
||||
@@ -519,6 +528,7 @@ impl pallet_democracy::Trait for Runtime {
|
||||
type PalletsOrigin = OriginCaller;
|
||||
type MaxVotes = MaxVotes;
|
||||
type WeightInfo = weights::pallet_democracy::WeightInfo<Runtime>;
|
||||
type MaxProposals = MaxProposals;
|
||||
}
|
||||
|
||||
parameter_types! {
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// This file is part of Substrate.
|
||||
|
||||
// Copyright (C) 2020 Parity Technologies (UK) Ltd.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
@@ -13,8 +15,12 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
//! Weights for the Democracy Pallet
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 2.0.0-rc5
|
||||
//! Weights for pallet_democracy
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 2.0.0
|
||||
//! DATE: 2020-09-24, STEPS: [50], REPEAT: 20, LOW RANGE: [], HIGH RANGE: []
|
||||
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
|
||||
use frame_support::{traits::Get, weights::Weight};
|
||||
use sp_std::marker::PhantomData;
|
||||
@@ -22,134 +28,145 @@ use sp_std::marker::PhantomData;
|
||||
pub struct WeightInfo<T>(PhantomData<T>);
|
||||
impl<T: frame_system::Trait> pallet_democracy::WeightInfo for WeightInfo<T> {
|
||||
fn propose() -> Weight {
|
||||
(49113000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().reads(2 as Weight))
|
||||
(96_316_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().reads(3 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
fn second(s: u32, ) -> Weight {
|
||||
(42067000 as Weight)
|
||||
.saturating_add((220000 as Weight).saturating_mul(s as Weight))
|
||||
(58_386_000 as Weight)
|
||||
.saturating_add((259_000 as Weight).saturating_mul(s as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(1 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
fn vote_new(r: u32, ) -> Weight {
|
||||
(54159000 as Weight)
|
||||
.saturating_add((252000 as Weight).saturating_mul(r as Weight))
|
||||
(70_374_000 as Weight)
|
||||
.saturating_add((291_000 as Weight).saturating_mul(r as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(3 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
fn vote_existing(r: u32, ) -> Weight {
|
||||
(54145000 as Weight)
|
||||
.saturating_add((262000 as Weight).saturating_mul(r as Weight))
|
||||
(70_097_000 as Weight)
|
||||
.saturating_add((296_000 as Weight).saturating_mul(r as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(3 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
fn emergency_cancel() -> Weight {
|
||||
(31071000 as Weight)
|
||||
(41_731_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().reads(2 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
fn blacklist(p: u32, ) -> Weight {
|
||||
(117_847_000 as Weight)
|
||||
.saturating_add((871_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(6 as Weight))
|
||||
}
|
||||
fn external_propose(v: u32, ) -> Weight {
|
||||
(14282000 as Weight)
|
||||
.saturating_add((109000 as Weight).saturating_mul(v as Weight))
|
||||
(20_972_000 as Weight)
|
||||
.saturating_add((114_000 as Weight).saturating_mul(v as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(2 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
fn external_propose_majority() -> Weight {
|
||||
(3478000 as Weight)
|
||||
(5_030_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
fn external_propose_default() -> Weight {
|
||||
(3442000 as Weight)
|
||||
(4_981_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
fn fast_track() -> Weight {
|
||||
(30820000 as Weight)
|
||||
(42_801_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().reads(2 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
fn veto_external(v: u32, ) -> Weight {
|
||||
(30971000 as Weight)
|
||||
.saturating_add((184000 as Weight).saturating_mul(v as Weight))
|
||||
(44_115_000 as Weight)
|
||||
.saturating_add((194_000 as Weight).saturating_mul(v as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(2 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
fn cancel_proposal(p: u32, ) -> Weight {
|
||||
(73_937_000 as Weight)
|
||||
.saturating_add((962_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(3 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
fn cancel_referendum() -> Weight {
|
||||
(20431000 as Weight)
|
||||
(25_233_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
fn cancel_queued(r: u32, ) -> Weight {
|
||||
(42438000 as Weight)
|
||||
.saturating_add((3284000 as Weight).saturating_mul(r as Weight))
|
||||
(48_251_000 as Weight)
|
||||
.saturating_add((3_590_000 as Weight).saturating_mul(r as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(2 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
fn on_initialize_base(r: u32, ) -> Weight {
|
||||
(70826000 as Weight)
|
||||
.saturating_add((10716000 as Weight).saturating_mul(r as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(6 as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads((2 as Weight).saturating_mul(r as Weight)))
|
||||
.saturating_add(T::DbWeight::get().writes(5 as Weight))
|
||||
(17_597_000 as Weight)
|
||||
.saturating_add((7_248_000 as Weight).saturating_mul(r as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(r as Weight)))
|
||||
}
|
||||
fn delegate(r: u32, ) -> Weight {
|
||||
(72046000 as Weight)
|
||||
.saturating_add((7837000 as Weight).saturating_mul(r as Weight))
|
||||
(93_916_000 as Weight)
|
||||
.saturating_add((10_794_000 as Weight).saturating_mul(r as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(4 as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(r as Weight)))
|
||||
.saturating_add(T::DbWeight::get().writes(4 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(r as Weight)))
|
||||
}
|
||||
fn undelegate(r: u32, ) -> Weight {
|
||||
(41028000 as Weight)
|
||||
.saturating_add((7810000 as Weight).saturating_mul(r as Weight))
|
||||
(47_855_000 as Weight)
|
||||
.saturating_add((10_805_000 as Weight).saturating_mul(r as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(2 as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(r as Weight)))
|
||||
.saturating_add(T::DbWeight::get().writes(2 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(r as Weight)))
|
||||
}
|
||||
fn clear_public_proposals() -> Weight {
|
||||
(3643000 as Weight)
|
||||
(4_864_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
fn note_preimage(b: u32, ) -> Weight {
|
||||
(46629000 as Weight)
|
||||
.saturating_add((4000 as Weight).saturating_mul(b as Weight))
|
||||
(66_754_000 as Weight)
|
||||
.saturating_add((4_000 as Weight).saturating_mul(b as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(1 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
fn note_imminent_preimage(b: u32, ) -> Weight {
|
||||
(31147000 as Weight)
|
||||
.saturating_add((3000 as Weight).saturating_mul(b as Weight))
|
||||
(44_664_000 as Weight)
|
||||
.saturating_add((3_000 as Weight).saturating_mul(b as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(1 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
fn reap_preimage(b: u32, ) -> Weight {
|
||||
(42848000 as Weight)
|
||||
.saturating_add((3000 as Weight).saturating_mul(b as Weight))
|
||||
(59_968_000 as Weight)
|
||||
.saturating_add((3_000 as Weight).saturating_mul(b as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(2 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
fn unlock_remove(r: u32, ) -> Weight {
|
||||
(45333000 as Weight)
|
||||
.saturating_add((171000 as Weight).saturating_mul(r as Weight))
|
||||
(58_573_000 as Weight)
|
||||
.saturating_add((131_000 as Weight).saturating_mul(r as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(3 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
fn unlock_set(r: u32, ) -> Weight {
|
||||
(44424000 as Weight)
|
||||
.saturating_add((291000 as Weight).saturating_mul(r as Weight))
|
||||
(53_831_000 as Weight)
|
||||
.saturating_add((324_000 as Weight).saturating_mul(r as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(3 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
fn remove_vote(r: u32, ) -> Weight {
|
||||
(28250000 as Weight)
|
||||
.saturating_add((283000 as Weight).saturating_mul(r as Weight))
|
||||
(31_846_000 as Weight)
|
||||
.saturating_add((327_000 as Weight).saturating_mul(r as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(2 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
fn remove_other_vote(r: u32, ) -> Weight {
|
||||
(28250000 as Weight)
|
||||
.saturating_add((283000 as Weight).saturating_mul(r as Weight))
|
||||
(31_880_000 as Weight)
|
||||
.saturating_add((222_000 as Weight).saturating_mul(r as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(2 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user