From 72f38f9f33a7c7b88ee2250625a2bb05984f1081 Mon Sep 17 00:00:00 2001
From: Alain Brenzikofer <alain.brenzikofer@scs.ch>
Date: Thu, 14 Oct 2021 17:37:10 +0200
Subject: [PATCH 1/5] introduced pallet and re-ran benchmark on devsgx02

---
 Cargo.lock                              | 16 +++++
 README.md                               |  6 ++
 runtime/Cargo.toml                      |  3 +
 runtime/src/lib.rs                      | 12 +++-
 runtime/src/weights/frame_system.rs     | 31 ++++-----
 runtime/src/weights/pallet_balances.rs  | 18 +++---
 runtime/src/weights/pallet_multisig.rs  | 66 ++++++++++---------
 runtime/src/weights/pallet_proxy.rs     | 78 +++++++++++------------
 runtime/src/weights/pallet_scheduler.rs | 30 ++++-----
 runtime/src/weights/pallet_teerex.rs    | 16 ++---
 runtime/src/weights/pallet_timestamp.rs | 10 +--
 runtime/src/weights/pallet_treasury.rs  | 22 +++----
 runtime/src/weights/pallet_utility.rs   | 45 +++++++++++++
 runtime/src/weights/pallet_vesting.rs   | 84 +++++++++++++------------
 scripts/benchmark_all_pallets.sh        |  1 +
 15 files changed, 263 insertions(+), 175 deletions(-)
 create mode 100644 runtime/src/weights/pallet_utility.rs

diff --git a/Cargo.lock b/Cargo.lock
index 6c14619..7c24345 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2343,6 +2343,7 @@ dependencies = [
  "pallet-transaction-payment",
  "pallet-transaction-payment-rpc-runtime-api",
  "pallet-treasury",
+ "pallet-utility",
  "pallet-vesting",
  "parity-scale-codec",
  "sp-api",
@@ -4044,6 +4045,21 @@ dependencies = [
  "sp-std",
 ]
 
+[[package]]
+name = "pallet-utility"
+version = "4.0.0-dev"
+source = "git+https://github.com/paritytech/substrate.git?branch=master#b391b82954ad95a927a921035e3017c4a0aad516"
+dependencies = [
+ "frame-benchmarking",
+ "frame-support",
+ "frame-system",
+ "parity-scale-codec",
+ "sp-core",
+ "sp-io",
+ "sp-runtime",
+ "sp-std",
+]
+
 [[package]]
 name = "pallet-vesting"
 version = "4.0.0-dev"
diff --git a/README.md b/README.md
index 8bbb7d3..1176239 100644
--- a/README.md
+++ b/README.md
@@ -7,3 +7,9 @@ A substrate-based node that maintains a registry of remote attested integritee-s
 ## Build and Run
 Please see our [Integritee Book](https://book.integritee.network/howto_node.html) to learn how to build and run this.
 
+## benchmarking of weights
+
+```
+cargo build --release --features=runtime-benchmarks
+./scripts/benchmark_all_pallets.sh
+```
\ No newline at end of file
diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml
index f0412ec..2869dd0 100644
--- a/runtime/Cargo.toml
+++ b/runtime/Cargo.toml
@@ -32,6 +32,7 @@ pallet-multisig = { version = "4.0.0-dev", default-features = false, git = "http
 pallet-proxy = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "master" }
 pallet-vesting = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "master" }
 pallet-scheduler = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "master" }
+pallet-utility = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "master" }
 
 sp-api = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "master" }
 sp-block-builder = { default-features = false, version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "master" }
@@ -96,6 +97,7 @@ std = [
 	"sp-version/std",
 	"pallet-teerex/std",
 	"pallet-proxy/std",
+	"pallet-utility/std",
 ]
 runtime-benchmarks = [
 	"frame-benchmarking",
@@ -113,5 +115,6 @@ runtime-benchmarks = [
 	"pallet-timestamp/runtime-benchmarks",
 	"pallet-treasury/runtime-benchmarks",
 	"pallet-vesting/runtime-benchmarks",
+	"pallet-utility/runtime-benchmarks",
 ]
 mainnet-launch = []
\ No newline at end of file
diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs
index 82ff91a..c03b748 100644
--- a/runtime/src/lib.rs
+++ b/runtime/src/lib.rs
@@ -534,6 +534,12 @@ impl pallet_scheduler::Config for Runtime {
 	type WeightInfo = weights::pallet_scheduler::WeightInfo<Runtime>;
 }
 
+impl pallet_utility::Config for Runtime {
+	type Event = Event;
+	type Call = Call;
+	type WeightInfo = ();
+}
+
 // Create the runtime by composing the FRAME pallets that were previously configured.
 construct_runtime!(
 	pub enum Runtime where
@@ -549,6 +555,7 @@ construct_runtime!(
 		Multisig: pallet_multisig::{Pallet, Call, Storage, Event<T>} = 6,
 		Proxy: pallet_proxy::{Pallet, Call, Storage, Event<T>} = 7,
 		Scheduler: pallet_scheduler::{Pallet, Call, Storage, Event<T>} = 8,
+		Utility: pallet_utility::{Pallet, Call, Event} = 9,
 
 		// funds and fees
 		Balances: pallet_balances::{Pallet, Call, Storage, Config<T>, Event<T>} = 10,
@@ -563,7 +570,8 @@ construct_runtime!(
 		Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event<T>} = 30,
 
 		// utility
-		Teerex: pallet_teerex::{Pallet, Call, Config, Storage, Event<T>} = 50,	}
+		Teerex: pallet_teerex::{Pallet, Call, Config, Storage, Event<T>} = 50,	
+	}
 );
 
 /// The address format for describing accounts.
@@ -745,6 +753,7 @@ impl_runtime_apis! {
 			list_benchmark!(list, extra, pallet_timestamp, Timestamp);
 			list_benchmark!(list, extra, pallet_treasury, Treasury);
 			list_benchmark!(list, extra, pallet_vesting, Vesting);
+			list_benchmark!(list, extra, pallet_utility, Utility);
 
 			let storage_info = AllPalletsWithSystem::storage_info();
 
@@ -786,6 +795,7 @@ impl_runtime_apis! {
 			add_benchmark!(params, batches, pallet_timestamp, Timestamp);
 			add_benchmark!(params, batches, pallet_treasury, Treasury);
 			add_benchmark!(params, batches, pallet_vesting, Vesting);
+			add_benchmark!(params, batches, pallet_utility, Utility);
 
 			if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) }
 			Ok(batches)
diff --git a/runtime/src/weights/frame_system.rs b/runtime/src/weights/frame_system.rs
index d70a3b3..5096bec 100644
--- a/runtime/src/weights/frame_system.rs
+++ b/runtime/src/weights/frame_system.rs
@@ -1,11 +1,12 @@
+
 //! Autogenerated weights for `frame_system`
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2021-10-05, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2021-10-14, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("integritee-solo-fresh"), DB CACHE: 128
 
 // Executed Command:
-// ./target/release/integritee-node
+// target/release/integritee-node
 // benchmark
 // --chain=integritee-solo-fresh
 // --steps=50
@@ -15,7 +16,7 @@
 // --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./runtime/src/weights/frame_system.rs
+// --output=runtime/src/weights/frame_system.rs
 
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
@@ -29,46 +30,46 @@ use sp_std::marker::PhantomData;
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
 	fn remark(b: u32, ) -> Weight {
-		(574_000 as Weight)
+		(0 as Weight)
 			// Standard Error: 0
 			.saturating_add((1_000 as Weight).saturating_mul(b as Weight))
 	}
 	fn remark_with_event(b: u32, ) -> Weight {
-		(0 as Weight)
+		(2_653_000 as Weight)
 			// Standard Error: 0
 			.saturating_add((2_000 as Weight).saturating_mul(b as Weight))
 	}
 	// Storage: unknown [0x3a686561707061676573] (r:0 w:1)
 	fn set_heap_pages() -> Weight {
-		(1_800_000 as Weight)
+		(1_567_000 as Weight)
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
 	// Storage: System Digest (r:1 w:1)
 	// Storage: unknown [0x3a6368616e6765735f74726965] (r:0 w:1)
 	fn set_changes_trie_config() -> Weight {
-		(8_000_000 as Weight)
+		(6_236_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
 	// Storage: Skipped Metadata (r:0 w:0)
 	fn set_storage(i: u32, ) -> Weight {
 		(0 as Weight)
-			// Standard Error: 2_000
-			.saturating_add((887_000 as Weight).saturating_mul(i as Weight))
+			// Standard Error: 0
+			.saturating_add((838_000 as Weight).saturating_mul(i as Weight))
 			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(i as Weight)))
 	}
 	// Storage: Skipped Metadata (r:0 w:0)
 	fn kill_storage(i: u32, ) -> Weight {
-		(2_052_000 as Weight)
-			// Standard Error: 1_000
-			.saturating_add((567_000 as Weight).saturating_mul(i as Weight))
+		(0 as Weight)
+			// Standard Error: 0
+			.saturating_add((556_000 as Weight).saturating_mul(i as Weight))
 			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(i as Weight)))
 	}
 	// Storage: Skipped Metadata (r:0 w:0)
 	fn kill_prefix(p: u32, ) -> Weight {
-		(3_640_000 as Weight)
-			// Standard Error: 2_000
-			.saturating_add((799_000 as Weight).saturating_mul(p as Weight))
+		(3_140_000 as Weight)
+			// Standard Error: 0
+			.saturating_add((756_000 as Weight).saturating_mul(p as Weight))
 			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(p as Weight)))
 	}
 }
diff --git a/runtime/src/weights/pallet_balances.rs b/runtime/src/weights/pallet_balances.rs
index 867746f..46bfda5 100644
--- a/runtime/src/weights/pallet_balances.rs
+++ b/runtime/src/weights/pallet_balances.rs
@@ -2,11 +2,11 @@
 //! Autogenerated weights for `pallet_balances`
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2021-10-05, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2021-10-14, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("integritee-solo-fresh"), DB CACHE: 128
 
 // Executed Command:
-// ./target/release/integritee-node
+// target/release/integritee-node
 // benchmark
 // --chain=integritee-solo-fresh
 // --steps=50
@@ -16,7 +16,7 @@
 // --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./runtime/src/weights/pallet_balances.rs
+// --output=runtime/src/weights/pallet_balances.rs
 
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
@@ -31,37 +31,37 @@ pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 	// Storage: System Account (r:1 w:1)
 	fn transfer() -> Weight {
-		(72_600_000 as Weight)
+		(68_344_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)
 	fn transfer_keep_alive() -> Weight {
-		(53_200_000 as Weight)
+		(50_479_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)
 	fn set_balance_creating() -> Weight {
-		(27_600_000 as Weight)
+		(27_005_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)
 	fn set_balance_killing() -> Weight {
-		(33_600_000 as Weight)
+		(33_450_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:2 w:2)
 	fn force_transfer() -> Weight {
-		(69_800_000 as Weight)
+		(68_560_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
 	// Storage: System Account (r:1 w:1)
 	fn transfer_all() -> Weight {
-		(64_000_000 as Weight)
+		(62_591_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
diff --git a/runtime/src/weights/pallet_multisig.rs b/runtime/src/weights/pallet_multisig.rs
index f719466..c982550 100644
--- a/runtime/src/weights/pallet_multisig.rs
+++ b/runtime/src/weights/pallet_multisig.rs
@@ -2,11 +2,11 @@
 //! Autogenerated weights for `pallet_multisig`
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2021-10-05, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2021-10-14, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("integritee-solo-fresh"), DB CACHE: 128
 
 // Executed Command:
-// ./target/release/integritee-node
+// target/release/integritee-node
 // benchmark
 // --chain=integritee-solo-fresh
 // --steps=50
@@ -16,7 +16,7 @@
 // --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./runtime/src/weights/pallet_multisig.rs
+// --output=runtime/src/weights/pallet_multisig.rs
 
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
@@ -30,16 +30,16 @@ use sp_std::marker::PhantomData;
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
 	fn as_multi_threshold_1(z: u32, ) -> Weight {
-		(6_330_000 as Weight)
+		(5_896_000 as Weight)
 			// Standard Error: 0
 			.saturating_add((1_000 as Weight).saturating_mul(z as Weight))
 	}
 	// Storage: Multisig Multisigs (r:1 w:1)
 	// Storage: unknown [0x3a65787472696e7369635f696e646578] (r:1 w:0)
 	fn as_multi_create(s: u32, z: u32, ) -> Weight {
-		(51_321_000 as Weight)
-			// Standard Error: 73_000
-			.saturating_add((281_000 as Weight).saturating_mul(s as Weight))
+		(47_432_000 as Weight)
+			// Standard Error: 7_000
+			.saturating_add((285_000 as Weight).saturating_mul(s as Weight))
 			// Standard Error: 0
 			.saturating_add((2_000 as Weight).saturating_mul(z as Weight))
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
@@ -49,17 +49,19 @@ impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
 	// Storage: Multisig Calls (r:1 w:1)
 	// Storage: unknown [0x3a65787472696e7369635f696e646578] (r:1 w:0)
 	fn as_multi_create_store(s: u32, z: u32, ) -> Weight {
-		(57_103_000 as Weight)
-			// Standard Error: 115_000
-			.saturating_add((796_000 as Weight).saturating_mul(s as Weight))
+		(51_683_000 as Weight)
+			// Standard Error: 8_000
+			.saturating_add((408_000 as Weight).saturating_mul(s as Weight))
 			// Standard Error: 0
 			.saturating_add((3_000 as Weight).saturating_mul(z as Weight))
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
 	// Storage: Multisig Multisigs (r:1 w:1)
-	fn as_multi_approve(_s: u32, z: u32, ) -> Weight {
-		(31_382_000 as Weight)
+	fn as_multi_approve(s: u32, z: u32, ) -> Weight {
+		(28_039_000 as Weight)
+			// Standard Error: 6_000
+			.saturating_add((236_000 as Weight).saturating_mul(s as Weight))
 			// Standard Error: 0
 			.saturating_add((2_000 as Weight).saturating_mul(z as Weight))
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
@@ -68,39 +70,41 @@ impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
 	// Storage: Multisig Multisigs (r:1 w:1)
 	// Storage: Multisig Calls (r:1 w:1)
 	fn as_multi_approve_store(s: u32, z: u32, ) -> Weight {
-		(50_606_000 as Weight)
-			// Standard Error: 87_000
-			.saturating_add((412_000 as Weight).saturating_mul(s as Weight))
+		(50_363_000 as Weight)
+			// Standard Error: 9_000
+			.saturating_add((356_000 as Weight).saturating_mul(s as Weight))
 			// Standard Error: 0
-			.saturating_add((4_000 as Weight).saturating_mul(z as Weight))
+			.saturating_add((3_000 as Weight).saturating_mul(z as Weight))
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
 	// Storage: Multisig Multisigs (r:1 w:1)
 	// Storage: Multisig Calls (r:1 w:1)
 	// Storage: System Account (r:1 w:1)
-	fn as_multi_complete(_s: u32, z: u32, ) -> Weight {
-		(76_985_000 as Weight)
+	fn as_multi_complete(s: u32, z: u32, ) -> Weight {
+		(65_416_000 as Weight)
+			// Standard Error: 9_000
+			.saturating_add((459_000 as Weight).saturating_mul(s as Weight))
 			// Standard Error: 0
-			.saturating_add((5_000 as Weight).saturating_mul(z as Weight))
+			.saturating_add((4_000 as Weight).saturating_mul(z as Weight))
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(3 as Weight))
 	}
 	// Storage: Multisig Multisigs (r:1 w:1)
 	// Storage: unknown [0x3a65787472696e7369635f696e646578] (r:1 w:0)
 	fn approve_as_multi_create(s: u32, ) -> Weight {
-		(45_893_000 as Weight)
-			// Standard Error: 46_000
-			.saturating_add((447_000 as Weight).saturating_mul(s as Weight))
+		(45_215_000 as Weight)
+			// Standard Error: 15_000
+			.saturating_add((484_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
 	// Storage: Multisig Multisigs (r:1 w:1)
 	// Storage: Multisig Calls (r:1 w:0)
 	fn approve_as_multi_approve(s: u32, ) -> Weight {
-		(28_533_000 as Weight)
-			// Standard Error: 22_000
-			.saturating_add((158_000 as Weight).saturating_mul(s as Weight))
+		(27_906_000 as Weight)
+			// Standard Error: 28_000
+			.saturating_add((138_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
@@ -108,18 +112,18 @@ impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
 	// Storage: Multisig Calls (r:1 w:1)
 	// Storage: System Account (r:1 w:1)
 	fn approve_as_multi_complete(s: u32, ) -> Weight {
-		(114_475_000 as Weight)
-			// Standard Error: 132_000
-			.saturating_add((1_011_000 as Weight).saturating_mul(s as Weight))
+		(107_320_000 as Weight)
+			// Standard Error: 13_000
+			.saturating_add((483_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(3 as Weight))
 	}
 	// Storage: Multisig Multisigs (r:1 w:1)
 	// Storage: Multisig Calls (r:1 w:1)
 	fn cancel_as_multi(s: u32, ) -> Weight {
-		(84_035_000 as Weight)
-			// Standard Error: 64_000
-			.saturating_add((494_000 as Weight).saturating_mul(s as Weight))
+		(79_773_000 as Weight)
+			// Standard Error: 9_000
+			.saturating_add((383_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
diff --git a/runtime/src/weights/pallet_proxy.rs b/runtime/src/weights/pallet_proxy.rs
index bc086f9..cebba85 100644
--- a/runtime/src/weights/pallet_proxy.rs
+++ b/runtime/src/weights/pallet_proxy.rs
@@ -2,11 +2,11 @@
 //! Autogenerated weights for `pallet_proxy`
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2021-10-05, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2021-10-14, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("integritee-solo-fresh"), DB CACHE: 128
 
 // Executed Command:
-// ./target/release/integritee-node
+// target/release/integritee-node
 // benchmark
 // --chain=integritee-solo-fresh
 // --steps=50
@@ -16,7 +16,7 @@
 // --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./runtime/src/weights/pallet_proxy.rs
+// --output=runtime/src/weights/pallet_proxy.rs
 
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
@@ -31,40 +31,38 @@ pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 	// Storage: Proxy Proxies (r:1 w:0)
 	fn proxy(p: u32, ) -> Weight {
-		(20_799_000 as Weight)
-			// Standard Error: 6_000
-			.saturating_add((189_000 as Weight).saturating_mul(p as Weight))
+		(19_524_000 as Weight)
+			// Standard Error: 1_000
+			.saturating_add((167_000 as Weight).saturating_mul(p as Weight))
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 	}
 	// Storage: Proxy Proxies (r:1 w:0)
 	// Storage: Proxy Announcements (r:1 w:1)
 	// Storage: System Account (r:1 w:1)
 	fn proxy_announced(a: u32, p: u32, ) -> Weight {
-		(55_316_000 as Weight)
-			// Standard Error: 8_000
-			.saturating_add((450_000 as Weight).saturating_mul(a as Weight))
-			// Standard Error: 9_000
-			.saturating_add((106_000 as Weight).saturating_mul(p as Weight))
+		(49_580_000 as Weight)
+			// Standard Error: 2_000
+			.saturating_add((532_000 as Weight).saturating_mul(a as Weight))
+			// Standard Error: 2_000
+			.saturating_add((130_000 as Weight).saturating_mul(p as Weight))
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
 	// Storage: Proxy Announcements (r:1 w:1)
 	// Storage: System Account (r:1 w:1)
-	fn remove_announcement(a: u32, p: u32, ) -> Weight {
-		(34_254_000 as Weight)
-			// Standard Error: 43_000
-			.saturating_add((563_000 as Weight).saturating_mul(a as Weight))
-			// Standard Error: 45_000
-			.saturating_add((194_000 as Weight).saturating_mul(p as Weight))
+	fn remove_announcement(a: u32, _p: u32, ) -> Weight {
+		(33_393_000 as Weight)
+			// Standard Error: 2_000
+			.saturating_add((558_000 as Weight).saturating_mul(a as Weight))
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
 	// Storage: Proxy Announcements (r:1 w:1)
 	// Storage: System Account (r:1 w:1)
 	fn reject_announcement(a: u32, _p: u32, ) -> Weight {
-		(37_598_000 as Weight)
-			// Standard Error: 8_000
-			.saturating_add((523_000 as Weight).saturating_mul(a as Weight))
+		(33_569_000 as Weight)
+			// Standard Error: 2_000
+			.saturating_add((547_000 as Weight).saturating_mul(a as Weight))
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
@@ -72,52 +70,52 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 	// Storage: Proxy Announcements (r:1 w:1)
 	// Storage: System Account (r:1 w:1)
 	fn announce(a: u32, p: u32, ) -> Weight {
-		(50_571_000 as Weight)
-			// Standard Error: 35_000
-			.saturating_add((717_000 as Weight).saturating_mul(a as Weight))
-			// Standard Error: 36_000
-			.saturating_add((15_000 as Weight).saturating_mul(p as Weight))
+		(47_031_000 as Weight)
+			// Standard Error: 2_000
+			.saturating_add((534_000 as Weight).saturating_mul(a as Weight))
+			// Standard Error: 2_000
+			.saturating_add((138_000 as Weight).saturating_mul(p as Weight))
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
 	// Storage: Proxy Proxies (r:1 w:1)
 	fn add_proxy(p: u32, ) -> Weight {
-		(40_812_000 as Weight)
-			// Standard Error: 6_000
-			.saturating_add((264_000 as Weight).saturating_mul(p as Weight))
+		(38_143_000 as Weight)
+			// Standard Error: 3_000
+			.saturating_add((231_000 as Weight).saturating_mul(p as Weight))
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
 	// Storage: Proxy Proxies (r:1 w:1)
 	fn remove_proxy(p: u32, ) -> Weight {
-		(30_914_000 as Weight)
-			// Standard Error: 6_000
-			.saturating_add((300_000 as Weight).saturating_mul(p as Weight))
+		(30_879_000 as Weight)
+			// Standard Error: 3_000
+			.saturating_add((257_000 as Weight).saturating_mul(p as Weight))
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
 	// Storage: Proxy Proxies (r:1 w:1)
 	fn remove_proxies(p: u32, ) -> Weight {
-		(30_033_000 as Weight)
-			// Standard Error: 6_000
-			.saturating_add((224_000 as Weight).saturating_mul(p as Weight))
+		(30_317_000 as Weight)
+			// Standard Error: 1_000
+			.saturating_add((166_000 as Weight).saturating_mul(p as Weight))
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
 	// Storage: unknown [0x3a65787472696e7369635f696e646578] (r:1 w:0)
 	// Storage: Proxy Proxies (r:1 w:1)
 	fn anonymous(p: u32, ) -> Weight {
-		(42_555_000 as Weight)
-			// Standard Error: 15_000
-			.saturating_add((182_000 as Weight).saturating_mul(p as Weight))
+		(43_591_000 as Weight)
+			// Standard Error: 1_000
+			.saturating_add((41_000 as Weight).saturating_mul(p as Weight))
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
 	// Storage: Proxy Proxies (r:1 w:1)
 	fn kill_anonymous(p: u32, ) -> Weight {
-		(36_447_000 as Weight)
-			// Standard Error: 12_000
-			.saturating_add((150_000 as Weight).saturating_mul(p as Weight))
+		(32_349_000 as Weight)
+			// Standard Error: 2_000
+			.saturating_add((161_000 as Weight).saturating_mul(p as Weight))
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
diff --git a/runtime/src/weights/pallet_scheduler.rs b/runtime/src/weights/pallet_scheduler.rs
index 318f99c..c0221a4 100644
--- a/runtime/src/weights/pallet_scheduler.rs
+++ b/runtime/src/weights/pallet_scheduler.rs
@@ -2,11 +2,11 @@
 //! Autogenerated weights for `pallet_scheduler`
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2021-10-05, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2021-10-14, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("integritee-solo-fresh"), DB CACHE: 128
 
 // Executed Command:
-// ./target/release/integritee-node
+// target/release/integritee-node
 // benchmark
 // --chain=integritee-solo-fresh
 // --steps=50
@@ -16,7 +16,7 @@
 // --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./runtime/src/weights/pallet_scheduler.rs
+// --output=runtime/src/weights/pallet_scheduler.rs
 
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
@@ -31,36 +31,36 @@ pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	// Storage: Scheduler Agenda (r:1 w:1)
 	fn schedule(s: u32, ) -> Weight {
-		(25_942_000 as Weight)
-			// Standard Error: 11_000
-			.saturating_add((84_000 as Weight).saturating_mul(s as Weight))
+		(21_912_000 as Weight)
+			// Standard Error: 0
+			.saturating_add((95_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))
 	}
 	// Storage: Scheduler Agenda (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn cancel(s: u32, ) -> Weight {
-		(21_862_000 as Weight)
-			// Standard Error: 4_000
-			.saturating_add((843_000 as Weight).saturating_mul(s as Weight))
+		(20_868_000 as Weight)
+			// Standard Error: 1_000
+			.saturating_add((828_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
 	// Storage: Scheduler Lookup (r:1 w:1)
 	// Storage: Scheduler Agenda (r:1 w:1)
 	fn schedule_named(s: u32, ) -> Weight {
-		(28_447_000 as Weight)
-			// Standard Error: 12_000
-			.saturating_add((199_000 as Weight).saturating_mul(s as Weight))
+		(27_851_000 as Weight)
+			// Standard Error: 1_000
+			.saturating_add((114_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
 	// Storage: Scheduler Lookup (r:1 w:1)
 	// Storage: Scheduler Agenda (r:1 w:1)
 	fn cancel_named(s: u32, ) -> Weight {
-		(24_121_000 as Weight)
-			// Standard Error: 6_000
-			.saturating_add((869_000 as Weight).saturating_mul(s as Weight))
+		(23_520_000 as Weight)
+			// Standard Error: 2_000
+			.saturating_add((836_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
diff --git a/runtime/src/weights/pallet_teerex.rs b/runtime/src/weights/pallet_teerex.rs
index 6e9346c..7b92e31 100644
--- a/runtime/src/weights/pallet_teerex.rs
+++ b/runtime/src/weights/pallet_teerex.rs
@@ -2,11 +2,11 @@
 //! Autogenerated weights for `pallet_teerex`
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2021-10-05, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2021-10-14, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("integritee-solo-fresh"), DB CACHE: 128
 
 // Executed Command:
-// ./target/release/integritee-node
+// target/release/integritee-node
 // benchmark
 // --chain=integritee-solo-fresh
 // --steps=50
@@ -16,7 +16,7 @@
 // --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./runtime/src/weights/pallet_teerex.rs
+// --output=runtime/src/weights/pallet_teerex.rs
 
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
@@ -34,7 +34,7 @@ impl<T: frame_system::Config> pallet_teerex::WeightInfo for WeightInfo<T> {
 	// Storage: Teerex EnclaveIndex (r:1 w:0)
 	// Storage: Teerex EnclaveRegistry (r:0 w:1)
 	fn register_enclave() -> Weight {
-		(1_882_600_000 as Weight)
+		(1_452_974_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
@@ -42,18 +42,18 @@ impl<T: frame_system::Config> pallet_teerex::WeightInfo for WeightInfo<T> {
 	// Storage: Teerex EnclaveCount (r:1 w:1)
 	// Storage: Teerex EnclaveRegistry (r:1 w:2)
 	fn unregister_enclave() -> Weight {
-		(40_900_000 as Weight)
+		(38_195_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(5 as Weight))
 	}
 	fn call_worker() -> Weight {
-		(57_000_000 as Weight)
+		(26_979_000 as Weight)
 	}
 	// Storage: Teerex EnclaveIndex (r:1 w:0)
 	// Storage: Teerex WorkerForShard (r:0 w:1)
 	// Storage: Teerex LatestIpfsHash (r:0 w:1)
 	fn confirm_call() -> Weight {
-		(39_200_000 as Weight)
+		(34_119_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
@@ -61,7 +61,7 @@ impl<T: frame_system::Config> pallet_teerex::WeightInfo for WeightInfo<T> {
 	// Storage: Teerex WorkerForShard (r:0 w:1)
 	// Storage: Teerex LatestIpfsHash (r:0 w:1)
 	fn confirm_block() -> Weight {
-		(35_500_000 as Weight)
+		(34_333_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
diff --git a/runtime/src/weights/pallet_timestamp.rs b/runtime/src/weights/pallet_timestamp.rs
index 1fc9faa..1ba26d9 100644
--- a/runtime/src/weights/pallet_timestamp.rs
+++ b/runtime/src/weights/pallet_timestamp.rs
@@ -2,11 +2,11 @@
 //! Autogenerated weights for `pallet_timestamp`
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2021-10-05, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2021-10-14, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("integritee-solo-fresh"), DB CACHE: 128
 
 // Executed Command:
-// ./target/release/integritee-node
+// target/release/integritee-node
 // benchmark
 // --chain=integritee-solo-fresh
 // --steps=50
@@ -16,7 +16,7 @@
 // --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./runtime/src/weights/pallet_timestamp.rs
+// --output=runtime/src/weights/pallet_timestamp.rs
 
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
@@ -33,11 +33,11 @@ impl<T: frame_system::Config> pallet_timestamp::WeightInfo for WeightInfo<T> {
 	// Storage: Aura CurrentSlot (r:1 w:0)
 	// Storage: Teerex EnclaveRegistry (r:1 w:0)
 	fn set() -> Weight {
-		(13_900_000 as Weight)
+		(13_871_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
 	fn on_finalize() -> Weight {
-		(4_400_000 as Weight)
+		(4_159_000 as Weight)
 	}
 }
diff --git a/runtime/src/weights/pallet_treasury.rs b/runtime/src/weights/pallet_treasury.rs
index d7b58ff..c9c2055 100644
--- a/runtime/src/weights/pallet_treasury.rs
+++ b/runtime/src/weights/pallet_treasury.rs
@@ -2,11 +2,11 @@
 //! Autogenerated weights for `pallet_treasury`
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2021-10-05, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2021-10-14, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("integritee-solo-fresh"), DB CACHE: 128
 
 // Executed Command:
-// ./target/release/integritee-node
+// target/release/integritee-node
 // benchmark
 // --chain=integritee-solo-fresh
 // --steps=50
@@ -16,7 +16,7 @@
 // --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./runtime/src/weights/pallet_treasury.rs
+// --output=runtime/src/weights/pallet_treasury.rs
 
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
@@ -32,23 +32,23 @@ impl<T: frame_system::Config> pallet_treasury::WeightInfo for WeightInfo<T> {
 	// Storage: Treasury ProposalCount (r:1 w:1)
 	// Storage: Treasury Proposals (r:0 w:1)
 	fn propose_spend() -> Weight {
-		(38_700_000 as Weight)
+		(36_386_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
 	// Storage: Treasury Proposals (r:1 w:1)
 	// Storage: System Account (r:1 w:1)
 	fn reject_proposal() -> Weight {
-		(35_400_000 as Weight)
+		(32_865_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
 	// Storage: Treasury Proposals (r:1 w:0)
 	// Storage: Treasury Approvals (r:1 w:1)
 	fn approve_proposal(p: u32, ) -> Weight {
-		(10_678_000 as Weight)
-			// Standard Error: 13_000
-			.saturating_add((228_000 as Weight).saturating_mul(p as Weight))
+		(9_706_000 as Weight)
+			// Standard Error: 10_000
+			.saturating_add((264_000 as Weight).saturating_mul(p as Weight))
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
@@ -56,9 +56,9 @@ impl<T: frame_system::Config> pallet_treasury::WeightInfo for WeightInfo<T> {
 	// Storage: Treasury Proposals (r:1 w:1)
 	// Storage: System Account (r:2 w:2)
 	fn on_initialize_proposals(p: u32, ) -> Weight {
-		(41_279_000 as Weight)
-			// Standard Error: 406_000
-			.saturating_add((55_173_000 as Weight).saturating_mul(p as Weight))
+		(44_666_000 as Weight)
+			// Standard Error: 94_000
+			.saturating_add((53_175_000 as Weight).saturating_mul(p as Weight))
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(p as Weight)))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
diff --git a/runtime/src/weights/pallet_utility.rs b/runtime/src/weights/pallet_utility.rs
new file mode 100644
index 0000000..95c98f0
--- /dev/null
+++ b/runtime/src/weights/pallet_utility.rs
@@ -0,0 +1,45 @@
+
+//! Autogenerated weights for `pallet_utility`
+//!
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2021-10-14, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("integritee-solo-fresh"), DB CACHE: 128
+
+// Executed Command:
+// target/release/integritee-node
+// benchmark
+// --chain=integritee-solo-fresh
+// --steps=50
+// --repeat=20
+// --pallet=pallet_utility
+// --extrinsic=*
+// --execution=wasm
+// --wasm-execution=compiled
+// --heap-pages=4096
+// --output=runtime/src/weights/pallet_utility.rs
+
+
+#![cfg_attr(rustfmt, rustfmt_skip)]
+#![allow(unused_parens)]
+#![allow(unused_imports)]
+
+use frame_support::{traits::Get, weights::Weight};
+use sp_std::marker::PhantomData;
+
+/// Weight functions for pallet_utility.
+pub struct WeightInfo<T>(PhantomData<T>);
+impl<T: frame_system::Config> pallet_utility::WeightInfo for WeightInfo<T> {
+	fn batch(c: u32, ) -> Weight {
+		(16_207_000 as Weight)
+			// Standard Error: 3_000
+			.saturating_add((5_916_000 as Weight).saturating_mul(c as Weight))
+	}
+	fn as_derivative() -> Weight {
+		(3_423_000 as Weight)
+	}
+	fn batch_all(c: u32, ) -> Weight {
+		(22_059_000 as Weight)
+			// Standard Error: 3_000
+			.saturating_add((6_372_000 as Weight).saturating_mul(c as Weight))
+	}
+}
diff --git a/runtime/src/weights/pallet_vesting.rs b/runtime/src/weights/pallet_vesting.rs
index 493b15f..6aae857 100644
--- a/runtime/src/weights/pallet_vesting.rs
+++ b/runtime/src/weights/pallet_vesting.rs
@@ -2,11 +2,11 @@
 //! Autogenerated weights for `pallet_vesting`
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2021-10-05, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2021-10-14, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("integritee-solo-fresh"), DB CACHE: 128
 
 // Executed Command:
-// ./target/release/integritee-node
+// target/release/integritee-node
 // benchmark
 // --chain=integritee-solo-fresh
 // --steps=50
@@ -16,7 +16,7 @@
 // --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./runtime/src/weights/pallet_vesting.rs
+// --output=runtime/src/weights/pallet_vesting.rs
 
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
@@ -32,22 +32,22 @@ impl<T: frame_system::Config> pallet_vesting::WeightInfo for WeightInfo<T> {
 	// Storage: Vesting Vesting (r:1 w:1)
 	// Storage: Balances Locks (r:1 w:1)
 	fn vest_locked(l: u32, s: u32, ) -> Weight {
-		(46_716_000 as Weight)
-			// Standard Error: 11_000
-			.saturating_add((135_000 as Weight).saturating_mul(l as Weight))
-			// Standard Error: 22_000
-			.saturating_add((322_000 as Weight).saturating_mul(s as Weight))
+		(44_220_000 as Weight)
+			// Standard Error: 1_000
+			.saturating_add((154_000 as Weight).saturating_mul(l as Weight))
+			// Standard Error: 2_000
+			.saturating_add((178_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
 	// Storage: Vesting Vesting (r:1 w:1)
 	// Storage: Balances Locks (r:1 w:1)
 	fn vest_unlocked(l: u32, s: u32, ) -> Weight {
-		(49_665_000 as Weight)
-			// Standard Error: 4_000
-			.saturating_add((124_000 as Weight).saturating_mul(l as Weight))
-			// Standard Error: 9_000
-			.saturating_add((54_000 as Weight).saturating_mul(s as Weight))
+		(44_301_000 as Weight)
+			// Standard Error: 1_000
+			.saturating_add((132_000 as Weight).saturating_mul(l as Weight))
+			// Standard Error: 2_000
+			.saturating_add((115_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(2 as Weight))
 	}
@@ -55,11 +55,11 @@ impl<T: frame_system::Config> pallet_vesting::WeightInfo for WeightInfo<T> {
 	// Storage: Balances Locks (r:1 w:1)
 	// Storage: System Account (r:1 w:1)
 	fn vest_other_locked(l: u32, s: u32, ) -> Weight {
-		(43_259_000 as Weight)
-			// Standard Error: 29_000
-			.saturating_add((475_000 as Weight).saturating_mul(l as Weight))
-			// Standard Error: 59_000
-			.saturating_add((772_000 as Weight).saturating_mul(s as Weight))
+		(44_914_000 as Weight)
+			// Standard Error: 1_000
+			.saturating_add((152_000 as Weight).saturating_mul(l as Weight))
+			// Standard Error: 2_000
+			.saturating_add((172_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(3 as Weight))
 	}
@@ -67,11 +67,11 @@ impl<T: frame_system::Config> pallet_vesting::WeightInfo for WeightInfo<T> {
 	// Storage: Balances Locks (r:1 w:1)
 	// Storage: System Account (r:1 w:1)
 	fn vest_other_unlocked(l: u32, s: u32, ) -> Weight {
-		(57_368_000 as Weight)
-			// Standard Error: 24_000
-			.saturating_add((342_000 as Weight).saturating_mul(l as Weight))
-			// Standard Error: 48_000
-			.saturating_add((261_000 as Weight).saturating_mul(s as Weight))
+		(44_267_000 as Weight)
+			// Standard Error: 1_000
+			.saturating_add((142_000 as Weight).saturating_mul(l as Weight))
+			// Standard Error: 2_000
+			.saturating_add((123_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(3 as Weight))
 	}
@@ -79,19 +79,23 @@ impl<T: frame_system::Config> pallet_vesting::WeightInfo for WeightInfo<T> {
 	// Storage: System Account (r:1 w:1)
 	// Storage: Balances Locks (r:1 w:1)
 	fn vested_transfer(l: u32, s: u32, ) -> Weight {
-		(102_167_000 as Weight)
-			// Standard Error: 35_000
-			.saturating_add((85_000 as Weight).saturating_mul(l as Weight))
-			// Standard Error: 72_000
-			.saturating_add((454_000 as Weight).saturating_mul(s as Weight))
+		(78_158_000 as Weight)
+			// Standard Error: 4_000
+			.saturating_add((129_000 as Weight).saturating_mul(l as Weight))
+			// Standard Error: 8_000
+			.saturating_add((91_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(3 as Weight))
 	}
 	// Storage: Vesting Vesting (r:1 w:1)
 	// Storage: System Account (r:2 w:2)
 	// Storage: Balances Locks (r:1 w:1)
-	fn force_vested_transfer(_l: u32, _s: u32, ) -> Weight {
-		(128_327_000 as Weight)
+	fn force_vested_transfer(l: u32, s: u32, ) -> Weight {
+		(78_213_000 as Weight)
+			// Standard Error: 4_000
+			.saturating_add((126_000 as Weight).saturating_mul(l as Weight))
+			// Standard Error: 8_000
+			.saturating_add((98_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(4 as Weight))
 			.saturating_add(T::DbWeight::get().writes(4 as Weight))
 	}
@@ -99,11 +103,11 @@ impl<T: frame_system::Config> pallet_vesting::WeightInfo for WeightInfo<T> {
 	// Storage: Balances Locks (r:1 w:1)
 	// Storage: System Account (r:1 w:1)
 	fn not_unlocking_merge_schedules(l: u32, s: u32, ) -> Weight {
-		(68_031_000 as Weight)
-			// Standard Error: 25_000
-			.saturating_add((226_000 as Weight).saturating_mul(l as Weight))
-			// Standard Error: 54_000
-			.saturating_add((378_000 as Weight).saturating_mul(s as Weight))
+		(46_298_000 as Weight)
+			// Standard Error: 1_000
+			.saturating_add((144_000 as Weight).saturating_mul(l as Weight))
+			// Standard Error: 2_000
+			.saturating_add((177_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(3 as Weight))
 	}
@@ -111,11 +115,11 @@ impl<T: frame_system::Config> pallet_vesting::WeightInfo for WeightInfo<T> {
 	// Storage: Balances Locks (r:1 w:1)
 	// Storage: System Account (r:1 w:1)
 	fn unlocking_merge_schedules(l: u32, s: u32, ) -> Weight {
-		(68_829_000 as Weight)
-			// Standard Error: 22_000
-			.saturating_add((189_000 as Weight).saturating_mul(l as Weight))
-			// Standard Error: 47_000
-			.saturating_add((257_000 as Weight).saturating_mul(s as Weight))
+		(46_076_000 as Weight)
+			// Standard Error: 1_000
+			.saturating_add((148_000 as Weight).saturating_mul(l as Weight))
+			// Standard Error: 2_000
+			.saturating_add((176_000 as Weight).saturating_mul(s as Weight))
 			.saturating_add(T::DbWeight::get().reads(3 as Weight))
 			.saturating_add(T::DbWeight::get().writes(3 as Weight))
 	}
diff --git a/scripts/benchmark_all_pallets.sh b/scripts/benchmark_all_pallets.sh
index 6b32d95..7e3bb1f 100755
--- a/scripts/benchmark_all_pallets.sh
+++ b/scripts/benchmark_all_pallets.sh
@@ -23,6 +23,7 @@ pallets=(
   "pallet_teerex" \
   "pallet_treasury" \
   "pallet_vesting" \
+  "pallet_utility" \
 )
 
 for pallet in ${pallets[*]}; do

From f25bb2843b23d097660d482c09b101c614495fae Mon Sep 17 00:00:00 2001
From: Alain Brenzikofer <alain.brenzikofer@scs.ch>
Date: Thu, 14 Oct 2021 17:46:35 +0200
Subject: [PATCH 2/5] manual corrections

---
 runtime/src/weights/frame_system.rs | 4 ++--
 runtime/src/weights/mod.rs          | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/runtime/src/weights/frame_system.rs b/runtime/src/weights/frame_system.rs
index 5096bec..42bf45c 100644
--- a/runtime/src/weights/frame_system.rs
+++ b/runtime/src/weights/frame_system.rs
@@ -30,7 +30,7 @@ use sp_std::marker::PhantomData;
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
 	fn remark(b: u32, ) -> Weight {
-		(0 as Weight)
+		(574_000 as Weight)
 			// Standard Error: 0
 			.saturating_add((1_000 as Weight).saturating_mul(b as Weight))
 	}
@@ -60,7 +60,7 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
 	}
 	// Storage: Skipped Metadata (r:0 w:0)
 	fn kill_storage(i: u32, ) -> Weight {
-		(0 as Weight)
+		(2_052_000 as Weight)
 			// Standard Error: 0
 			.saturating_add((556_000 as Weight).saturating_mul(i as Weight))
 			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(i as Weight)))
diff --git a/runtime/src/weights/mod.rs b/runtime/src/weights/mod.rs
index f6fe957..637c8ca 100644
--- a/runtime/src/weights/mod.rs
+++ b/runtime/src/weights/mod.rs
@@ -1,9 +1,9 @@
 //! The weights used in the runtime
 //!
 //! The current weights have been obtained with the following reference hardware:
-//! * Core(TM) i7-10875H
+//! * Intel(R) Xeon(R) E-2276G CPU @ 3.80 GHz
 //! * 32GB of RAM
-//! * NVMe SSD
+//! * 1TB SSD Samsung 860 EVO Basic, 2.5"
 
 // the generated files to not pass clippy
 #![allow(clippy::all)]

From acc1904c5ccf205c59fe20a1e09e9c4ad0646018 Mon Sep 17 00:00:00 2001
From: Alain Brenzikofer <alain.brenzikofer@scs.ch>
Date: Thu, 14 Oct 2021 17:50:34 +0200
Subject: [PATCH 3/5] fmt

---
 runtime/src/lib.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs
index c03b748..192f3e4 100644
--- a/runtime/src/lib.rs
+++ b/runtime/src/lib.rs
@@ -570,7 +570,7 @@ construct_runtime!(
 		Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event<T>} = 30,
 
 		// utility
-		Teerex: pallet_teerex::{Pallet, Call, Config, Storage, Event<T>} = 50,	
+		Teerex: pallet_teerex::{Pallet, Call, Config, Storage, Event<T>} = 50,
 	}
 );
 

From b42036a0eda7d5f99805dc64ed1c313e6a47bd96 Mon Sep 17 00:00:00 2001
From: Alain Brenzikofer <news@brenzi.ch>
Date: Fri, 15 Oct 2021 22:07:38 +0200
Subject: [PATCH 4/5] missing weight inserting

---
 runtime/src/lib.rs         | 2 +-
 runtime/src/weights/mod.rs | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs
index 192f3e4..a9c1dba 100644
--- a/runtime/src/lib.rs
+++ b/runtime/src/lib.rs
@@ -537,7 +537,7 @@ impl pallet_scheduler::Config for Runtime {
 impl pallet_utility::Config for Runtime {
 	type Event = Event;
 	type Call = Call;
-	type WeightInfo = ();
+	type WeightInfo = weights::pallet_utility::WeightInfo<Runtime>;
 }
 
 // Create the runtime by composing the FRAME pallets that were previously configured.
diff --git a/runtime/src/weights/mod.rs b/runtime/src/weights/mod.rs
index 637c8ca..98661b3 100644
--- a/runtime/src/weights/mod.rs
+++ b/runtime/src/weights/mod.rs
@@ -22,3 +22,4 @@ pub mod pallet_teerex;
 pub mod pallet_timestamp;
 pub mod pallet_treasury;
 pub mod pallet_vesting;
+pub mod pallet_utility;

From 87a9f71bdd37a2508f7bb5c084ebc7eba860b5cb Mon Sep 17 00:00:00 2001
From: Alain Brenzikofer <news@brenzi.ch>
Date: Sat, 16 Oct 2021 08:50:22 +0200
Subject: [PATCH 5/5] fmt

---
 runtime/src/weights/mod.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/runtime/src/weights/mod.rs b/runtime/src/weights/mod.rs
index 98661b3..289f857 100644
--- a/runtime/src/weights/mod.rs
+++ b/runtime/src/weights/mod.rs
@@ -21,5 +21,5 @@ pub mod pallet_scheduler;
 pub mod pallet_teerex;
 pub mod pallet_timestamp;
 pub mod pallet_treasury;
-pub mod pallet_vesting;
 pub mod pallet_utility;
+pub mod pallet_vesting;