Unverified Commit 8387af2b authored by Kian Paimani's avatar Kian Paimani Committed by GitHub
Browse files

Companion for sub/7040 (#1719)

* Companion for sub/7040

* Fix duplicate type.

* Fix syntax

* Sync with latest changes.

* Add weight info.

* Fix build

* Fix some tests

* Fix build again.

* fix migration amounts.

* new migration

* Builds fine with dummy weights.

* fix build

* Add correct weight files.

* Fix to latest version

* remove unneeded upgrade.

* Update to latest again.

* "Update Substrate"

Co-authored-by: parity-processbot <>
parent a14608ae
Pipeline #121184 passed with stages
in 26 minutes and 20 seconds
This diff is collapsed.
...@@ -474,13 +474,17 @@ impl pallet_collective::Config<CouncilCollective> for Runtime { ...@@ -474,13 +474,17 @@ impl pallet_collective::Config<CouncilCollective> for Runtime {
parameter_types! { parameter_types! {
pub const CandidacyBond: Balance = 1 * DOLLARS; pub const CandidacyBond: Balance = 1 * DOLLARS;
pub const VotingBond: Balance = 5 * CENTS; // 1 storage item created, key size is 32 bytes, value size is 16+16.
/// Daily council elections. pub const VotingBondBase: Balance = deposit(1, 64);
// additional data per vote is 32 bytes (account id).
pub const VotingBondFactor: Balance = deposit(0, 32);
/// Daily council elections
pub const TermDuration: BlockNumber = 24 * HOURS; pub const TermDuration: BlockNumber = 24 * HOURS;
pub const DesiredMembers: u32 = 19; pub const DesiredMembers: u32 = 19;
pub const DesiredRunnersUp: u32 = 19; pub const DesiredRunnersUp: u32 = 19;
pub const ElectionsPhragmenModuleId: LockIdentifier = *b"phrelect"; pub const ElectionsPhragmenModuleId: LockIdentifier = *b"phrelect";
} }
// Make sure that there are no more than MaxMembers members elected via phragmen. // Make sure that there are no more than MaxMembers members elected via phragmen.
const_assert!(DesiredMembers::get() <= CouncilMaxMembers::get()); const_assert!(DesiredMembers::get() <= CouncilMaxMembers::get());
...@@ -491,9 +495,9 @@ impl pallet_elections_phragmen::Config for Runtime { ...@@ -491,9 +495,9 @@ impl pallet_elections_phragmen::Config for Runtime {
type InitializeMembers = Council; type InitializeMembers = Council;
type CurrencyToVote = frame_support::traits::U128CurrencyToVote; type CurrencyToVote = frame_support::traits::U128CurrencyToVote;
type CandidacyBond = CandidacyBond; type CandidacyBond = CandidacyBond;
type VotingBond = VotingBond; type VotingBondBase = VotingBondBase;
type VotingBondFactor = VotingBondFactor;
type LoserCandidate = Treasury; type LoserCandidate = Treasury;
type BadReport = Treasury;
type KickedMember = Treasury; type KickedMember = Treasury;
type DesiredMembers = DesiredMembers; type DesiredMembers = DesiredMembers;
type DesiredRunnersUp = DesiredRunnersUp; type DesiredRunnersUp = DesiredRunnersUp;
...@@ -943,10 +947,15 @@ impl frame_support::traits::OnRuntimeUpgrade for UpgradeSessionKeys { ...@@ -943,10 +947,15 @@ impl frame_support::traits::OnRuntimeUpgrade for UpgradeSessionKeys {
} }
} }
pub struct CustomOnRuntimeUpgrade; pub struct PhragmenElectionDepositRuntimeUpgrade;
impl frame_support::traits::OnRuntimeUpgrade for CustomOnRuntimeUpgrade { impl pallet_elections_phragmen::migrations_3_0_0::V2ToV3 for PhragmenElectionDepositRuntimeUpgrade {
type AccountId = AccountId;
type Balance = Balance;
type Module = ElectionsPhragmen;
}
impl frame_support::traits::OnRuntimeUpgrade for PhragmenElectionDepositRuntimeUpgrade {
fn on_runtime_upgrade() -> frame_support::weights::Weight { fn on_runtime_upgrade() -> frame_support::weights::Weight {
0 pallet_elections_phragmen::migrations_3_0_0::apply::<Self>(5 * CENTS, DOLLARS)
} }
} }
...@@ -1052,7 +1061,7 @@ pub type Executive = frame_executive::Executive< ...@@ -1052,7 +1061,7 @@ pub type Executive = frame_executive::Executive<
frame_system::ChainContext<Runtime>, frame_system::ChainContext<Runtime>,
Runtime, Runtime,
AllModules, AllModules,
UpgradeSessionKeys, (UpgradeSessionKeys, PhragmenElectionDepositRuntimeUpgrade)
>; >;
/// The payload being signed in the transactions. /// The payload being signed in the transactions.
pub type SignedPayload = generic::SignedPayload<Call, SignedExtra>; pub type SignedPayload = generic::SignedPayload<Call, SignedExtra>;
......
...@@ -43,74 +43,74 @@ use sp_std::marker::PhantomData; ...@@ -43,74 +43,74 @@ use sp_std::marker::PhantomData;
/// Weight functions for pallet_elections_phragmen. /// Weight functions for pallet_elections_phragmen.
pub struct WeightInfo<T>(PhantomData<T>); pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_elections_phragmen::WeightInfo for WeightInfo<T> { impl<T: frame_system::Config> pallet_elections_phragmen::WeightInfo for WeightInfo<T> {
fn vote(v: u32, ) -> Weight { fn vote_equal(v: u32, ) -> Weight {
(86_473_000 as Weight) (54_923_000 as Weight)
// Standard Error: 9_000 .saturating_add((324_000 as Weight).saturating_mul(v as Weight))
.saturating_add((199_000 as Weight).saturating_mul(v as Weight))
.saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().reads(5 as Weight))
.saturating_add(T::DbWeight::get().writes(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight))
} }
fn vote_update(v: u32, ) -> Weight { fn vote_more(v: u32, ) -> Weight {
(53_531_000 as Weight) (83_389_000 as Weight)
// Standard Error: 8_000 .saturating_add((341_000 as Weight).saturating_mul(v as Weight))
.saturating_add((126_000 as Weight).saturating_mul(v as Weight))
.saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().reads(5 as Weight))
.saturating_add(T::DbWeight::get().writes(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight))
} }
fn remove_voter() -> Weight { fn vote_less(v: u32, ) -> Weight {
(69_725_000 as Weight) (78_865_000 as Weight)
.saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add((343_000 as Weight).saturating_mul(v as Weight))
.saturating_add(T::DbWeight::get().reads(5 as Weight))
.saturating_add(T::DbWeight::get().writes(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight))
} }
fn report_defunct_voter_correct(c: u32, v: u32, ) -> Weight { fn remove_voter() -> Weight {
(0 as Weight) (72_370_000 as Weight)
// Standard Error: 2_000 .saturating_add(T::DbWeight::get().reads(2 as Weight))
.saturating_add((1_673_000 as Weight).saturating_mul(c as Weight))
// Standard Error: 53_000
.saturating_add((33_921_000 as Weight).saturating_mul(v as Weight))
.saturating_add(T::DbWeight::get().reads(7 as Weight))
.saturating_add(T::DbWeight::get().writes(3 as Weight))
}
fn report_defunct_voter_incorrect(c: u32, v: u32, ) -> Weight {
(0 as Weight)
// Standard Error: 0
.saturating_add((1_696_000 as Weight).saturating_mul(c as Weight))
// Standard Error: 12_000
.saturating_add((33_906_000 as Weight).saturating_mul(v as Weight))
.saturating_add(T::DbWeight::get().reads(6 as Weight))
.saturating_add(T::DbWeight::get().writes(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight))
} }
fn submit_candidacy(c: u32, ) -> Weight { fn submit_candidacy(c: u32, ) -> Weight {
(70_603_000 as Weight) (68_455_000 as Weight)
// Standard Error: 0 .saturating_add((370_000 as Weight).saturating_mul(c as Weight))
.saturating_add((276_000 as Weight).saturating_mul(c as Weight))
.saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight))
} }
fn renounce_candidacy_candidate(c: u32, ) -> Weight { fn renounce_candidacy_candidate(c: u32, ) -> Weight {
(42_985_000 as Weight) (54_009_000 as Weight)
// Standard Error: 0 .saturating_add((200_000 as Weight).saturating_mul(c as Weight))
.saturating_add((140_000 as Weight).saturating_mul(c as Weight))
.saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight))
} }
fn renounce_candidacy_members() -> Weight { fn renounce_candidacy_members() -> Weight {
(76_320_000 as Weight) (84_797_000 as Weight)
.saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight))
.saturating_add(T::DbWeight::get().writes(4 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight))
} }
fn renounce_candidacy_runners_up() -> Weight { fn renounce_candidacy_runners_up() -> Weight {
(46_198_000 as Weight) (59_095_000 as Weight)
.saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight))
} }
fn remove_member_with_replacement() -> Weight { fn remove_member_with_replacement() -> Weight {
(115_357_000 as Weight) (132_820_000 as Weight)
.saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().reads(5 as Weight))
.saturating_add(T::DbWeight::get().writes(5 as Weight)) .saturating_add(T::DbWeight::get().writes(5 as Weight))
} }
fn remove_member_wrong_refund() -> Weight { fn remove_member_wrong_refund() -> Weight {
(8_869_000 as Weight) (8_551_000 as Weight)
.saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight))
} }
fn clean_defunct_voters(v: u32, _d: u32, ) -> Weight {
(0 as Weight)
.saturating_add((151_754_000 as Weight).saturating_mul(v as Weight))
.saturating_add(T::DbWeight::get().reads(4 as Weight))
.saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(v as Weight)))
.saturating_add(T::DbWeight::get().writes((3 as Weight).saturating_mul(v as Weight)))
}
fn election_phragmen(c: u32, v: u32, e: u32, ) -> Weight {
(0 as Weight)
.saturating_add((134_602_000 as Weight).saturating_mul(c as Weight))
.saturating_add((111_037_000 as Weight).saturating_mul(v as Weight))
.saturating_add((7_150_000 as Weight).saturating_mul(e as Weight))
.saturating_add(T::DbWeight::get().reads((2 as Weight).saturating_mul(c as Weight)))
.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(v as Weight)))
.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(c as Weight)))
}
} }
...@@ -520,7 +520,10 @@ impl pallet_collective::Config<CouncilCollective> for Runtime { ...@@ -520,7 +520,10 @@ impl pallet_collective::Config<CouncilCollective> for Runtime {
parameter_types! { parameter_types! {
pub const CandidacyBond: Balance = 100 * DOLLARS; pub const CandidacyBond: Balance = 100 * DOLLARS;
pub const VotingBond: Balance = 5 * DOLLARS; // 1 storage item created, key size is 32 bytes, value size is 16+16.
pub const VotingBondBase: Balance = deposit(1, 64);
// additional data per vote is 32 bytes (account id).
pub const VotingBondFactor: Balance = deposit(0, 32);
/// Weekly council elections; scaling up to monthly eventually. /// Weekly council elections; scaling up to monthly eventually.
pub const TermDuration: BlockNumber = 7 * DAYS; pub const TermDuration: BlockNumber = 7 * DAYS;
/// 13 members initially, to be increased to 23 eventually. /// 13 members initially, to be increased to 23 eventually.
...@@ -539,9 +542,9 @@ impl pallet_elections_phragmen::Config for Runtime { ...@@ -539,9 +542,9 @@ impl pallet_elections_phragmen::Config for Runtime {
type InitializeMembers = Council; type InitializeMembers = Council;
type CurrencyToVote = frame_support::traits::U128CurrencyToVote; type CurrencyToVote = frame_support::traits::U128CurrencyToVote;
type CandidacyBond = CandidacyBond; type CandidacyBond = CandidacyBond;
type VotingBond = VotingBond; type VotingBondBase = VotingBondBase;
type VotingBondFactor = VotingBondFactor;
type LoserCandidate = Treasury; type LoserCandidate = Treasury;
type BadReport = Treasury;
type KickedMember = Treasury; type KickedMember = Treasury;
type DesiredMembers = DesiredMembers; type DesiredMembers = DesiredMembers;
type DesiredRunnersUp = DesiredRunnersUp; type DesiredRunnersUp = DesiredRunnersUp;
...@@ -948,10 +951,15 @@ impl frame_support::traits::OnRuntimeUpgrade for UpgradeSessionKeys { ...@@ -948,10 +951,15 @@ impl frame_support::traits::OnRuntimeUpgrade for UpgradeSessionKeys {
} }
} }
pub struct CustomOnRuntimeUpgrade; pub struct PhragmenElectionDepositRuntimeUpgrade;
impl frame_support::traits::OnRuntimeUpgrade for CustomOnRuntimeUpgrade { impl pallet_elections_phragmen::migrations_3_0_0::V2ToV3 for PhragmenElectionDepositRuntimeUpgrade {
type AccountId = AccountId;
type Balance = Balance;
type Module = ElectionsPhragmen;
}
impl frame_support::traits::OnRuntimeUpgrade for PhragmenElectionDepositRuntimeUpgrade {
fn on_runtime_upgrade() -> frame_support::weights::Weight { fn on_runtime_upgrade() -> frame_support::weights::Weight {
0 pallet_elections_phragmen::migrations_3_0_0::apply::<Self>(5 * CENTS, DOLLARS)
} }
} }
...@@ -1049,7 +1057,7 @@ pub type Executive = frame_executive::Executive< ...@@ -1049,7 +1057,7 @@ pub type Executive = frame_executive::Executive<
frame_system::ChainContext<Runtime>, frame_system::ChainContext<Runtime>,
Runtime, Runtime,
AllModules, AllModules,
UpgradeSessionKeys, (UpgradeSessionKeys, PhragmenElectionDepositRuntimeUpgrade),
>; >;
/// The payload being signed in transactions. /// The payload being signed in transactions.
pub type SignedPayload = generic::SignedPayload<Call, SignedExtra>; pub type SignedPayload = generic::SignedPayload<Call, SignedExtra>;
......
...@@ -43,74 +43,74 @@ use sp_std::marker::PhantomData; ...@@ -43,74 +43,74 @@ use sp_std::marker::PhantomData;
/// Weight functions for pallet_elections_phragmen. /// Weight functions for pallet_elections_phragmen.
pub struct WeightInfo<T>(PhantomData<T>); pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_elections_phragmen::WeightInfo for WeightInfo<T> { impl<T: frame_system::Config> pallet_elections_phragmen::WeightInfo for WeightInfo<T> {
fn vote(v: u32, ) -> Weight { fn vote_equal(v: u32, ) -> Weight {
(88_644_000 as Weight) (54_923_000 as Weight)
// Standard Error: 7_000 .saturating_add((324_000 as Weight).saturating_mul(v as Weight))
.saturating_add((130_000 as Weight).saturating_mul(v as Weight))
.saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().reads(5 as Weight))
.saturating_add(T::DbWeight::get().writes(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight))
} }
fn vote_update(v: u32, ) -> Weight { fn vote_more(v: u32, ) -> Weight {
(54_456_000 as Weight) (83_389_000 as Weight)
// Standard Error: 3_000 .saturating_add((341_000 as Weight).saturating_mul(v as Weight))
.saturating_add((133_000 as Weight).saturating_mul(v as Weight))
.saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().reads(5 as Weight))
.saturating_add(T::DbWeight::get().writes(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight))
} }
fn remove_voter() -> Weight { fn vote_less(v: u32, ) -> Weight {
(71_138_000 as Weight) (78_865_000 as Weight)
.saturating_add(T::DbWeight::get().reads(2 as Weight)) .saturating_add((343_000 as Weight).saturating_mul(v as Weight))
.saturating_add(T::DbWeight::get().reads(5 as Weight))
.saturating_add(T::DbWeight::get().writes(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight))
} }
fn report_defunct_voter_correct(c: u32, v: u32, ) -> Weight { fn remove_voter() -> Weight {
(0 as Weight) (72_370_000 as Weight)
// Standard Error: 0 .saturating_add(T::DbWeight::get().reads(2 as Weight))
.saturating_add((1_749_000 as Weight).saturating_mul(c as Weight))
// Standard Error: 12_000
.saturating_add((34_327_000 as Weight).saturating_mul(v as Weight))
.saturating_add(T::DbWeight::get().reads(7 as Weight))
.saturating_add(T::DbWeight::get().writes(3 as Weight))
}
fn report_defunct_voter_incorrect(c: u32, v: u32, ) -> Weight {
(0 as Weight)
// Standard Error: 0
.saturating_add((1_755_000 as Weight).saturating_mul(c as Weight))
// Standard Error: 9_000
.saturating_add((34_280_000 as Weight).saturating_mul(v as Weight))
.saturating_add(T::DbWeight::get().reads(6 as Weight))
.saturating_add(T::DbWeight::get().writes(2 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight))
} }
fn submit_candidacy(c: u32, ) -> Weight { fn submit_candidacy(c: u32, ) -> Weight {
(70_892_000 as Weight) (68_455_000 as Weight)
// Standard Error: 0 .saturating_add((370_000 as Weight).saturating_mul(c as Weight))
.saturating_add((292_000 as Weight).saturating_mul(c as Weight))
.saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight))
} }
fn renounce_candidacy_candidate(c: u32, ) -> Weight { fn renounce_candidacy_candidate(c: u32, ) -> Weight {
(43_358_000 as Weight) (54_009_000 as Weight)
// Standard Error: 0 .saturating_add((200_000 as Weight).saturating_mul(c as Weight))
.saturating_add((143_000 as Weight).saturating_mul(c as Weight))
.saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight))
} }
fn renounce_candidacy_members() -> Weight { fn renounce_candidacy_members() -> Weight {
(75_956_000 as Weight) (84_797_000 as Weight)
.saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight))
.saturating_add(T::DbWeight::get().writes(4 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight))
} }
fn renounce_candidacy_runners_up() -> Weight { fn renounce_candidacy_runners_up() -> Weight {
(46_888_000 as Weight) (59_095_000 as Weight)
.saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight))
} }
fn remove_member_with_replacement() -> Weight { fn remove_member_with_replacement() -> Weight {
(116_053_000 as Weight) (132_820_000 as Weight)
.saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().reads(5 as Weight))
.saturating_add(T::DbWeight::get().writes(5 as Weight)) .saturating_add(T::DbWeight::get().writes(5 as Weight))
} }
fn remove_member_wrong_refund() -> Weight { fn remove_member_wrong_refund() -> Weight {
(9_093_000 as Weight) (8_551_000 as Weight)
.saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight))
} }
fn clean_defunct_voters(v: u32, _d: u32, ) -> Weight {
(0 as Weight)
.saturating_add((151_754_000 as Weight).saturating_mul(v as Weight))
.saturating_add(T::DbWeight::get().reads(4 as Weight))
.saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(v as Weight)))
.saturating_add(T::DbWeight::get().writes((3 as Weight).saturating_mul(v as Weight)))
}
fn election_phragmen(c: u32, v: u32, e: u32, ) -> Weight {
(0 as Weight)
.saturating_add((134_602_000 as Weight).saturating_mul(c as Weight))
.saturating_add((111_037_000 as Weight).saturating_mul(v as Weight))
.saturating_add((7_150_000 as Weight).saturating_mul(e as Weight))
.saturating_add(T::DbWeight::get().reads((2 as Weight).saturating_mul(c as Weight)))
.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(v as Weight)))
.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(c as Weight)))
}
} }
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment