From f86d4128af5f74f750bf1bc1e9ffaec8472f495c Mon Sep 17 00:00:00 2001
From: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Date: Wed, 22 Sep 2021 15:38:21 +0100
Subject: [PATCH] Use the automated call decode weight for `submit_unsigned`
 benchmark (#9766)

* Use the automated call decode weight for  benchmark

* cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* reduce the boundaries

* Fix

* Fox

* cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* reduce the numbers even less

* cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* Fix a few things

* cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* update comment

Co-authored-by: Parity Bot <admin@parity.io>
---
 substrate/bin/node/runtime/src/lib.rs         |  19 +--
 .../src/benchmarking.rs                       |  33 +----
 .../election-provider-multi-phase/src/lib.rs  |   4 +-
 .../election-provider-multi-phase/src/mock.rs |   4 +-
 .../src/unsigned.rs                           |   2 +-
 .../src/weights.rs                            | 132 ++++++++++--------
 6 files changed, 94 insertions(+), 100 deletions(-)

diff --git a/substrate/bin/node/runtime/src/lib.rs b/substrate/bin/node/runtime/src/lib.rs
index 75b80cccd8c..af465fc0ffc 100644
--- a/substrate/bin/node/runtime/src/lib.rs
+++ b/substrate/bin/node/runtime/src/lib.rs
@@ -576,17 +576,18 @@ sp_npos_elections::generate_solution_type!(
 
 pub const MAX_NOMINATIONS: u32 = <NposSolution16 as sp_npos_elections::NposSolution>::LIMIT as u32;
 
-/// The numbers configured here should always be more than the the maximum limits of staking pallet
-/// to ensure election snapshot will not run out of memory.
+/// The numbers configured here could always be more than the the maximum limits of staking pallet
+/// to ensure election snapshot will not run out of memory. For now, we set them to smaller values
+/// since the staking is bounded and the weight pipeline takes hours for this single pallet.
 pub struct BenchmarkConfig;
 impl pallet_election_provider_multi_phase::BenchmarkingConfig for BenchmarkConfig {
-	const VOTERS: [u32; 2] = [5_000, 10_000];
-	const TARGETS: [u32; 2] = [1_000, 2_000];
-	const ACTIVE_VOTERS: [u32; 2] = [1000, 4_000];
-	const DESIRED_TARGETS: [u32; 2] = [400, 800];
-	const SNAPSHOT_MAXIMUM_VOTERS: u32 = 25_000;
-	const MINER_MAXIMUM_VOTERS: u32 = 15_000;
-	const MAXIMUM_TARGETS: u32 = 2000;
+	const VOTERS: [u32; 2] = [1000, 2000];
+	const TARGETS: [u32; 2] = [500, 1000];
+	const ACTIVE_VOTERS: [u32; 2] = [500, 800];
+	const DESIRED_TARGETS: [u32; 2] = [200, 400];
+	const SNAPSHOT_MAXIMUM_VOTERS: u32 = 1000;
+	const MINER_MAXIMUM_VOTERS: u32 = 1000;
+	const MAXIMUM_TARGETS: u32 = 300;
 }
 
 /// Maximum number of iterations for balancing that will be executed in the embedded OCW
diff --git a/substrate/frame/election-provider-multi-phase/src/benchmarking.rs b/substrate/frame/election-provider-multi-phase/src/benchmarking.rs
index fb5adda52e1..a5bb0d6351c 100644
--- a/substrate/frame/election-provider-multi-phase/src/benchmarking.rs
+++ b/substrate/frame/election-provider-multi-phase/src/benchmarking.rs
@@ -243,10 +243,10 @@ frame_benchmarking::benchmarks! {
 	}
 
 	create_snapshot_internal {
-		// number of votes in snapshot. Fixed to maximum.
-		let v = T::BenchmarkingConfig::SNAPSHOT_MAXIMUM_VOTERS;
-		// number of targets in snapshot. Fixed to maximum.
-		let t = T::BenchmarkingConfig::MAXIMUM_TARGETS;
+		// number of votes in snapshot.
+		let v in (T::BenchmarkingConfig::VOTERS[0]) .. T::BenchmarkingConfig::VOTERS[1];
+		// number of targets in snapshot.
+		let t in (T::BenchmarkingConfig::TARGETS[0]) .. T::BenchmarkingConfig::TARGETS[1];
 
 		// we don't directly need the data-provider to be populated, but it is just easy to use it.
 		set_up_data_provider::<T>(v, t);
@@ -351,24 +351,8 @@ frame_benchmarking::benchmarks! {
 		assert!(<MultiPhase<T>>::queued_solution().is_none());
 		<CurrentPhase<T>>::put(Phase::Unsigned((true, 1u32.into())));
 
-		// encode the most significant storage item that needs to be decoded in the dispatch.
-		let encoded_snapshot = <MultiPhase<T>>::snapshot().ok_or("missing snapshot")?.encode();
-		let encoded_call = Call::<T>::submit_unsigned {
-			raw_solution: Box::new(raw_solution.clone()),
-			witness
-		}.encode();
-	}: {
-		assert_ok!(
-			<MultiPhase<T>>::submit_unsigned(
-				RawOrigin::None.into(),
-				Box::new(raw_solution),
-				witness,
-			)
-		);
-		let _decoded_snap = <RoundSnapshot<T::AccountId> as Decode>::decode(&mut &*encoded_snapshot)
-			.expect("decoding should not fail; qed.");
-		let _decoded_call = <Call<T> as Decode>::decode(&mut &*encoded_call).expect("decoding should not fail; qed.");
-	} verify {
+	}: _(RawOrigin::None, Box::new(raw_solution), witness)
+	verify {
 		assert!(<MultiPhase<T>>::queued_solution().is_some());
 	}
 
@@ -389,13 +373,8 @@ frame_benchmarking::benchmarks! {
 
 		assert_eq!(raw_solution.solution.voter_count() as u32, a);
 		assert_eq!(raw_solution.solution.unique_targets().len() as u32, d);
-
-		// encode the most significant storage item that needs to be decoded in the dispatch.
-		let encoded_snapshot = <MultiPhase<T>>::snapshot().ok_or("snapshot missing")?.encode();
 	}: {
 		assert_ok!(<MultiPhase<T>>::feasibility_check(raw_solution, ElectionCompute::Unsigned));
-		let _decoded_snap = <RoundSnapshot<T::AccountId> as Decode>::decode(&mut &*encoded_snapshot)
-			.expect("decoding should not fail; qed.");
 	}
 
 	// NOTE: this weight is not used anywhere, but the fact that it should succeed when execution in
diff --git a/substrate/frame/election-provider-multi-phase/src/lib.rs b/substrate/frame/election-provider-multi-phase/src/lib.rs
index e83c49433e2..6b0329afc0d 100644
--- a/substrate/frame/election-provider-multi-phase/src/lib.rs
+++ b/substrate/frame/election-provider-multi-phase/src/lib.rs
@@ -1317,8 +1317,10 @@ impl<T: Config> Pallet<T> {
 		let (targets, voters, desired_targets) = Self::create_snapshot_external()?;
 
 		// ..therefore we only measure the weight of this and add it.
+		let internal_weight =
+			T::WeightInfo::create_snapshot_internal(voters.len() as u32, targets.len() as u32);
 		Self::create_snapshot_internal(targets, voters, desired_targets);
-		Self::register_weight(T::WeightInfo::create_snapshot_internal());
+		Self::register_weight(internal_weight);
 		Ok(())
 	}
 
diff --git a/substrate/frame/election-provider-multi-phase/src/mock.rs b/substrate/frame/election-provider-multi-phase/src/mock.rs
index 0d563955595..1a65316be1f 100644
--- a/substrate/frame/election-provider-multi-phase/src/mock.rs
+++ b/substrate/frame/election-provider-multi-phase/src/mock.rs
@@ -304,11 +304,11 @@ impl multi_phase::weights::WeightInfo for DualMockWeightInfo {
 			<() as multi_phase::weights::WeightInfo>::on_initialize_nothing()
 		}
 	}
-	fn create_snapshot_internal() -> Weight {
+	fn create_snapshot_internal(v: u32, t: u32) -> Weight {
 		if MockWeightInfo::get() {
 			Zero::zero()
 		} else {
-			<() as multi_phase::weights::WeightInfo>::create_snapshot_internal()
+			<() as multi_phase::weights::WeightInfo>::create_snapshot_internal(v, t)
 		}
 	}
 	fn on_initialize_open_signed() -> Weight {
diff --git a/substrate/frame/election-provider-multi-phase/src/unsigned.rs b/substrate/frame/election-provider-multi-phase/src/unsigned.rs
index af0b79177d8..31ad502ac07 100644
--- a/substrate/frame/election-provider-multi-phase/src/unsigned.rs
+++ b/substrate/frame/election-provider-multi-phase/src/unsigned.rs
@@ -651,7 +651,7 @@ mod max_weight {
 		fn elect_queued(a: u32, d: u32) -> Weight {
 			unreachable!()
 		}
-		fn create_snapshot_internal() -> Weight {
+		fn create_snapshot_internal(v: u32, t: u32) -> Weight {
 			unreachable!()
 		}
 		fn on_initialize_nothing() -> Weight {
diff --git a/substrate/frame/election-provider-multi-phase/src/weights.rs b/substrate/frame/election-provider-multi-phase/src/weights.rs
index 262838bcb9e..4d49f60fabf 100644
--- a/substrate/frame/election-provider-multi-phase/src/weights.rs
+++ b/substrate/frame/election-provider-multi-phase/src/weights.rs
@@ -18,7 +18,7 @@
 //! Autogenerated weights for pallet_election_provider_multi_phase
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2021-08-18, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2021-09-22, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 128
 
 // Executed Command:
@@ -50,7 +50,7 @@ pub trait WeightInfo {
 	fn on_initialize_open_unsigned() -> Weight;
 	fn finalize_signed_phase_accept_solution() -> Weight;
 	fn finalize_signed_phase_reject_solution() -> Weight;
-	fn create_snapshot_internal() -> Weight;
+	fn create_snapshot_internal(v: u32, t: u32, ) -> Weight;
 	fn elect_queued(a: u32, d: u32, ) -> Weight;
 	fn submit(c: u32, ) -> Weight;
 	fn submit_unsigned(v: u32, t: u32, a: u32, d: u32, ) -> Weight;
@@ -69,41 +69,45 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	// Storage: Staking ForceEra (r:1 w:0)
 	// Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0)
 	fn on_initialize_nothing() -> Weight {
-		(23_878_000 as Weight)
+		(22_784_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(8 as Weight))
 	}
 	// Storage: ElectionProviderMultiPhase Round (r:1 w:0)
 	// Storage: ElectionProviderMultiPhase CurrentPhase (r:0 w:1)
 	fn on_initialize_open_signed() -> Weight {
-		(34_547_000 as Weight)
+		(32_763_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
 	// Storage: ElectionProviderMultiPhase Round (r:1 w:0)
 	// Storage: ElectionProviderMultiPhase CurrentPhase (r:0 w:1)
 	fn on_initialize_open_unsigned() -> Weight {
-		(33_568_000 as Weight)
+		(29_117_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
 	// Storage: System Account (r:1 w:1)
 	// Storage: ElectionProviderMultiPhase QueuedSolution (r:0 w:1)
 	fn finalize_signed_phase_accept_solution() -> Weight {
-		(50_596_000 as Weight)
+		(48_996_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
 	// Storage: System Account (r:1 w:1)
 	fn finalize_signed_phase_reject_solution() -> Weight {
-		(33_389_000 as Weight)
+		(32_508_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
 	// Storage: ElectionProviderMultiPhase SnapshotMetadata (r:0 w:1)
 	// Storage: ElectionProviderMultiPhase DesiredTargets (r:0 w:1)
 	// Storage: ElectionProviderMultiPhase Snapshot (r:0 w:1)
-	fn create_snapshot_internal() -> Weight {
-		(8_835_233_000 as Weight)
+	fn create_snapshot_internal(v: u32, t: u32, ) -> Weight {
+		(96_001_000 as Weight)
+			// Standard Error: 1_000
+			.saturating_add((307_000 as Weight).saturating_mul(v as Weight))
+			// Standard Error: 2_000
+			.saturating_add((133_000 as Weight).saturating_mul(t as Weight))
 			.saturating_add(T::DbWeight::get().writes(3 as Weight))
 	}
 	// Storage: ElectionProviderMultiPhase SignedSubmissionIndices (r:1 w:1)
@@ -116,11 +120,11 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	// Storage: ElectionProviderMultiPhase Snapshot (r:0 w:1)
 	// Storage: ElectionProviderMultiPhase CurrentPhase (r:0 w:1)
 	fn elect_queued(a: u32, d: u32, ) -> Weight {
-		(82_395_000 as Weight)
-			// Standard Error: 1_000
-			.saturating_add((1_769_000 as Weight).saturating_mul(a as Weight))
-			// Standard Error: 13_000
-			.saturating_add((320_000 as Weight).saturating_mul(d as Weight))
+		(100_505_000 as Weight)
+			// Standard Error: 6_000
+			.saturating_add((1_665_000 as Weight).saturating_mul(a as Weight))
+			// Standard Error: 10_000
+			.saturating_add((443_000 as Weight).saturating_mul(d as Weight))
 			.saturating_add(T::DbWeight::get().reads(6 as Weight))
 			.saturating_add(T::DbWeight::get().writes(8 as Weight))
 	}
@@ -131,9 +135,9 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	// Storage: ElectionProviderMultiPhase SignedSubmissionNextIndex (r:1 w:1)
 	// Storage: ElectionProviderMultiPhase SignedSubmissionsMap (r:0 w:1)
 	fn submit(c: u32, ) -> Weight {
-		(77_368_000 as Weight)
-			// Standard Error: 9_000
-			.saturating_add((369_000 as Weight).saturating_mul(c as Weight))
+		(74_088_000 as Weight)
+			// Standard Error: 59_000
+			.saturating_add((187_000 as Weight).saturating_mul(c as Weight))
 			.saturating_add(T::DbWeight::get().reads(5 as Weight))
 			.saturating_add(T::DbWeight::get().writes(3 as Weight))
 	}
@@ -146,14 +150,14 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	// Storage: ElectionProviderMultiPhase Snapshot (r:1 w:0)
 	fn submit_unsigned(v: u32, t: u32, a: u32, d: u32, ) -> Weight {
 		(0 as Weight)
-			// Standard Error: 4_000
-			.saturating_add((3_553_000 as Weight).saturating_mul(v as Weight))
-			// Standard Error: 23_000
-			.saturating_add((35_000 as Weight).saturating_mul(t as Weight))
-			// Standard Error: 7_000
-			.saturating_add((10_600_000 as Weight).saturating_mul(a as Weight))
-			// Standard Error: 59_000
-			.saturating_add((6_128_000 as Weight).saturating_mul(d as Weight))
+			// Standard Error: 5_000
+			.saturating_add((1_970_000 as Weight).saturating_mul(v as Weight))
+			// Standard Error: 10_000
+			.saturating_add((173_000 as Weight).saturating_mul(t as Weight))
+			// Standard Error: 18_000
+			.saturating_add((9_783_000 as Weight).saturating_mul(a as Weight))
+			// Standard Error: 27_000
+			.saturating_add((2_224_000 as Weight).saturating_mul(d as Weight))
 			.saturating_add(T::DbWeight::get().reads(7 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
@@ -161,14 +165,16 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	// Storage: ElectionProviderMultiPhase DesiredTargets (r:1 w:0)
 	// Storage: ElectionProviderMultiPhase MinimumUntrustedScore (r:1 w:0)
 	// Storage: ElectionProviderMultiPhase Snapshot (r:1 w:0)
-	fn feasibility_check(v: u32, _t: u32, a: u32, d: u32, ) -> Weight {
+	fn feasibility_check(v: u32, t: u32, a: u32, d: u32, ) -> Weight {
 		(0 as Weight)
 			// Standard Error: 3_000
-			.saturating_add((3_478_000 as Weight).saturating_mul(v as Weight))
-			// Standard Error: 6_000
-			.saturating_add((8_930_000 as Weight).saturating_mul(a as Weight))
-			// Standard Error: 47_000
-			.saturating_add((5_199_000 as Weight).saturating_mul(d as Weight))
+			.saturating_add((1_910_000 as Weight).saturating_mul(v as Weight))
+			// Standard Error: 7_000
+			.saturating_add((111_000 as Weight).saturating_mul(t as Weight))
+			// Standard Error: 13_000
+			.saturating_add((7_741_000 as Weight).saturating_mul(a as Weight))
+			// Standard Error: 19_000
+			.saturating_add((1_844_000 as Weight).saturating_mul(d as Weight))
 			.saturating_add(T::DbWeight::get().reads(4 as Weight))
 	}
 }
@@ -184,41 +190,45 @@ impl WeightInfo for () {
 	// Storage: Staking ForceEra (r:1 w:0)
 	// Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0)
 	fn on_initialize_nothing() -> Weight {
-		(23_878_000 as Weight)
+		(22_784_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(8 as Weight))
 	}
 	// Storage: ElectionProviderMultiPhase Round (r:1 w:0)
 	// Storage: ElectionProviderMultiPhase CurrentPhase (r:0 w:1)
 	fn on_initialize_open_signed() -> Weight {
-		(34_547_000 as Weight)
+		(32_763_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
 	// Storage: ElectionProviderMultiPhase Round (r:1 w:0)
 	// Storage: ElectionProviderMultiPhase CurrentPhase (r:0 w:1)
 	fn on_initialize_open_unsigned() -> Weight {
-		(33_568_000 as Weight)
+		(29_117_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
 	// Storage: System Account (r:1 w:1)
 	// Storage: ElectionProviderMultiPhase QueuedSolution (r:0 w:1)
 	fn finalize_signed_phase_accept_solution() -> Weight {
-		(50_596_000 as Weight)
+		(48_996_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
 	}
 	// Storage: System Account (r:1 w:1)
 	fn finalize_signed_phase_reject_solution() -> Weight {
-		(33_389_000 as Weight)
+		(32_508_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
 	// Storage: ElectionProviderMultiPhase SnapshotMetadata (r:0 w:1)
 	// Storage: ElectionProviderMultiPhase DesiredTargets (r:0 w:1)
 	// Storage: ElectionProviderMultiPhase Snapshot (r:0 w:1)
-	fn create_snapshot_internal() -> Weight {
-		(8_835_233_000 as Weight)
+	fn create_snapshot_internal(v: u32, t: u32, ) -> Weight {
+		(96_001_000 as Weight)
+			// Standard Error: 1_000
+			.saturating_add((307_000 as Weight).saturating_mul(v as Weight))
+			// Standard Error: 2_000
+			.saturating_add((133_000 as Weight).saturating_mul(t as Weight))
 			.saturating_add(RocksDbWeight::get().writes(3 as Weight))
 	}
 	// Storage: ElectionProviderMultiPhase SignedSubmissionIndices (r:1 w:1)
@@ -231,11 +241,11 @@ impl WeightInfo for () {
 	// Storage: ElectionProviderMultiPhase Snapshot (r:0 w:1)
 	// Storage: ElectionProviderMultiPhase CurrentPhase (r:0 w:1)
 	fn elect_queued(a: u32, d: u32, ) -> Weight {
-		(82_395_000 as Weight)
-			// Standard Error: 1_000
-			.saturating_add((1_769_000 as Weight).saturating_mul(a as Weight))
-			// Standard Error: 13_000
-			.saturating_add((320_000 as Weight).saturating_mul(d as Weight))
+		(100_505_000 as Weight)
+			// Standard Error: 6_000
+			.saturating_add((1_665_000 as Weight).saturating_mul(a as Weight))
+			// Standard Error: 10_000
+			.saturating_add((443_000 as Weight).saturating_mul(d as Weight))
 			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(8 as Weight))
 	}
@@ -246,9 +256,9 @@ impl WeightInfo for () {
 	// Storage: ElectionProviderMultiPhase SignedSubmissionNextIndex (r:1 w:1)
 	// Storage: ElectionProviderMultiPhase SignedSubmissionsMap (r:0 w:1)
 	fn submit(c: u32, ) -> Weight {
-		(77_368_000 as Weight)
-			// Standard Error: 9_000
-			.saturating_add((369_000 as Weight).saturating_mul(c as Weight))
+		(74_088_000 as Weight)
+			// Standard Error: 59_000
+			.saturating_add((187_000 as Weight).saturating_mul(c as Weight))
 			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(3 as Weight))
 	}
@@ -261,14 +271,14 @@ impl WeightInfo for () {
 	// Storage: ElectionProviderMultiPhase Snapshot (r:1 w:0)
 	fn submit_unsigned(v: u32, t: u32, a: u32, d: u32, ) -> Weight {
 		(0 as Weight)
-			// Standard Error: 4_000
-			.saturating_add((3_553_000 as Weight).saturating_mul(v as Weight))
-			// Standard Error: 23_000
-			.saturating_add((35_000 as Weight).saturating_mul(t as Weight))
-			// Standard Error: 7_000
-			.saturating_add((10_600_000 as Weight).saturating_mul(a as Weight))
-			// Standard Error: 59_000
-			.saturating_add((6_128_000 as Weight).saturating_mul(d as Weight))
+			// Standard Error: 5_000
+			.saturating_add((1_970_000 as Weight).saturating_mul(v as Weight))
+			// Standard Error: 10_000
+			.saturating_add((173_000 as Weight).saturating_mul(t as Weight))
+			// Standard Error: 18_000
+			.saturating_add((9_783_000 as Weight).saturating_mul(a as Weight))
+			// Standard Error: 27_000
+			.saturating_add((2_224_000 as Weight).saturating_mul(d as Weight))
 			.saturating_add(RocksDbWeight::get().reads(7 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
@@ -276,14 +286,16 @@ impl WeightInfo for () {
 	// Storage: ElectionProviderMultiPhase DesiredTargets (r:1 w:0)
 	// Storage: ElectionProviderMultiPhase MinimumUntrustedScore (r:1 w:0)
 	// Storage: ElectionProviderMultiPhase Snapshot (r:1 w:0)
-	fn feasibility_check(v: u32, _t: u32, a: u32, d: u32, ) -> Weight {
+	fn feasibility_check(v: u32, t: u32, a: u32, d: u32, ) -> Weight {
 		(0 as Weight)
 			// Standard Error: 3_000
-			.saturating_add((3_478_000 as Weight).saturating_mul(v as Weight))
-			// Standard Error: 6_000
-			.saturating_add((8_930_000 as Weight).saturating_mul(a as Weight))
-			// Standard Error: 47_000
-			.saturating_add((5_199_000 as Weight).saturating_mul(d as Weight))
+			.saturating_add((1_910_000 as Weight).saturating_mul(v as Weight))
+			// Standard Error: 7_000
+			.saturating_add((111_000 as Weight).saturating_mul(t as Weight))
+			// Standard Error: 13_000
+			.saturating_add((7_741_000 as Weight).saturating_mul(a as Weight))
+			// Standard Error: 19_000
+			.saturating_add((1_844_000 as Weight).saturating_mul(d as Weight))
 			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
 	}
 }
-- 
GitLab