From 72309bd82edbf923955bd81ff4e8142c55db5bbc Mon Sep 17 00:00:00 2001
From: Maksym H <1177472+mordamax@users.noreply.github.com>
Date: Thu, 3 Oct 2024 22:34:38 +0200
Subject: [PATCH] Re-establish pallet_revive weights baseline (#5845)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

- update baseline for pallet_revive
- update cmd pipeline name
- Fix compilation after renaming some of benchmarks in pallet_revive.
[Runtime Dev]. Changed the "instr" benchmark so that it should no longer
return to little weight. It is still bogus but at least benchmarking
should not work. (by @athei )

---------

Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Alexander Theißen <alex.theissen@me.com>
Co-authored-by: Alexander Samusev <41779041+alvicsam@users.noreply.github.com>
Co-authored-by: command-bot <>
---
 .github/workflows/cmd-tests.yml               |    2 +-
 prdoc/pr_5845.prdoc                           |   15 +
 .../fixtures/contracts/instr_benchmark.rs     |   12 +-
 .../frame/revive/src/benchmarking/mod.rs      |    4 +-
 substrate/frame/revive/src/gas.rs             |    4 +-
 substrate/frame/revive/src/lib.rs             |    2 +-
 substrate/frame/revive/src/wasm/runtime.rs    |    8 +-
 substrate/frame/revive/src/weights.rs         | 1703 ++++++++---------
 8 files changed, 785 insertions(+), 965 deletions(-)
 create mode 100644 prdoc/pr_5845.prdoc

diff --git a/.github/workflows/cmd-tests.yml b/.github/workflows/cmd-tests.yml
index 37f1747d0b9..af73c6a5b2d 100644
--- a/.github/workflows/cmd-tests.yml
+++ b/.github/workflows/cmd-tests.yml
@@ -11,7 +11,7 @@ concurrency:
   cancel-in-progress: true
 
 jobs:
-  test:
+  test-cmd-bot:
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@v4
diff --git a/prdoc/pr_5845.prdoc b/prdoc/pr_5845.prdoc
new file mode 100644
index 00000000000..6b214d7599b
--- /dev/null
+++ b/prdoc/pr_5845.prdoc
@@ -0,0 +1,15 @@
+# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0
+# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json
+
+title: Fix compilation after renaming some of benchmarks in pallet_revive.
+
+doc:
+  - audience: Runtime Dev
+    description: |
+      Changed the "instr" benchmark so that it should no longer return to little weight. It is still bogus but at least benchmarking should not work.
+
+crates:
+  - name: pallet-revive
+    bump: patch
+  - name: pallet-revive-fixtures 
+    bump: major
\ No newline at end of file
diff --git a/substrate/frame/revive/fixtures/contracts/instr_benchmark.rs b/substrate/frame/revive/fixtures/contracts/instr_benchmark.rs
index c5fb382c327..0492652b0d0 100644
--- a/substrate/frame/revive/fixtures/contracts/instr_benchmark.rs
+++ b/substrate/frame/revive/fixtures/contracts/instr_benchmark.rs
@@ -22,6 +22,8 @@ extern crate common;
 use common::input;
 use uapi::{HostFn, HostFnImpl as api, ReturnFlags};
 
+static mut MULT: [u32; 5_000] = [1u32; 5_000];
+
 #[no_mangle]
 #[polkavm_derive::polkavm_export]
 pub extern "C" fn deploy() {}
@@ -29,13 +31,13 @@ pub extern "C" fn deploy() {}
 #[no_mangle]
 #[polkavm_derive::polkavm_export]
 pub extern "C" fn call() {
-	input!(rounds: u32, start: u32, div: u32, mult: u32, add: u32, );
+	input!(rounds: u32, );
 
-	let mut acc = start;
+	let mut acc = 5;
 
-	for _ in 0..rounds {
-		acc = acc / div * mult + add;
+	for i in 0..rounds {
+		acc = acc * unsafe { MULT[i as usize] }
 	}
 
-	api::return_value(ReturnFlags::empty(), start.to_le_bytes().as_ref());
+	api::return_value(ReturnFlags::empty(), acc.to_le_bytes().as_ref());
 }
diff --git a/substrate/frame/revive/src/benchmarking/mod.rs b/substrate/frame/revive/src/benchmarking/mod.rs
index cbc4cc62d48..acca876f376 100644
--- a/substrate/frame/revive/src/benchmarking/mod.rs
+++ b/substrate/frame/revive/src/benchmarking/mod.rs
@@ -1727,11 +1727,9 @@ mod benchmarks {
 	// Benchmark the execution of instructions.
 	#[benchmark(pov_mode = Ignored)]
 	fn instr(r: Linear<0, INSTR_BENCHMARK_RUNS>) {
-		// (round, start, div, mult, add)
-		let input = (r, 1_000u32, 2u32, 3u32, 100u32).encode();
 		let mut setup = CallSetup::<T>::new(WasmModule::instr());
 		let (mut ext, module) = setup.ext();
-		let prepared = CallSetup::<T>::prepare_call(&mut ext, module, input);
+		let prepared = CallSetup::<T>::prepare_call(&mut ext, module, r.encode());
 		#[block]
 		{
 			prepared.call().unwrap();
diff --git a/substrate/frame/revive/src/gas.rs b/substrate/frame/revive/src/gas.rs
index 2034f39e9bc..9aad84e6920 100644
--- a/substrate/frame/revive/src/gas.rs
+++ b/substrate/frame/revive/src/gas.rs
@@ -76,9 +76,7 @@ impl<T: Config> EngineMeter<T> {
 		// We execute 6 different instructions therefore we have to divide the actual
 		// computed gas costs by 6 to have a rough estimate as to how expensive each
 		// single executed instruction is going to be.
-		let instr_cost = T::WeightInfo::instr_i64_load_store(1)
-			.saturating_sub(T::WeightInfo::instr_i64_load_store(0))
-			.ref_time();
+		let instr_cost = T::WeightInfo::instr(1).saturating_sub(T::WeightInfo::instr(0)).ref_time();
 		instr_cost / 6
 	}
 }
diff --git a/substrate/frame/revive/src/lib.rs b/substrate/frame/revive/src/lib.rs
index 114d51c8969..91c5fa5563a 100644
--- a/substrate/frame/revive/src/lib.rs
+++ b/substrate/frame/revive/src/lib.rs
@@ -880,7 +880,7 @@ pub mod pallet {
 		/// only be instantiated by permissioned entities. The same is true when uploading
 		/// through [`Self::instantiate_with_code`].
 		#[pallet::call_index(3)]
-		#[pallet::weight(T::WeightInfo::upload_code_determinism_enforced(code.len() as u32))]
+		#[pallet::weight(T::WeightInfo::upload_code(code.len() as u32))]
 		pub fn upload_code(
 			origin: OriginFor<T>,
 			code: Vec<u8>,
diff --git a/substrate/frame/revive/src/wasm/runtime.rs b/substrate/frame/revive/src/wasm/runtime.rs
index 4b5a9a04eb7..56e3b685dcf 100644
--- a/substrate/frame/revive/src/wasm/runtime.rs
+++ b/substrate/frame/revive/src/wasm/runtime.rs
@@ -310,8 +310,8 @@ pub enum RuntimeCosts {
 	CallerIsRoot,
 	/// Weight of calling `seal_address`.
 	Address,
-	/// Weight of calling `seal_gas_left`.
-	GasLeft,
+	/// Weight of calling `seal_weight_left`.
+	WeightLeft,
 	/// Weight of calling `seal_balance`.
 	Balance,
 	/// Weight of calling `seal_balance_of`.
@@ -457,7 +457,7 @@ impl<T: Config> Token<T> for RuntimeCosts {
 			CallerIsOrigin => T::WeightInfo::seal_caller_is_origin(),
 			CallerIsRoot => T::WeightInfo::seal_caller_is_root(),
 			Address => T::WeightInfo::seal_address(),
-			GasLeft => T::WeightInfo::seal_gas_left(),
+			WeightLeft => T::WeightInfo::seal_weight_left(),
 			Balance => T::WeightInfo::seal_balance(),
 			BalanceOf => T::WeightInfo::seal_balance_of(),
 			ValueTransferred => T::WeightInfo::seal_value_transferred(),
@@ -1501,7 +1501,7 @@ pub mod env {
 		out_ptr: u32,
 		out_len_ptr: u32,
 	) -> Result<(), TrapReason> {
-		self.charge_gas(RuntimeCosts::GasLeft)?;
+		self.charge_gas(RuntimeCosts::WeightLeft)?;
 		let gas_left = &self.ext.gas_meter().gas_left().encode();
 		Ok(self.write_sandbox_output(
 			memory,
diff --git a/substrate/frame/revive/src/weights.rs b/substrate/frame/revive/src/weights.rs
index b66c28bdf7d..6586cd1fc9c 100644
--- a/substrate/frame/revive/src/weights.rs
+++ b/substrate/frame/revive/src/weights.rs
@@ -18,9 +18,9 @@
 //! Autogenerated weights for `pallet_revive`
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-07-17, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2024-10-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-yaoqqom-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! HOSTNAME: `runner-jniz7bxx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
 
 // Executed Command:
@@ -36,7 +36,7 @@
 // --pallet=pallet_revive
 // --chain=dev
 // --header=./substrate/HEADER-APACHE2
-// --output=./substrate/frame/contracts/src/weights.rs
+// --output=./substrate/frame/revive/src/weights.rs
 // --template=./substrate/.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
@@ -52,11 +52,10 @@ pub trait WeightInfo {
 	fn on_process_deletion_queue_batch() -> Weight;
 	fn on_initialize_per_trie_key(k: u32, ) -> Weight;
 	fn call_with_code_per_byte(c: u32, ) -> Weight;
-	fn instantiate_with_code(c: u32, i: u32) -> Weight;
-	fn instantiate(i: u32) -> Weight;
+	fn instantiate_with_code(c: u32, i: u32, ) -> Weight;
+	fn instantiate(i: u32, ) -> Weight;
 	fn call() -> Weight;
-	fn upload_code_determinism_enforced(c: u32, ) -> Weight;
-	fn upload_code_determinism_relaxed(c: u32, ) -> Weight;
+	fn upload_code(c: u32, ) -> Weight;
 	fn remove_code() -> Weight;
 	fn set_code() -> Weight;
 	fn noop_host_fn(r: u32, ) -> Weight;
@@ -67,7 +66,7 @@ pub trait WeightInfo {
 	fn seal_caller_is_origin() -> Weight;
 	fn seal_caller_is_root() -> Weight;
 	fn seal_address() -> Weight;
-	fn seal_gas_left() -> Weight;
+	fn seal_weight_left() -> Weight;
 	fn seal_balance() -> Weight;
 	fn seal_balance_of() -> Weight;
 	fn seal_value_transferred() -> Weight;
@@ -78,7 +77,6 @@ pub trait WeightInfo {
 	fn seal_input(n: u32, ) -> Weight;
 	fn seal_return(n: u32, ) -> Weight;
 	fn seal_terminate(n: u32, ) -> Weight;
-	fn seal_random() -> Weight;
 	fn seal_deposit_event(t: u32, n: u32, ) -> Weight;
 	fn seal_debug_message(i: u32, ) -> Weight;
 	fn get_storage_empty() -> Weight;
@@ -103,7 +101,7 @@ pub trait WeightInfo {
 	fn seal_transfer() -> Weight;
 	fn seal_call(t: u32, i: u32, ) -> Weight;
 	fn seal_delegate_call() -> Weight;
-	fn seal_instantiate(i: u32) -> Weight;
+	fn seal_instantiate(i: u32, ) -> Weight;
 	fn seal_hash_sha2_256(n: u32, ) -> Weight;
 	fn seal_hash_keccak_256(n: u32, ) -> Weight;
 	fn seal_hash_blake2_256(n: u32, ) -> Weight;
@@ -114,23 +112,20 @@ pub trait WeightInfo {
 	fn seal_set_code_hash() -> Weight;
 	fn lock_delegate_dependency() -> Weight;
 	fn unlock_delegate_dependency() -> Weight;
-	fn seal_reentrance_count() -> Weight;
-	fn seal_account_reentrance_count() -> Weight;
-	fn seal_instantiation_nonce() -> Weight;
-	fn instr_i64_load_store(r: u32, ) -> Weight;
+	fn instr(r: u32, ) -> Weight;
 }
 
 /// Weights for `pallet_revive` using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Contracts::DeletionQueueCounter` (r:1 w:0)
-	/// Proof: `Contracts::DeletionQueueCounter` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
+	/// Storage: `Revive::DeletionQueueCounter` (r:1 w:0)
+	/// Proof: `Revive::DeletionQueueCounter` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
 	fn on_process_deletion_queue_batch() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `142`
-		//  Estimated: `1627`
-		// Minimum execution time: 1_915_000 picoseconds.
-		Weight::from_parts(1_986_000, 1627)
+		//  Measured:  `109`
+		//  Estimated: `1594`
+		// Minimum execution time: 2_783_000 picoseconds.
+		Weight::from_parts(2_883_000, 1594)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
@@ -138,197 +133,150 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// The range of component `k` is `[0, 1024]`.
 	fn on_initialize_per_trie_key(k: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `452 + k * (69 ±0)`
-		//  Estimated: `442 + k * (70 ±0)`
-		// Minimum execution time: 11_103_000 picoseconds.
-		Weight::from_parts(11_326_000, 442)
-			// Standard Error: 2_291
-			.saturating_add(Weight::from_parts(1_196_329, 0).saturating_mul(k.into()))
+		//  Measured:  `392 + k * (69 ±0)`
+		//  Estimated: `382 + k * (70 ±0)`
+		// Minimum execution time: 13_394_000 picoseconds.
+		Weight::from_parts(305_292, 382)
+			// Standard Error: 1_217
+			.saturating_add(Weight::from_parts(1_233_492, 0).saturating_mul(k.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(k.into())))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(k.into())))
 			.saturating_add(Weight::from_parts(0, 70).saturating_mul(k.into()))
 	}
-	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
-	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
-	/// Storage: `Contracts::PristineCode` (r:1 w:0)
-	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
+	/// Storage: `Revive::ContractInfoOf` (r:1 w:1)
+	/// Proof: `Revive::ContractInfoOf` (`max_values`: None, `max_size`: Some(1775), added: 4250, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:0)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
+	/// Storage: `Revive::PristineCode` (r:1 w:0)
+	/// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`)
 	/// Storage: `Timestamp::Now` (r:1 w:0)
 	/// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// The range of component `c` is `[0, 125952]`.
-	fn call_with_code_per_byte(c: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `800 + c * (1 ±0)`
-		//  Estimated: `4266 + c * (1 ±0)`
-		// Minimum execution time: 247_545_000 picoseconds.
-		Weight::from_parts(268_016_699, 4266)
-			// Standard Error: 4
-			.saturating_add(Weight::from_parts(700, 0).saturating_mul(c.into()))
-			.saturating_add(T::DbWeight::get().reads(6_u64))
+	/// The range of component `c` is `[0, 262144]`.
+	fn call_with_code_per_byte(_c: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `834`
+		//  Estimated: `4299`
+		// Minimum execution time: 78_977_000 picoseconds.
+		Weight::from_parts(81_687_641, 4299)
+			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
-			.saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into()))
 	}
-	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
-	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:1)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:2 w:2)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
-	/// Storage: `Contracts::Nonce` (r:1 w:1)
-	/// Proof: `Contracts::Nonce` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
-	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(337), added: 2812, mode: `Measured`)
+	/// Storage: `Revive::ContractInfoOf` (r:1 w:1)
+	/// Proof: `Revive::ContractInfoOf` (`max_values`: None, `max_size`: Some(1775), added: 4250, mode: `Measured`)
 	/// Storage: `Timestamp::Now` (r:1 w:0)
 	/// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Contracts::PristineCode` (r:0 w:1)
-	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
-	/// The range of component `c` is `[0, 125952]`.
-	/// The range of component `i` is `[0, 1048576]`.
-	/// The range of component `s` is `[0, 1048576]`.
-	fn instantiate_with_code(c: u32, i: u32) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `323`
-		//  Estimated: `6262`
-		// Minimum execution time: 4_396_772_000 picoseconds.
-		Weight::from_parts(235_107_907, 6262)
-			// Standard Error: 185
-			.saturating_add(Weight::from_parts(53_843, 0).saturating_mul(c.into()))
-			// Standard Error: 22
-			.saturating_add(Weight::from_parts(2_143, 0).saturating_mul(i.into()))
-			// Standard Error: 22
-			.saturating_add(T::DbWeight::get().reads(8_u64))
-			.saturating_add(T::DbWeight::get().writes(7_u64))
-	}
-	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
-	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
-	/// Storage: `Contracts::PristineCode` (r:1 w:0)
-	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
-	/// Storage: `Contracts::Nonce` (r:1 w:1)
-	/// Proof: `Contracts::Nonce` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
-	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
+	/// Storage: `Revive::PristineCode` (r:0 w:1)
+	/// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`)
+	/// The range of component `c` is `[0, 262144]`.
+	/// The range of component `i` is `[0, 262144]`.
+	fn instantiate_with_code(c: u32, i: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `303`
+		//  Estimated: `6232`
+		// Minimum execution time: 179_690_000 picoseconds.
+		Weight::from_parts(149_042_544, 6232)
+			// Standard Error: 11
+			.saturating_add(Weight::from_parts(33, 0).saturating_mul(c.into()))
+			// Standard Error: 11
+			.saturating_add(Weight::from_parts(4_644, 0).saturating_mul(i.into()))
+			.saturating_add(T::DbWeight::get().reads(6_u64))
+			.saturating_add(T::DbWeight::get().writes(6_u64))
+	}
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:1)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
+	/// Storage: `Revive::PristineCode` (r:1 w:0)
+	/// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`)
+	/// Storage: `Revive::ContractInfoOf` (r:1 w:1)
+	/// Proof: `Revive::ContractInfoOf` (`max_values`: None, `max_size`: Some(1775), added: 4250, mode: `Measured`)
 	/// Storage: `Timestamp::Now` (r:1 w:0)
 	/// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
-	/// The range of component `i` is `[0, 1048576]`.
-	/// The range of component `s` is `[0, 1048576]`.
-	fn instantiate(i: u32) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `560`
-		//  Estimated: `4017`
-		// Minimum execution time: 2_240_868_000 picoseconds.
-		Weight::from_parts(2_273_668_000, 4017)
-			// Standard Error: 32
-			.saturating_add(Weight::from_parts(934, 0).saturating_mul(i.into()))
-			// Standard Error: 32
-			.saturating_add(T::DbWeight::get().reads(8_u64))
-			.saturating_add(T::DbWeight::get().writes(5_u64))
-	}
-	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
-	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
-	/// Storage: `Contracts::PristineCode` (r:1 w:0)
-	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(337), added: 2812, mode: `Measured`)
+	/// The range of component `i` is `[0, 262144]`.
+	fn instantiate(i: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `657`
+		//  Estimated: `4111`
+		// Minimum execution time: 156_389_000 picoseconds.
+		Weight::from_parts(130_603_882, 4111)
+			// Standard Error: 16
+			.saturating_add(Weight::from_parts(4_594, 0).saturating_mul(i.into()))
+			.saturating_add(T::DbWeight::get().reads(6_u64))
+			.saturating_add(T::DbWeight::get().writes(4_u64))
+	}
+	/// Storage: `Revive::ContractInfoOf` (r:1 w:1)
+	/// Proof: `Revive::ContractInfoOf` (`max_values`: None, `max_size`: Some(1775), added: 4250, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:0)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
+	/// Storage: `Revive::PristineCode` (r:1 w:0)
+	/// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`)
 	/// Storage: `Timestamp::Now` (r:1 w:0)
 	/// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
 	fn call() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `826`
-		//  Estimated: `4291`
-		// Minimum execution time: 165_067_000 picoseconds.
-		Weight::from_parts(168_582_000, 4291)
-			.saturating_add(T::DbWeight::get().reads(6_u64))
+		//  Measured:  `834`
+		//  Estimated: `4299`
+		// Minimum execution time: 80_108_000 picoseconds.
+		Weight::from_parts(81_555_000, 4299)
+			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
-	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
-	/// Storage: `Contracts::PristineCode` (r:0 w:1)
-	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
-	/// The range of component `c` is `[0, 125952]`.
-	fn upload_code_determinism_enforced(c: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `142`
-		//  Estimated: `3607`
-		// Minimum execution time: 229_454_000 picoseconds.
-		Weight::from_parts(251_495_551, 3607)
-			// Standard Error: 71
-			.saturating_add(Weight::from_parts(51_428, 0).saturating_mul(c.into()))
-			.saturating_add(T::DbWeight::get().reads(3_u64))
-			.saturating_add(T::DbWeight::get().writes(3_u64))
-	}
-	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
-	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:1)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
-	/// Storage: `Contracts::PristineCode` (r:0 w:1)
-	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
-	/// The range of component `c` is `[0, 125952]`.
-	fn upload_code_determinism_relaxed(c: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `142`
-		//  Estimated: `3607`
-		// Minimum execution time: 240_390_000 picoseconds.
-		Weight::from_parts(273_854_266, 3607)
-			// Standard Error: 243
-			.saturating_add(Weight::from_parts(51_836, 0).saturating_mul(c.into()))
-			.saturating_add(T::DbWeight::get().reads(3_u64))
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(337), added: 2812, mode: `Measured`)
+	/// Storage: `Revive::PristineCode` (r:0 w:1)
+	/// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`)
+	/// The range of component `c` is `[0, 262144]`.
+	fn upload_code(_c: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `109`
+		//  Estimated: `3574`
+		// Minimum execution time: 49_297_000 picoseconds.
+		Weight::from_parts(50_873_587, 3574)
+			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
-	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:1)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
-	/// Storage: `Contracts::PristineCode` (r:0 w:1)
-	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(337), added: 2812, mode: `Measured`)
+	/// Storage: `Revive::PristineCode` (r:0 w:1)
+	/// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`)
 	fn remove_code() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `315`
-		//  Estimated: `3780`
-		// Minimum execution time: 39_374_000 picoseconds.
-		Weight::from_parts(40_247_000, 3780)
-			.saturating_add(T::DbWeight::get().reads(3_u64))
+		//  Measured:  `285`
+		//  Estimated: `3750`
+		// Minimum execution time: 42_556_000 picoseconds.
+		Weight::from_parts(43_708_000, 3750)
+			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
-	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
-	/// Storage: `Contracts::CodeInfoOf` (r:2 w:2)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
+	/// Storage: `Revive::ContractInfoOf` (r:1 w:1)
+	/// Proof: `Revive::ContractInfoOf` (`max_values`: None, `max_size`: Some(1775), added: 4250, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:2 w:2)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
 	fn set_code() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `552`
-		//  Estimated: `6492`
-		// Minimum execution time: 24_473_000 picoseconds.
-		Weight::from_parts(25_890_000, 6492)
-			.saturating_add(T::DbWeight::get().reads(4_u64))
+		//  Measured:  `491`
+		//  Estimated: `6431`
+		// Minimum execution time: 24_623_000 picoseconds.
+		Weight::from_parts(26_390_000, 6431)
+			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
 	/// The range of component `r` is `[0, 1600]`.
@@ -336,79 +284,79 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 8_528_000 picoseconds.
-		Weight::from_parts(9_301_010, 0)
-			// Standard Error: 98
-			.saturating_add(Weight::from_parts(53_173, 0).saturating_mul(r.into()))
+		// Minimum execution time: 7_590_000 picoseconds.
+		Weight::from_parts(8_005_868, 0)
+			// Standard Error: 396
+			.saturating_add(Weight::from_parts(203_612, 0).saturating_mul(r.into()))
 	}
 	fn seal_caller() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 643_000 picoseconds.
-		Weight::from_parts(678_000, 0)
+		// Minimum execution time: 285_000 picoseconds.
+		Weight::from_parts(305_000, 0)
 	}
-	/// Storage: `Contracts::ContractInfoOf` (r:1 w:0)
-	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
+	/// Storage: `Revive::ContractInfoOf` (r:1 w:0)
+	/// Proof: `Revive::ContractInfoOf` (`max_values`: None, `max_size`: Some(1775), added: 4250, mode: `Measured`)
 	fn seal_is_contract() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `354`
-		//  Estimated: `3819`
-		// Minimum execution time: 6_107_000 picoseconds.
-		Weight::from_parts(6_235_000, 3819)
+		//  Measured:  `272`
+		//  Estimated: `3737`
+		// Minimum execution time: 6_711_000 picoseconds.
+		Weight::from_parts(7_103_000, 3737)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 	}
-	/// Storage: `Contracts::ContractInfoOf` (r:1 w:0)
-	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
+	/// Storage: `Revive::ContractInfoOf` (r:1 w:0)
+	/// Proof: `Revive::ContractInfoOf` (`max_values`: None, `max_size`: Some(1775), added: 4250, mode: `Measured`)
 	fn seal_code_hash() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `447`
-		//  Estimated: `3912`
-		// Minimum execution time: 7_316_000 picoseconds.
-		Weight::from_parts(7_653_000, 3912)
+		//  Measured:  `365`
+		//  Estimated: `3830`
+		// Minimum execution time: 7_572_000 picoseconds.
+		Weight::from_parts(7_888_000, 3830)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 	}
 	fn seal_own_code_hash() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 721_000 picoseconds.
-		Weight::from_parts(764_000, 0)
+		// Minimum execution time: 240_000 picoseconds.
+		Weight::from_parts(264_000, 0)
 	}
 	fn seal_caller_is_origin() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 369_000 picoseconds.
-		Weight::from_parts(417_000, 0)
+		// Minimum execution time: 324_000 picoseconds.
+		Weight::from_parts(356_000, 0)
 	}
 	fn seal_caller_is_root() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 318_000 picoseconds.
-		Weight::from_parts(349_000, 0)
+		// Minimum execution time: 273_000 picoseconds.
+		Weight::from_parts(286_000, 0)
 	}
 	fn seal_address() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 590_000 picoseconds.
-		Weight::from_parts(628_000, 0)
+		// Minimum execution time: 255_000 picoseconds.
+		Weight::from_parts(296_000, 0)
 	}
-	fn seal_gas_left() -> Weight {
+	fn seal_weight_left() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 660_000 picoseconds.
-		Weight::from_parts(730_000, 0)
+		// Minimum execution time: 610_000 picoseconds.
+		Weight::from_parts(701_000, 0)
 	}
 	fn seal_balance() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `140`
 		//  Estimated: `0`
-		// Minimum execution time: 4_361_000 picoseconds.
-		Weight::from_parts(4_577_000, 0)
+		// Minimum execution time: 5_207_000 picoseconds.
+		Weight::from_parts(5_403_000, 0)
 	}
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
@@ -416,37 +364,37 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `52`
 		//  Estimated: `3517`
-		// Minimum execution time: 3_751_000 picoseconds.
-		Weight::from_parts(3_874_000, 3517)
+		// Minimum execution time: 3_829_000 picoseconds.
+		Weight::from_parts(3_977_000, 3517)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 	}
 	fn seal_value_transferred() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 560_000 picoseconds.
-		Weight::from_parts(603_000, 0)
+		// Minimum execution time: 245_000 picoseconds.
+		Weight::from_parts(266_000, 0)
 	}
 	fn seal_minimum_balance() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 561_000 picoseconds.
-		Weight::from_parts(610_000, 0)
+		// Minimum execution time: 256_000 picoseconds.
+		Weight::from_parts(288_000, 0)
 	}
 	fn seal_block_number() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 557_000 picoseconds.
-		Weight::from_parts(583_000, 0)
+		// Minimum execution time: 265_000 picoseconds.
+		Weight::from_parts(278_000, 0)
 	}
 	fn seal_now() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 550_000 picoseconds.
-		Weight::from_parts(602_000, 0)
+		// Minimum execution time: 243_000 picoseconds.
+		Weight::from_parts(272_000, 0)
 	}
 	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
 	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `Measured`)
@@ -454,117 +402,102 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `67`
 		//  Estimated: `1552`
-		// Minimum execution time: 4_065_000 picoseconds.
-		Weight::from_parts(4_291_000, 1552)
+		// Minimum execution time: 5_467_000 picoseconds.
+		Weight::from_parts(5_607_000, 1552)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 	}
-	/// The range of component `n` is `[0, 1048572]`.
+	/// The range of component `n` is `[0, 262140]`.
 	fn seal_input(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 487_000 picoseconds.
-		Weight::from_parts(517_000, 0)
-			// Standard Error: 3
-			.saturating_add(Weight::from_parts(301, 0).saturating_mul(n.into()))
+		// Minimum execution time: 438_000 picoseconds.
+		Weight::from_parts(532_907, 0)
+			// Standard Error: 0
+			.saturating_add(Weight::from_parts(148, 0).saturating_mul(n.into()))
 	}
-	/// The range of component `n` is `[0, 1048572]`.
+	/// The range of component `n` is `[0, 262140]`.
 	fn seal_return(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 318_000 picoseconds.
-		Weight::from_parts(372_000, 0)
-			// Standard Error: 10
-			.saturating_add(Weight::from_parts(411, 0).saturating_mul(n.into()))
-	}
-	/// Storage: `Contracts::DeletionQueueCounter` (r:1 w:1)
-	/// Proof: `Contracts::DeletionQueueCounter` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
-	/// Storage: `Contracts::CodeInfoOf` (r:33 w:33)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
-	/// Storage: `Contracts::DeletionQueue` (r:0 w:1)
-	/// Proof: `Contracts::DeletionQueue` (`max_values`: None, `max_size`: Some(142), added: 2617, mode: `Measured`)
+		// Minimum execution time: 259_000 picoseconds.
+		Weight::from_parts(629_625, 0)
+			// Standard Error: 0
+			.saturating_add(Weight::from_parts(294, 0).saturating_mul(n.into()))
+	}
+	/// Storage: `Revive::DeletionQueueCounter` (r:1 w:1)
+	/// Proof: `Revive::DeletionQueueCounter` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:33 w:33)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
+	/// Storage: `Revive::DeletionQueue` (r:0 w:1)
+	/// Proof: `Revive::DeletionQueue` (`max_values`: None, `max_size`: Some(142), added: 2617, mode: `Measured`)
 	/// The range of component `n` is `[0, 32]`.
 	fn seal_terminate(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `319 + n * (78 ±0)`
-		//  Estimated: `3784 + n * (2553 ±0)`
-		// Minimum execution time: 13_251_000 picoseconds.
-		Weight::from_parts(15_257_892, 3784)
-			// Standard Error: 7_089
-			.saturating_add(Weight::from_parts(3_443_907, 0).saturating_mul(n.into()))
+		//  Measured:  `272 + n * (88 ±0)`
+		//  Estimated: `3738 + n * (2563 ±0)`
+		// Minimum execution time: 14_997_000 picoseconds.
+		Weight::from_parts(17_752_993, 3738)
+			// Standard Error: 9_865
+			.saturating_add(Weight::from_parts(4_159_693, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into())))
-			.saturating_add(Weight::from_parts(0, 2553).saturating_mul(n.into()))
-	}
-	/// Storage: `RandomnessCollectiveFlip::RandomMaterial` (r:1 w:0)
-	/// Proof: `RandomnessCollectiveFlip::RandomMaterial` (`max_values`: Some(1), `max_size`: Some(2594), added: 3089, mode: `Measured`)
-	fn seal_random() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `76`
-		//  Estimated: `1561`
-		// Minimum execution time: 3_434_000 picoseconds.
-		Weight::from_parts(3_605_000, 1561)
-			.saturating_add(T::DbWeight::get().reads(1_u64))
+			.saturating_add(Weight::from_parts(0, 2563).saturating_mul(n.into()))
 	}
-	/// Storage: `System::EventTopics` (r:4 w:4)
-	/// Proof: `System::EventTopics` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// The range of component `t` is `[0, 4]`.
-	/// The range of component `n` is `[0, 16384]`.
+	/// The range of component `n` is `[0, 512]`.
 	fn seal_deposit_event(t: u32, n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
-		//  Estimated: `990 + t * (2475 ±0)`
-		// Minimum execution time: 3_668_000 picoseconds.
-		Weight::from_parts(3_999_591, 990)
-			// Standard Error: 5_767
-			.saturating_add(Weight::from_parts(2_011_090, 0).saturating_mul(t.into()))
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(12, 0).saturating_mul(n.into()))
-			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(t.into())))
-			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(t.into())))
-			.saturating_add(Weight::from_parts(0, 2475).saturating_mul(t.into()))
+		//  Estimated: `0`
+		// Minimum execution time: 4_277_000 picoseconds.
+		Weight::from_parts(4_023_910, 0)
+			// Standard Error: 2_210
+			.saturating_add(Weight::from_parts(202_823, 0).saturating_mul(t.into()))
+			// Standard Error: 19
+			.saturating_add(Weight::from_parts(1_141, 0).saturating_mul(n.into()))
 	}
-	/// The range of component `i` is `[0, 1048576]`.
+	/// The range of component `i` is `[0, 262144]`.
 	fn seal_debug_message(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 443_000 picoseconds.
-		Weight::from_parts(472_000, 0)
-			// Standard Error: 10
-			.saturating_add(Weight::from_parts(1_207, 0).saturating_mul(i.into()))
+		// Minimum execution time: 309_000 picoseconds.
+		Weight::from_parts(834_030, 0)
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(814, 0).saturating_mul(i.into()))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
 	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn get_storage_empty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `16618`
-		//  Estimated: `16618`
-		// Minimum execution time: 13_752_000 picoseconds.
-		Weight::from_parts(14_356_000, 16618)
+		//  Measured:  `744`
+		//  Estimated: `744`
+		// Minimum execution time: 7_705_000 picoseconds.
+		Weight::from_parts(7_923_000, 744)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
 	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn get_storage_full() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `26628`
-		//  Estimated: `26628`
-		// Minimum execution time: 43_444_000 picoseconds.
-		Weight::from_parts(45_087_000, 26628)
+		//  Measured:  `10754`
+		//  Estimated: `10754`
+		// Minimum execution time: 44_510_000 picoseconds.
+		Weight::from_parts(45_840_000, 10754)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
 	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn set_storage_empty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `16618`
-		//  Estimated: `16618`
-		// Minimum execution time: 15_616_000 picoseconds.
-		Weight::from_parts(16_010_000, 16618)
+		//  Measured:  `744`
+		//  Estimated: `744`
+		// Minimum execution time: 8_842_000 picoseconds.
+		Weight::from_parts(9_363_000, 744)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -572,85 +505,85 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn set_storage_full() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `26628`
-		//  Estimated: `26628`
-		// Minimum execution time: 47_020_000 picoseconds.
-		Weight::from_parts(50_152_000, 26628)
+		//  Measured:  `10754`
+		//  Estimated: `10754`
+		// Minimum execution time: 46_172_000 picoseconds.
+		Weight::from_parts(47_586_000, 10754)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
 	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// The range of component `n` is `[0, 16384]`.
-	/// The range of component `o` is `[0, 16384]`.
+	/// The range of component `n` is `[0, 512]`.
+	/// The range of component `o` is `[0, 512]`.
 	fn seal_set_storage(n: u32, o: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `250 + o * (1 ±0)`
-		//  Estimated: `249 + o * (1 ±0)`
-		// Minimum execution time: 8_824_000 picoseconds.
-		Weight::from_parts(8_915_233, 249)
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(255, 0).saturating_mul(n.into()))
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(39, 0).saturating_mul(o.into()))
+		//  Measured:  `248 + o * (1 ±0)`
+		//  Estimated: `247 + o * (1 ±0)`
+		// Minimum execution time: 9_158_000 picoseconds.
+		Weight::from_parts(9_708_320, 247)
+			// Standard Error: 36
+			.saturating_add(Weight::from_parts(499, 0).saturating_mul(n.into()))
+			// Standard Error: 36
+			.saturating_add(Weight::from_parts(672, 0).saturating_mul(o.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(o.into()))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
 	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// The range of component `n` is `[0, 16384]`.
+	/// The range of component `n` is `[0, 512]`.
 	fn seal_clear_storage(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `248 + n * (1 ±0)`
-		//  Estimated: `248 + n * (1 ±0)`
-		// Minimum execution time: 7_133_000 picoseconds.
-		Weight::from_parts(7_912_778, 248)
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(88, 0).saturating_mul(n.into()))
+		//  Estimated: `247 + n * (1 ±0)`
+		// Minimum execution time: 8_885_000 picoseconds.
+		Weight::from_parts(9_597_656, 247)
+			// Standard Error: 48
+			.saturating_add(Weight::from_parts(649, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
 	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// The range of component `n` is `[0, 16384]`.
+	/// The range of component `n` is `[0, 512]`.
 	fn seal_get_storage(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `248 + n * (1 ±0)`
-		//  Estimated: `248 + n * (1 ±0)`
-		// Minimum execution time: 6_746_000 picoseconds.
-		Weight::from_parts(7_647_236, 248)
-			// Standard Error: 2
-			.saturating_add(Weight::from_parts(603, 0).saturating_mul(n.into()))
+		//  Estimated: `247 + n * (1 ±0)`
+		// Minimum execution time: 8_473_000 picoseconds.
+		Weight::from_parts(9_246_006, 247)
+			// Standard Error: 47
+			.saturating_add(Weight::from_parts(1_468, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
 	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// The range of component `n` is `[0, 16384]`.
+	/// The range of component `n` is `[0, 512]`.
 	fn seal_contains_storage(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `248 + n * (1 ±0)`
-		//  Estimated: `248 + n * (1 ±0)`
-		// Minimum execution time: 6_247_000 picoseconds.
-		Weight::from_parts(6_952_661, 248)
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(77, 0).saturating_mul(n.into()))
+		//  Estimated: `247 + n * (1 ±0)`
+		// Minimum execution time: 7_996_000 picoseconds.
+		Weight::from_parts(8_784_165, 247)
+			// Standard Error: 43
+			.saturating_add(Weight::from_parts(591, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
 	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// The range of component `n` is `[0, 16384]`.
+	/// The range of component `n` is `[0, 512]`.
 	fn seal_take_storage(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `248 + n * (1 ±0)`
-		//  Estimated: `248 + n * (1 ±0)`
-		// Minimum execution time: 7_428_000 picoseconds.
-		Weight::from_parts(8_384_015, 248)
-			// Standard Error: 2
-			.saturating_add(Weight::from_parts(625, 0).saturating_mul(n.into()))
+		//  Estimated: `247 + n * (1 ±0)`
+		// Minimum execution time: 9_246_000 picoseconds.
+		Weight::from_parts(10_239_803, 247)
+			// Standard Error: 57
+			.saturating_add(Weight::from_parts(1_305, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
@@ -659,302 +592,270 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_478_000 picoseconds.
-		Weight::from_parts(1_533_000, 0)
+		// Minimum execution time: 1_422_000 picoseconds.
+		Weight::from_parts(1_531_000, 0)
 	}
 	fn set_transient_storage_full() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_485_000 picoseconds.
-		Weight::from_parts(2_728_000, 0)
+		// Minimum execution time: 1_858_000 picoseconds.
+		Weight::from_parts(1_944_000, 0)
 	}
 	fn get_transient_storage_empty() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 3_195_000 picoseconds.
-		Weight::from_parts(3_811_000, 0)
+		// Minimum execution time: 1_443_000 picoseconds.
+		Weight::from_parts(1_506_000, 0)
 	}
 	fn get_transient_storage_full() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 3_902_000 picoseconds.
-		Weight::from_parts(4_118_000, 0)
+		// Minimum execution time: 1_592_000 picoseconds.
+		Weight::from_parts(1_651_000, 0)
 	}
 	fn rollback_transient_storage() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_571_000 picoseconds.
-		Weight::from_parts(1_662_000, 0)
+		// Minimum execution time: 960_000 picoseconds.
+		Weight::from_parts(1_060_000, 0)
 	}
-	/// The range of component `n` is `[0, 16384]`.
-	/// The range of component `o` is `[0, 16384]`.
+	/// The range of component `n` is `[0, 512]`.
+	/// The range of component `o` is `[0, 512]`.
 	fn seal_set_transient_storage(n: u32, o: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_250_000 picoseconds.
-		Weight::from_parts(2_465_568, 0)
-			// Standard Error: 0
-			.saturating_add(Weight::from_parts(201, 0).saturating_mul(n.into()))
-			// Standard Error: 0
-			.saturating_add(Weight::from_parts(223, 0).saturating_mul(o.into()))
+		// Minimum execution time: 2_151_000 picoseconds.
+		Weight::from_parts(2_294_801, 0)
+			// Standard Error: 11
+			.saturating_add(Weight::from_parts(375, 0).saturating_mul(n.into()))
+			// Standard Error: 11
+			.saturating_add(Weight::from_parts(415, 0).saturating_mul(o.into()))
 	}
-	/// The range of component `n` is `[0, 16384]`.
+	/// The range of component `n` is `[0, 512]`.
 	fn seal_clear_transient_storage(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_012_000 picoseconds.
-		Weight::from_parts(2_288_004, 0)
-			// Standard Error: 3
-			.saturating_add(Weight::from_parts(239, 0).saturating_mul(n.into()))
+		// Minimum execution time: 1_880_000 picoseconds.
+		Weight::from_parts(2_259_773, 0)
+			// Standard Error: 17
+			.saturating_add(Weight::from_parts(356, 0).saturating_mul(n.into()))
 	}
-	/// The range of component `n` is `[0, 16384]`.
+	/// The range of component `n` is `[0, 512]`.
 	fn seal_get_transient_storage(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_906_000 picoseconds.
-		Weight::from_parts(2_121_040, 0)
-			// Standard Error: 0
-			.saturating_add(Weight::from_parts(225, 0).saturating_mul(n.into()))
+		// Minimum execution time: 1_755_000 picoseconds.
+		Weight::from_parts(1_968_235, 0)
+			// Standard Error: 15
+			.saturating_add(Weight::from_parts(387, 0).saturating_mul(n.into()))
 	}
-	/// The range of component `n` is `[0, 16384]`.
+	/// The range of component `n` is `[0, 512]`.
 	fn seal_contains_transient_storage(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_736_000 picoseconds.
-		Weight::from_parts(1_954_728, 0)
-			// Standard Error: 0
-			.saturating_add(Weight::from_parts(111, 0).saturating_mul(n.into()))
+		// Minimum execution time: 1_618_000 picoseconds.
+		Weight::from_parts(1_811_972, 0)
+			// Standard Error: 12
+			.saturating_add(Weight::from_parts(174, 0).saturating_mul(n.into()))
 	}
-	/// The range of component `n` is `[0, 16384]`.
-	fn seal_take_transient_storage(_n: u32, ) -> Weight {
+	/// The range of component `n` is `[0, 512]`.
+	fn seal_take_transient_storage(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 7_872_000 picoseconds.
-		Weight::from_parts(8_125_644, 0)
+		// Minimum execution time: 2_482_000 picoseconds.
+		Weight::from_parts(2_682_484, 0)
+			// Standard Error: 13
+			.saturating_add(Weight::from_parts(2, 0).saturating_mul(n.into()))
 	}
 	fn seal_transfer() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `140`
 		//  Estimated: `0`
-		// Minimum execution time: 8_489_000 picoseconds.
-		Weight::from_parts(8_791_000, 0)
+		// Minimum execution time: 9_899_000 picoseconds.
+		Weight::from_parts(10_342_000, 0)
 	}
-	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
-	/// Storage: `Contracts::PristineCode` (r:1 w:0)
-	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
+	/// Storage: `Revive::ContractInfoOf` (r:1 w:0)
+	/// Proof: `Revive::ContractInfoOf` (`max_values`: None, `max_size`: Some(1775), added: 4250, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:0)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
+	/// Storage: `Revive::PristineCode` (r:1 w:0)
+	/// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`)
 	/// The range of component `t` is `[0, 1]`.
-	/// The range of component `i` is `[0, 1048576]`.
+	/// The range of component `i` is `[0, 262144]`.
 	fn seal_call(t: u32, i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `620 + t * (280 ±0)`
-		//  Estimated: `4085 + t * (2182 ±0)`
-		// Minimum execution time: 122_759_000 picoseconds.
-		Weight::from_parts(120_016_020, 4085)
-			// Standard Error: 173_118
-			.saturating_add(Weight::from_parts(42_848_338, 0).saturating_mul(t.into()))
+		//  Measured:  `626 + t * (140 ±0)`
+		//  Estimated: `4091 + t * (140 ±0)`
+		// Minimum execution time: 33_645_000 picoseconds.
+		Weight::from_parts(34_407_662, 4091)
+			// Standard Error: 36_930
+			.saturating_add(Weight::from_parts(2_062_425, 0).saturating_mul(t.into()))
 			// Standard Error: 0
-			.saturating_add(Weight::from_parts(6, 0).saturating_mul(i.into()))
+			.saturating_add(Weight::from_parts(3, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(3_u64))
-			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(t.into())))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
-			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(t.into())))
-			.saturating_add(Weight::from_parts(0, 2182).saturating_mul(t.into()))
+			.saturating_add(Weight::from_parts(0, 140).saturating_mul(t.into()))
 	}
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
-	/// Storage: `Contracts::PristineCode` (r:1 w:0)
-	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:0)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
+	/// Storage: `Revive::PristineCode` (r:1 w:0)
+	/// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`)
 	fn seal_delegate_call() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `430`
-		//  Estimated: `3895`
-		// Minimum execution time: 111_566_000 picoseconds.
-		Weight::from_parts(115_083_000, 3895)
+		//  Measured:  `457`
+		//  Estimated: `3922`
+		// Minimum execution time: 26_924_000 picoseconds.
+		Weight::from_parts(27_753_000, 3922)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 	}
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
-	/// Storage: `Contracts::PristineCode` (r:1 w:0)
-	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
-	/// Storage: `Contracts::Nonce` (r:1 w:0)
-	/// Proof: `Contracts::Nonce` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
-	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:1)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
+	/// Storage: `Revive::PristineCode` (r:1 w:0)
+	/// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`)
+	/// Storage: `Revive::ContractInfoOf` (r:1 w:1)
+	/// Proof: `Revive::ContractInfoOf` (`max_values`: None, `max_size`: Some(1775), added: 4250, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// The range of component `i` is `[0, 983040]`.
-	/// The range of component `s` is `[0, 983040]`.
-	fn seal_instantiate(i: u32) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `676`
-		//  Estimated: `4132`
-		// Minimum execution time: 1_871_402_000 picoseconds.
-		Weight::from_parts(1_890_038_000, 4132)
-			// Standard Error: 24
-			.saturating_add(Weight::from_parts(581, 0).saturating_mul(i.into()))
-			// Standard Error: 24
-			.saturating_add(T::DbWeight::get().reads(5_u64))
+	/// The range of component `i` is `[0, 262144]`.
+	fn seal_instantiate(i: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `703`
+		//  Estimated: `4160`
+		// Minimum execution time: 117_979_000 picoseconds.
+		Weight::from_parts(105_415_117, 4160)
+			// Standard Error: 11
+			.saturating_add(Weight::from_parts(4_293, 0).saturating_mul(i.into()))
+			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// The range of component `n` is `[0, 1048576]`.
+	/// The range of component `n` is `[0, 262144]`.
 	fn seal_hash_sha2_256(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 966_000 picoseconds.
-		Weight::from_parts(9_599_151, 0)
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_336, 0).saturating_mul(n.into()))
+		// Minimum execution time: 620_000 picoseconds.
+		Weight::from_parts(3_414_286, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(1_463, 0).saturating_mul(n.into()))
 	}
-	/// The range of component `n` is `[0, 1048576]`.
+	/// The range of component `n` is `[0, 262144]`.
 	fn seal_hash_keccak_256(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_416_000 picoseconds.
-		Weight::from_parts(10_964_255, 0)
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(3_593, 0).saturating_mul(n.into()))
+		// Minimum execution time: 1_043_000 picoseconds.
+		Weight::from_parts(3_402_639, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(3_667, 0).saturating_mul(n.into()))
 	}
-	/// The range of component `n` is `[0, 1048576]`.
+	/// The range of component `n` is `[0, 262144]`.
 	fn seal_hash_blake2_256(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 821_000 picoseconds.
-		Weight::from_parts(6_579_283, 0)
-			// Standard Error: 0
-			.saturating_add(Weight::from_parts(1_466, 0).saturating_mul(n.into()))
+		// Minimum execution time: 642_000 picoseconds.
+		Weight::from_parts(3_359_294, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(1_590, 0).saturating_mul(n.into()))
 	}
-	/// The range of component `n` is `[0, 1048576]`.
+	/// The range of component `n` is `[0, 262144]`.
 	fn seal_hash_blake2_128(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 773_000 picoseconds.
-		Weight::from_parts(10_990_209, 0)
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_457, 0).saturating_mul(n.into()))
+		// Minimum execution time: 606_000 picoseconds.
+		Weight::from_parts(3_789_868, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(1_575, 0).saturating_mul(n.into()))
 	}
-	/// The range of component `n` is `[0, 125697]`.
+	/// The range of component `n` is `[0, 261889]`.
 	fn seal_sr25519_verify(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 43_195_000 picoseconds.
-		Weight::from_parts(41_864_855, 0)
-			// Standard Error: 9
-			.saturating_add(Weight::from_parts(5_154, 0).saturating_mul(n.into()))
+		// Minimum execution time: 46_195_000 picoseconds.
+		Weight::from_parts(31_420_941, 0)
+			// Standard Error: 13
+			.saturating_add(Weight::from_parts(5_165, 0).saturating_mul(n.into()))
 	}
 	fn seal_ecdsa_recover() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 47_747_000 picoseconds.
-		Weight::from_parts(49_219_000, 0)
+		// Minimum execution time: 46_933_000 picoseconds.
+		Weight::from_parts(48_054_000, 0)
 	}
 	fn seal_ecdsa_to_eth_address() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 12_854_000 picoseconds.
-		Weight::from_parts(12_962_000, 0)
+		// Minimum execution time: 12_531_000 picoseconds.
+		Weight::from_parts(12_690_000, 0)
 	}
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
-	/// Storage: `Contracts::PristineCode` (r:1 w:0)
-	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:1)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
 	fn seal_set_code_hash() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `430`
-		//  Estimated: `3895`
-		// Minimum execution time: 17_868_000 picoseconds.
-		Weight::from_parts(18_486_000, 3895)
-			.saturating_add(T::DbWeight::get().reads(2_u64))
+		//  Measured:  `266`
+		//  Estimated: `3731`
+		// Minimum execution time: 14_694_000 picoseconds.
+		Weight::from_parts(15_032_000, 3731)
+			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:1)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
 	fn lock_delegate_dependency() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `355`
-		//  Estimated: `3820`
-		// Minimum execution time: 8_393_000 picoseconds.
-		Weight::from_parts(8_640_000, 3820)
+		//  Measured:  `304`
+		//  Estimated: `3769`
+		// Minimum execution time: 10_205_000 picoseconds.
+		Weight::from_parts(10_707_000, 3769)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:1)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`)
 	fn unlock_delegate_dependency() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `355`
-		//  Estimated: `3558`
-		// Minimum execution time: 7_489_000 picoseconds.
-		Weight::from_parts(7_815_000, 3558)
+		//  Measured:  `304`
+		//  Estimated: `3561`
+		// Minimum execution time: 9_025_000 picoseconds.
+		Weight::from_parts(9_517_000, 3561)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	fn seal_reentrance_count() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 299_000 picoseconds.
-		Weight::from_parts(339_000, 0)
-	}
-	fn seal_account_reentrance_count() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 324_000 picoseconds.
-		Weight::from_parts(380_000, 0)
-	}
-	/// Storage: `Contracts::Nonce` (r:1 w:0)
-	/// Proof: `Contracts::Nonce` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
-	fn seal_instantiation_nonce() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `219`
-		//  Estimated: `1704`
-		// Minimum execution time: 2_768_000 picoseconds.
-		Weight::from_parts(3_025_000, 1704)
-			.saturating_add(T::DbWeight::get().reads(1_u64))
-	}
 	/// The range of component `r` is `[0, 5000]`.
-	fn instr_i64_load_store(r: u32, ) -> Weight {
+	fn instr(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 766_000 picoseconds.
-		Weight::from_parts(722_169, 0)
-			// Standard Error: 10
-			.saturating_add(Weight::from_parts(7_191, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_451_000 picoseconds.
+		Weight::from_parts(10_620_260, 0)
+			// Standard Error: 77
+			.saturating_add(Weight::from_parts(84_885, 0).saturating_mul(r.into()))
 	}
 }
 
 // For backwards compatibility and tests.
 impl WeightInfo for () {
-	/// Storage: `Contracts::DeletionQueueCounter` (r:1 w:0)
-	/// Proof: `Contracts::DeletionQueueCounter` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
+	/// Storage: `Revive::DeletionQueueCounter` (r:1 w:0)
+	/// Proof: `Revive::DeletionQueueCounter` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
 	fn on_process_deletion_queue_batch() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `142`
-		//  Estimated: `1627`
-		// Minimum execution time: 1_915_000 picoseconds.
-		Weight::from_parts(1_986_000, 1627)
+		//  Measured:  `109`
+		//  Estimated: `1594`
+		// Minimum execution time: 2_783_000 picoseconds.
+		Weight::from_parts(2_883_000, 1594)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
@@ -962,197 +863,150 @@ impl WeightInfo for () {
 	/// The range of component `k` is `[0, 1024]`.
 	fn on_initialize_per_trie_key(k: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `452 + k * (69 ±0)`
-		//  Estimated: `442 + k * (70 ±0)`
-		// Minimum execution time: 11_103_000 picoseconds.
-		Weight::from_parts(11_326_000, 442)
-			// Standard Error: 2_291
-			.saturating_add(Weight::from_parts(1_196_329, 0).saturating_mul(k.into()))
+		//  Measured:  `392 + k * (69 ±0)`
+		//  Estimated: `382 + k * (70 ±0)`
+		// Minimum execution time: 13_394_000 picoseconds.
+		Weight::from_parts(305_292, 382)
+			// Standard Error: 1_217
+			.saturating_add(Weight::from_parts(1_233_492, 0).saturating_mul(k.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(k.into())))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(k.into())))
 			.saturating_add(Weight::from_parts(0, 70).saturating_mul(k.into()))
 	}
-	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
-	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
-	/// Storage: `Contracts::PristineCode` (r:1 w:0)
-	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
+	/// Storage: `Revive::ContractInfoOf` (r:1 w:1)
+	/// Proof: `Revive::ContractInfoOf` (`max_values`: None, `max_size`: Some(1775), added: 4250, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:0)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
+	/// Storage: `Revive::PristineCode` (r:1 w:0)
+	/// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`)
 	/// Storage: `Timestamp::Now` (r:1 w:0)
 	/// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// The range of component `c` is `[0, 125952]`.
-	fn call_with_code_per_byte(c: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `800 + c * (1 ±0)`
-		//  Estimated: `4266 + c * (1 ±0)`
-		// Minimum execution time: 247_545_000 picoseconds.
-		Weight::from_parts(268_016_699, 4266)
-			// Standard Error: 4
-			.saturating_add(Weight::from_parts(700, 0).saturating_mul(c.into()))
-			.saturating_add(RocksDbWeight::get().reads(6_u64))
+	/// The range of component `c` is `[0, 262144]`.
+	fn call_with_code_per_byte(_c: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `834`
+		//  Estimated: `4299`
+		// Minimum execution time: 78_977_000 picoseconds.
+		Weight::from_parts(81_687_641, 4299)
+			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
-			.saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into()))
 	}
-	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
-	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:1)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:2 w:2)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
-	/// Storage: `Contracts::Nonce` (r:1 w:1)
-	/// Proof: `Contracts::Nonce` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
-	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(337), added: 2812, mode: `Measured`)
+	/// Storage: `Revive::ContractInfoOf` (r:1 w:1)
+	/// Proof: `Revive::ContractInfoOf` (`max_values`: None, `max_size`: Some(1775), added: 4250, mode: `Measured`)
 	/// Storage: `Timestamp::Now` (r:1 w:0)
 	/// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Contracts::PristineCode` (r:0 w:1)
-	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
-	/// The range of component `c` is `[0, 125952]`.
-	/// The range of component `i` is `[0, 1048576]`.
-	/// The range of component `s` is `[0, 1048576]`.
-	fn instantiate_with_code(c: u32, i: u32) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `323`
-		//  Estimated: `6262`
-		// Minimum execution time: 4_396_772_000 picoseconds.
-		Weight::from_parts(235_107_907, 6262)
-			// Standard Error: 185
-			.saturating_add(Weight::from_parts(53_843, 0).saturating_mul(c.into()))
-			// Standard Error: 22
-			.saturating_add(Weight::from_parts(2_143, 0).saturating_mul(i.into()))
-			// Standard Error: 22
-			.saturating_add(RocksDbWeight::get().reads(8_u64))
-			.saturating_add(RocksDbWeight::get().writes(7_u64))
-	}
-	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
-	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
-	/// Storage: `Contracts::PristineCode` (r:1 w:0)
-	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
-	/// Storage: `Contracts::Nonce` (r:1 w:1)
-	/// Proof: `Contracts::Nonce` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
-	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
+	/// Storage: `Revive::PristineCode` (r:0 w:1)
+	/// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`)
+	/// The range of component `c` is `[0, 262144]`.
+	/// The range of component `i` is `[0, 262144]`.
+	fn instantiate_with_code(c: u32, i: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `303`
+		//  Estimated: `6232`
+		// Minimum execution time: 179_690_000 picoseconds.
+		Weight::from_parts(149_042_544, 6232)
+			// Standard Error: 11
+			.saturating_add(Weight::from_parts(33, 0).saturating_mul(c.into()))
+			// Standard Error: 11
+			.saturating_add(Weight::from_parts(4_644, 0).saturating_mul(i.into()))
+			.saturating_add(RocksDbWeight::get().reads(6_u64))
+			.saturating_add(RocksDbWeight::get().writes(6_u64))
+	}
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:1)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
+	/// Storage: `Revive::PristineCode` (r:1 w:0)
+	/// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`)
+	/// Storage: `Revive::ContractInfoOf` (r:1 w:1)
+	/// Proof: `Revive::ContractInfoOf` (`max_values`: None, `max_size`: Some(1775), added: 4250, mode: `Measured`)
 	/// Storage: `Timestamp::Now` (r:1 w:0)
 	/// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
-	/// The range of component `i` is `[0, 1048576]`.
-	/// The range of component `s` is `[0, 1048576]`.
-	fn instantiate(i: u32) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `560`
-		//  Estimated: `4017`
-		// Minimum execution time: 2_240_868_000 picoseconds.
-		Weight::from_parts(2_273_668_000, 4017)
-			// Standard Error: 32
-			.saturating_add(Weight::from_parts(934, 0).saturating_mul(i.into()))
-			// Standard Error: 32
-			.saturating_add(RocksDbWeight::get().reads(8_u64))
-			.saturating_add(RocksDbWeight::get().writes(5_u64))
-	}
-	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
-	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
-	/// Storage: `Contracts::PristineCode` (r:1 w:0)
-	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(337), added: 2812, mode: `Measured`)
+	/// The range of component `i` is `[0, 262144]`.
+	fn instantiate(i: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `657`
+		//  Estimated: `4111`
+		// Minimum execution time: 156_389_000 picoseconds.
+		Weight::from_parts(130_603_882, 4111)
+			// Standard Error: 16
+			.saturating_add(Weight::from_parts(4_594, 0).saturating_mul(i.into()))
+			.saturating_add(RocksDbWeight::get().reads(6_u64))
+			.saturating_add(RocksDbWeight::get().writes(4_u64))
+	}
+	/// Storage: `Revive::ContractInfoOf` (r:1 w:1)
+	/// Proof: `Revive::ContractInfoOf` (`max_values`: None, `max_size`: Some(1775), added: 4250, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:0)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
+	/// Storage: `Revive::PristineCode` (r:1 w:0)
+	/// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`)
 	/// Storage: `Timestamp::Now` (r:1 w:0)
 	/// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
 	fn call() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `826`
-		//  Estimated: `4291`
-		// Minimum execution time: 165_067_000 picoseconds.
-		Weight::from_parts(168_582_000, 4291)
-			.saturating_add(RocksDbWeight::get().reads(6_u64))
+		//  Measured:  `834`
+		//  Estimated: `4299`
+		// Minimum execution time: 80_108_000 picoseconds.
+		Weight::from_parts(81_555_000, 4299)
+			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
-	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
-	/// Storage: `Contracts::PristineCode` (r:0 w:1)
-	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
-	/// The range of component `c` is `[0, 125952]`.
-	fn upload_code_determinism_enforced(c: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `142`
-		//  Estimated: `3607`
-		// Minimum execution time: 229_454_000 picoseconds.
-		Weight::from_parts(251_495_551, 3607)
-			// Standard Error: 71
-			.saturating_add(Weight::from_parts(51_428, 0).saturating_mul(c.into()))
-			.saturating_add(RocksDbWeight::get().reads(3_u64))
-			.saturating_add(RocksDbWeight::get().writes(3_u64))
-	}
-	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
-	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:1)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
-	/// Storage: `Contracts::PristineCode` (r:0 w:1)
-	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
-	/// The range of component `c` is `[0, 125952]`.
-	fn upload_code_determinism_relaxed(c: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `142`
-		//  Estimated: `3607`
-		// Minimum execution time: 240_390_000 picoseconds.
-		Weight::from_parts(273_854_266, 3607)
-			// Standard Error: 243
-			.saturating_add(Weight::from_parts(51_836, 0).saturating_mul(c.into()))
-			.saturating_add(RocksDbWeight::get().reads(3_u64))
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(337), added: 2812, mode: `Measured`)
+	/// Storage: `Revive::PristineCode` (r:0 w:1)
+	/// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`)
+	/// The range of component `c` is `[0, 262144]`.
+	fn upload_code(_c: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `109`
+		//  Estimated: `3574`
+		// Minimum execution time: 49_297_000 picoseconds.
+		Weight::from_parts(50_873_587, 3574)
+			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
-	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:1)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
-	/// Storage: `Contracts::PristineCode` (r:0 w:1)
-	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(337), added: 2812, mode: `Measured`)
+	/// Storage: `Revive::PristineCode` (r:0 w:1)
+	/// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`)
 	fn remove_code() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `315`
-		//  Estimated: `3780`
-		// Minimum execution time: 39_374_000 picoseconds.
-		Weight::from_parts(40_247_000, 3780)
-			.saturating_add(RocksDbWeight::get().reads(3_u64))
+		//  Measured:  `285`
+		//  Estimated: `3750`
+		// Minimum execution time: 42_556_000 picoseconds.
+		Weight::from_parts(43_708_000, 3750)
+			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
-	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
-	/// Storage: `Contracts::CodeInfoOf` (r:2 w:2)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
+	/// Storage: `Revive::ContractInfoOf` (r:1 w:1)
+	/// Proof: `Revive::ContractInfoOf` (`max_values`: None, `max_size`: Some(1775), added: 4250, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:2 w:2)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
 	fn set_code() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `552`
-		//  Estimated: `6492`
-		// Minimum execution time: 24_473_000 picoseconds.
-		Weight::from_parts(25_890_000, 6492)
-			.saturating_add(RocksDbWeight::get().reads(4_u64))
+		//  Measured:  `491`
+		//  Estimated: `6431`
+		// Minimum execution time: 24_623_000 picoseconds.
+		Weight::from_parts(26_390_000, 6431)
+			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
 	/// The range of component `r` is `[0, 1600]`.
@@ -1160,79 +1014,79 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 8_528_000 picoseconds.
-		Weight::from_parts(9_301_010, 0)
-			// Standard Error: 98
-			.saturating_add(Weight::from_parts(53_173, 0).saturating_mul(r.into()))
+		// Minimum execution time: 7_590_000 picoseconds.
+		Weight::from_parts(8_005_868, 0)
+			// Standard Error: 396
+			.saturating_add(Weight::from_parts(203_612, 0).saturating_mul(r.into()))
 	}
 	fn seal_caller() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 643_000 picoseconds.
-		Weight::from_parts(678_000, 0)
+		// Minimum execution time: 285_000 picoseconds.
+		Weight::from_parts(305_000, 0)
 	}
-	/// Storage: `Contracts::ContractInfoOf` (r:1 w:0)
-	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
+	/// Storage: `Revive::ContractInfoOf` (r:1 w:0)
+	/// Proof: `Revive::ContractInfoOf` (`max_values`: None, `max_size`: Some(1775), added: 4250, mode: `Measured`)
 	fn seal_is_contract() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `354`
-		//  Estimated: `3819`
-		// Minimum execution time: 6_107_000 picoseconds.
-		Weight::from_parts(6_235_000, 3819)
+		//  Measured:  `272`
+		//  Estimated: `3737`
+		// Minimum execution time: 6_711_000 picoseconds.
+		Weight::from_parts(7_103_000, 3737)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 	}
-	/// Storage: `Contracts::ContractInfoOf` (r:1 w:0)
-	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
+	/// Storage: `Revive::ContractInfoOf` (r:1 w:0)
+	/// Proof: `Revive::ContractInfoOf` (`max_values`: None, `max_size`: Some(1775), added: 4250, mode: `Measured`)
 	fn seal_code_hash() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `447`
-		//  Estimated: `3912`
-		// Minimum execution time: 7_316_000 picoseconds.
-		Weight::from_parts(7_653_000, 3912)
+		//  Measured:  `365`
+		//  Estimated: `3830`
+		// Minimum execution time: 7_572_000 picoseconds.
+		Weight::from_parts(7_888_000, 3830)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 	}
 	fn seal_own_code_hash() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 721_000 picoseconds.
-		Weight::from_parts(764_000, 0)
+		// Minimum execution time: 240_000 picoseconds.
+		Weight::from_parts(264_000, 0)
 	}
 	fn seal_caller_is_origin() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 369_000 picoseconds.
-		Weight::from_parts(417_000, 0)
+		// Minimum execution time: 324_000 picoseconds.
+		Weight::from_parts(356_000, 0)
 	}
 	fn seal_caller_is_root() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 318_000 picoseconds.
-		Weight::from_parts(349_000, 0)
+		// Minimum execution time: 273_000 picoseconds.
+		Weight::from_parts(286_000, 0)
 	}
 	fn seal_address() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 590_000 picoseconds.
-		Weight::from_parts(628_000, 0)
+		// Minimum execution time: 255_000 picoseconds.
+		Weight::from_parts(296_000, 0)
 	}
-	fn seal_gas_left() -> Weight {
+	fn seal_weight_left() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 660_000 picoseconds.
-		Weight::from_parts(730_000, 0)
+		// Minimum execution time: 610_000 picoseconds.
+		Weight::from_parts(701_000, 0)
 	}
 	fn seal_balance() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `140`
 		//  Estimated: `0`
-		// Minimum execution time: 4_361_000 picoseconds.
-		Weight::from_parts(4_577_000, 0)
+		// Minimum execution time: 5_207_000 picoseconds.
+		Weight::from_parts(5_403_000, 0)
 	}
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
@@ -1240,37 +1094,37 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `52`
 		//  Estimated: `3517`
-		// Minimum execution time: 3_751_000 picoseconds.
-		Weight::from_parts(3_874_000, 3517)
+		// Minimum execution time: 3_829_000 picoseconds.
+		Weight::from_parts(3_977_000, 3517)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 	}
 	fn seal_value_transferred() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 560_000 picoseconds.
-		Weight::from_parts(603_000, 0)
+		// Minimum execution time: 245_000 picoseconds.
+		Weight::from_parts(266_000, 0)
 	}
 	fn seal_minimum_balance() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 561_000 picoseconds.
-		Weight::from_parts(610_000, 0)
+		// Minimum execution time: 256_000 picoseconds.
+		Weight::from_parts(288_000, 0)
 	}
 	fn seal_block_number() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 557_000 picoseconds.
-		Weight::from_parts(583_000, 0)
+		// Minimum execution time: 265_000 picoseconds.
+		Weight::from_parts(278_000, 0)
 	}
 	fn seal_now() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 550_000 picoseconds.
-		Weight::from_parts(602_000, 0)
+		// Minimum execution time: 243_000 picoseconds.
+		Weight::from_parts(272_000, 0)
 	}
 	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
 	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `Measured`)
@@ -1278,117 +1132,102 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `67`
 		//  Estimated: `1552`
-		// Minimum execution time: 4_065_000 picoseconds.
-		Weight::from_parts(4_291_000, 1552)
+		// Minimum execution time: 5_467_000 picoseconds.
+		Weight::from_parts(5_607_000, 1552)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 	}
-	/// The range of component `n` is `[0, 1048572]`.
+	/// The range of component `n` is `[0, 262140]`.
 	fn seal_input(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 487_000 picoseconds.
-		Weight::from_parts(517_000, 0)
-			// Standard Error: 3
-			.saturating_add(Weight::from_parts(301, 0).saturating_mul(n.into()))
+		// Minimum execution time: 438_000 picoseconds.
+		Weight::from_parts(532_907, 0)
+			// Standard Error: 0
+			.saturating_add(Weight::from_parts(148, 0).saturating_mul(n.into()))
 	}
-	/// The range of component `n` is `[0, 1048572]`.
+	/// The range of component `n` is `[0, 262140]`.
 	fn seal_return(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 318_000 picoseconds.
-		Weight::from_parts(372_000, 0)
-			// Standard Error: 10
-			.saturating_add(Weight::from_parts(411, 0).saturating_mul(n.into()))
-	}
-	/// Storage: `Contracts::DeletionQueueCounter` (r:1 w:1)
-	/// Proof: `Contracts::DeletionQueueCounter` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
-	/// Storage: `Contracts::CodeInfoOf` (r:33 w:33)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
-	/// Storage: `Contracts::DeletionQueue` (r:0 w:1)
-	/// Proof: `Contracts::DeletionQueue` (`max_values`: None, `max_size`: Some(142), added: 2617, mode: `Measured`)
+		// Minimum execution time: 259_000 picoseconds.
+		Weight::from_parts(629_625, 0)
+			// Standard Error: 0
+			.saturating_add(Weight::from_parts(294, 0).saturating_mul(n.into()))
+	}
+	/// Storage: `Revive::DeletionQueueCounter` (r:1 w:1)
+	/// Proof: `Revive::DeletionQueueCounter` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:33 w:33)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
+	/// Storage: `Revive::DeletionQueue` (r:0 w:1)
+	/// Proof: `Revive::DeletionQueue` (`max_values`: None, `max_size`: Some(142), added: 2617, mode: `Measured`)
 	/// The range of component `n` is `[0, 32]`.
 	fn seal_terminate(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `319 + n * (78 ±0)`
-		//  Estimated: `3784 + n * (2553 ±0)`
-		// Minimum execution time: 13_251_000 picoseconds.
-		Weight::from_parts(15_257_892, 3784)
-			// Standard Error: 7_089
-			.saturating_add(Weight::from_parts(3_443_907, 0).saturating_mul(n.into()))
+		//  Measured:  `272 + n * (88 ±0)`
+		//  Estimated: `3738 + n * (2563 ±0)`
+		// Minimum execution time: 14_997_000 picoseconds.
+		Weight::from_parts(17_752_993, 3738)
+			// Standard Error: 9_865
+			.saturating_add(Weight::from_parts(4_159_693, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(n.into())))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(n.into())))
-			.saturating_add(Weight::from_parts(0, 2553).saturating_mul(n.into()))
-	}
-	/// Storage: `RandomnessCollectiveFlip::RandomMaterial` (r:1 w:0)
-	/// Proof: `RandomnessCollectiveFlip::RandomMaterial` (`max_values`: Some(1), `max_size`: Some(2594), added: 3089, mode: `Measured`)
-	fn seal_random() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `76`
-		//  Estimated: `1561`
-		// Minimum execution time: 3_434_000 picoseconds.
-		Weight::from_parts(3_605_000, 1561)
-			.saturating_add(RocksDbWeight::get().reads(1_u64))
+			.saturating_add(Weight::from_parts(0, 2563).saturating_mul(n.into()))
 	}
-	/// Storage: `System::EventTopics` (r:4 w:4)
-	/// Proof: `System::EventTopics` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// The range of component `t` is `[0, 4]`.
-	/// The range of component `n` is `[0, 16384]`.
+	/// The range of component `n` is `[0, 512]`.
 	fn seal_deposit_event(t: u32, n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
-		//  Estimated: `990 + t * (2475 ±0)`
-		// Minimum execution time: 3_668_000 picoseconds.
-		Weight::from_parts(3_999_591, 990)
-			// Standard Error: 5_767
-			.saturating_add(Weight::from_parts(2_011_090, 0).saturating_mul(t.into()))
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(12, 0).saturating_mul(n.into()))
-			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(t.into())))
-			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(t.into())))
-			.saturating_add(Weight::from_parts(0, 2475).saturating_mul(t.into()))
+		//  Estimated: `0`
+		// Minimum execution time: 4_277_000 picoseconds.
+		Weight::from_parts(4_023_910, 0)
+			// Standard Error: 2_210
+			.saturating_add(Weight::from_parts(202_823, 0).saturating_mul(t.into()))
+			// Standard Error: 19
+			.saturating_add(Weight::from_parts(1_141, 0).saturating_mul(n.into()))
 	}
-	/// The range of component `i` is `[0, 1048576]`.
+	/// The range of component `i` is `[0, 262144]`.
 	fn seal_debug_message(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 443_000 picoseconds.
-		Weight::from_parts(472_000, 0)
-			// Standard Error: 10
-			.saturating_add(Weight::from_parts(1_207, 0).saturating_mul(i.into()))
+		// Minimum execution time: 309_000 picoseconds.
+		Weight::from_parts(834_030, 0)
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(814, 0).saturating_mul(i.into()))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
 	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn get_storage_empty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `16618`
-		//  Estimated: `16618`
-		// Minimum execution time: 13_752_000 picoseconds.
-		Weight::from_parts(14_356_000, 16618)
+		//  Measured:  `744`
+		//  Estimated: `744`
+		// Minimum execution time: 7_705_000 picoseconds.
+		Weight::from_parts(7_923_000, 744)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
 	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn get_storage_full() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `26628`
-		//  Estimated: `26628`
-		// Minimum execution time: 43_444_000 picoseconds.
-		Weight::from_parts(45_087_000, 26628)
+		//  Measured:  `10754`
+		//  Estimated: `10754`
+		// Minimum execution time: 44_510_000 picoseconds.
+		Weight::from_parts(45_840_000, 10754)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
 	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn set_storage_empty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `16618`
-		//  Estimated: `16618`
-		// Minimum execution time: 15_616_000 picoseconds.
-		Weight::from_parts(16_010_000, 16618)
+		//  Measured:  `744`
+		//  Estimated: `744`
+		// Minimum execution time: 8_842_000 picoseconds.
+		Weight::from_parts(9_363_000, 744)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -1396,85 +1235,85 @@ impl WeightInfo for () {
 	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn set_storage_full() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `26628`
-		//  Estimated: `26628`
-		// Minimum execution time: 47_020_000 picoseconds.
-		Weight::from_parts(50_152_000, 26628)
+		//  Measured:  `10754`
+		//  Estimated: `10754`
+		// Minimum execution time: 46_172_000 picoseconds.
+		Weight::from_parts(47_586_000, 10754)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
 	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// The range of component `n` is `[0, 16384]`.
-	/// The range of component `o` is `[0, 16384]`.
+	/// The range of component `n` is `[0, 512]`.
+	/// The range of component `o` is `[0, 512]`.
 	fn seal_set_storage(n: u32, o: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `250 + o * (1 ±0)`
-		//  Estimated: `249 + o * (1 ±0)`
-		// Minimum execution time: 8_824_000 picoseconds.
-		Weight::from_parts(8_915_233, 249)
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(255, 0).saturating_mul(n.into()))
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(39, 0).saturating_mul(o.into()))
+		//  Measured:  `248 + o * (1 ±0)`
+		//  Estimated: `247 + o * (1 ±0)`
+		// Minimum execution time: 9_158_000 picoseconds.
+		Weight::from_parts(9_708_320, 247)
+			// Standard Error: 36
+			.saturating_add(Weight::from_parts(499, 0).saturating_mul(n.into()))
+			// Standard Error: 36
+			.saturating_add(Weight::from_parts(672, 0).saturating_mul(o.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(o.into()))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
 	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// The range of component `n` is `[0, 16384]`.
+	/// The range of component `n` is `[0, 512]`.
 	fn seal_clear_storage(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `248 + n * (1 ±0)`
-		//  Estimated: `248 + n * (1 ±0)`
-		// Minimum execution time: 7_133_000 picoseconds.
-		Weight::from_parts(7_912_778, 248)
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(88, 0).saturating_mul(n.into()))
+		//  Estimated: `247 + n * (1 ±0)`
+		// Minimum execution time: 8_885_000 picoseconds.
+		Weight::from_parts(9_597_656, 247)
+			// Standard Error: 48
+			.saturating_add(Weight::from_parts(649, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
 	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// The range of component `n` is `[0, 16384]`.
+	/// The range of component `n` is `[0, 512]`.
 	fn seal_get_storage(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `248 + n * (1 ±0)`
-		//  Estimated: `248 + n * (1 ±0)`
-		// Minimum execution time: 6_746_000 picoseconds.
-		Weight::from_parts(7_647_236, 248)
-			// Standard Error: 2
-			.saturating_add(Weight::from_parts(603, 0).saturating_mul(n.into()))
+		//  Estimated: `247 + n * (1 ±0)`
+		// Minimum execution time: 8_473_000 picoseconds.
+		Weight::from_parts(9_246_006, 247)
+			// Standard Error: 47
+			.saturating_add(Weight::from_parts(1_468, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
 	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// The range of component `n` is `[0, 16384]`.
+	/// The range of component `n` is `[0, 512]`.
 	fn seal_contains_storage(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `248 + n * (1 ±0)`
-		//  Estimated: `248 + n * (1 ±0)`
-		// Minimum execution time: 6_247_000 picoseconds.
-		Weight::from_parts(6_952_661, 248)
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(77, 0).saturating_mul(n.into()))
+		//  Estimated: `247 + n * (1 ±0)`
+		// Minimum execution time: 7_996_000 picoseconds.
+		Weight::from_parts(8_784_165, 247)
+			// Standard Error: 43
+			.saturating_add(Weight::from_parts(591, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
 	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// The range of component `n` is `[0, 16384]`.
+	/// The range of component `n` is `[0, 512]`.
 	fn seal_take_storage(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `248 + n * (1 ±0)`
-		//  Estimated: `248 + n * (1 ±0)`
-		// Minimum execution time: 7_428_000 picoseconds.
-		Weight::from_parts(8_384_015, 248)
-			// Standard Error: 2
-			.saturating_add(Weight::from_parts(625, 0).saturating_mul(n.into()))
+		//  Estimated: `247 + n * (1 ±0)`
+		// Minimum execution time: 9_246_000 picoseconds.
+		Weight::from_parts(10_239_803, 247)
+			// Standard Error: 57
+			.saturating_add(Weight::from_parts(1_305, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
@@ -1483,288 +1322,256 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_478_000 picoseconds.
-		Weight::from_parts(1_533_000, 0)
+		// Minimum execution time: 1_422_000 picoseconds.
+		Weight::from_parts(1_531_000, 0)
 	}
 	fn set_transient_storage_full() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_485_000 picoseconds.
-		Weight::from_parts(2_728_000, 0)
+		// Minimum execution time: 1_858_000 picoseconds.
+		Weight::from_parts(1_944_000, 0)
 	}
 	fn get_transient_storage_empty() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 3_195_000 picoseconds.
-		Weight::from_parts(3_811_000, 0)
+		// Minimum execution time: 1_443_000 picoseconds.
+		Weight::from_parts(1_506_000, 0)
 	}
 	fn get_transient_storage_full() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 3_902_000 picoseconds.
-		Weight::from_parts(4_118_000, 0)
+		// Minimum execution time: 1_592_000 picoseconds.
+		Weight::from_parts(1_651_000, 0)
 	}
 	fn rollback_transient_storage() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_571_000 picoseconds.
-		Weight::from_parts(1_662_000, 0)
+		// Minimum execution time: 960_000 picoseconds.
+		Weight::from_parts(1_060_000, 0)
 	}
-	/// The range of component `n` is `[0, 16384]`.
-	/// The range of component `o` is `[0, 16384]`.
+	/// The range of component `n` is `[0, 512]`.
+	/// The range of component `o` is `[0, 512]`.
 	fn seal_set_transient_storage(n: u32, o: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_250_000 picoseconds.
-		Weight::from_parts(2_465_568, 0)
-			// Standard Error: 0
-			.saturating_add(Weight::from_parts(201, 0).saturating_mul(n.into()))
-			// Standard Error: 0
-			.saturating_add(Weight::from_parts(223, 0).saturating_mul(o.into()))
+		// Minimum execution time: 2_151_000 picoseconds.
+		Weight::from_parts(2_294_801, 0)
+			// Standard Error: 11
+			.saturating_add(Weight::from_parts(375, 0).saturating_mul(n.into()))
+			// Standard Error: 11
+			.saturating_add(Weight::from_parts(415, 0).saturating_mul(o.into()))
 	}
-	/// The range of component `n` is `[0, 16384]`.
+	/// The range of component `n` is `[0, 512]`.
 	fn seal_clear_transient_storage(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_012_000 picoseconds.
-		Weight::from_parts(2_288_004, 0)
-			// Standard Error: 3
-			.saturating_add(Weight::from_parts(239, 0).saturating_mul(n.into()))
+		// Minimum execution time: 1_880_000 picoseconds.
+		Weight::from_parts(2_259_773, 0)
+			// Standard Error: 17
+			.saturating_add(Weight::from_parts(356, 0).saturating_mul(n.into()))
 	}
-	/// The range of component `n` is `[0, 16384]`.
+	/// The range of component `n` is `[0, 512]`.
 	fn seal_get_transient_storage(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_906_000 picoseconds.
-		Weight::from_parts(2_121_040, 0)
-			// Standard Error: 0
-			.saturating_add(Weight::from_parts(225, 0).saturating_mul(n.into()))
+		// Minimum execution time: 1_755_000 picoseconds.
+		Weight::from_parts(1_968_235, 0)
+			// Standard Error: 15
+			.saturating_add(Weight::from_parts(387, 0).saturating_mul(n.into()))
 	}
-	/// The range of component `n` is `[0, 16384]`.
+	/// The range of component `n` is `[0, 512]`.
 	fn seal_contains_transient_storage(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_736_000 picoseconds.
-		Weight::from_parts(1_954_728, 0)
-			// Standard Error: 0
-			.saturating_add(Weight::from_parts(111, 0).saturating_mul(n.into()))
+		// Minimum execution time: 1_618_000 picoseconds.
+		Weight::from_parts(1_811_972, 0)
+			// Standard Error: 12
+			.saturating_add(Weight::from_parts(174, 0).saturating_mul(n.into()))
 	}
-	/// The range of component `n` is `[0, 16384]`.
-	fn seal_take_transient_storage(_n: u32, ) -> Weight {
+	/// The range of component `n` is `[0, 512]`.
+	fn seal_take_transient_storage(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 7_872_000 picoseconds.
-		Weight::from_parts(8_125_644, 0)
+		// Minimum execution time: 2_482_000 picoseconds.
+		Weight::from_parts(2_682_484, 0)
+			// Standard Error: 13
+			.saturating_add(Weight::from_parts(2, 0).saturating_mul(n.into()))
 	}
 	fn seal_transfer() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `140`
 		//  Estimated: `0`
-		// Minimum execution time: 8_489_000 picoseconds.
-		Weight::from_parts(8_791_000, 0)
+		// Minimum execution time: 9_899_000 picoseconds.
+		Weight::from_parts(10_342_000, 0)
 	}
-	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
-	/// Storage: `Contracts::PristineCode` (r:1 w:0)
-	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
+	/// Storage: `Revive::ContractInfoOf` (r:1 w:0)
+	/// Proof: `Revive::ContractInfoOf` (`max_values`: None, `max_size`: Some(1775), added: 4250, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:0)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
+	/// Storage: `Revive::PristineCode` (r:1 w:0)
+	/// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`)
 	/// The range of component `t` is `[0, 1]`.
-	/// The range of component `i` is `[0, 1048576]`.
+	/// The range of component `i` is `[0, 262144]`.
 	fn seal_call(t: u32, i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `620 + t * (280 ±0)`
-		//  Estimated: `4085 + t * (2182 ±0)`
-		// Minimum execution time: 122_759_000 picoseconds.
-		Weight::from_parts(120_016_020, 4085)
-			// Standard Error: 173_118
-			.saturating_add(Weight::from_parts(42_848_338, 0).saturating_mul(t.into()))
+		//  Measured:  `626 + t * (140 ±0)`
+		//  Estimated: `4091 + t * (140 ±0)`
+		// Minimum execution time: 33_645_000 picoseconds.
+		Weight::from_parts(34_407_662, 4091)
+			// Standard Error: 36_930
+			.saturating_add(Weight::from_parts(2_062_425, 0).saturating_mul(t.into()))
 			// Standard Error: 0
-			.saturating_add(Weight::from_parts(6, 0).saturating_mul(i.into()))
+			.saturating_add(Weight::from_parts(3, 0).saturating_mul(i.into()))
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
-			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(t.into())))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
-			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(t.into())))
-			.saturating_add(Weight::from_parts(0, 2182).saturating_mul(t.into()))
+			.saturating_add(Weight::from_parts(0, 140).saturating_mul(t.into()))
 	}
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
-	/// Storage: `Contracts::PristineCode` (r:1 w:0)
-	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:0)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
+	/// Storage: `Revive::PristineCode` (r:1 w:0)
+	/// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`)
 	fn seal_delegate_call() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `430`
-		//  Estimated: `3895`
-		// Minimum execution time: 111_566_000 picoseconds.
-		Weight::from_parts(115_083_000, 3895)
+		//  Measured:  `457`
+		//  Estimated: `3922`
+		// Minimum execution time: 26_924_000 picoseconds.
+		Weight::from_parts(27_753_000, 3922)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 	}
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
-	/// Storage: `Contracts::PristineCode` (r:1 w:0)
-	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
-	/// Storage: `Contracts::Nonce` (r:1 w:0)
-	/// Proof: `Contracts::Nonce` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
-	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:1)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
+	/// Storage: `Revive::PristineCode` (r:1 w:0)
+	/// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`)
+	/// Storage: `Revive::ContractInfoOf` (r:1 w:1)
+	/// Proof: `Revive::ContractInfoOf` (`max_values`: None, `max_size`: Some(1775), added: 4250, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// The range of component `i` is `[0, 983040]`.
-	/// The range of component `s` is `[0, 983040]`.
-	fn seal_instantiate(i: u32) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `676`
-		//  Estimated: `4132`
-		// Minimum execution time: 1_871_402_000 picoseconds.
-		Weight::from_parts(1_890_038_000, 4132)
-			// Standard Error: 24
-			.saturating_add(Weight::from_parts(581, 0).saturating_mul(i.into()))
-			// Standard Error: 24
-			.saturating_add(RocksDbWeight::get().reads(5_u64))
+	/// The range of component `i` is `[0, 262144]`.
+	fn seal_instantiate(i: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `703`
+		//  Estimated: `4160`
+		// Minimum execution time: 117_979_000 picoseconds.
+		Weight::from_parts(105_415_117, 4160)
+			// Standard Error: 11
+			.saturating_add(Weight::from_parts(4_293, 0).saturating_mul(i.into()))
+			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// The range of component `n` is `[0, 1048576]`.
+	/// The range of component `n` is `[0, 262144]`.
 	fn seal_hash_sha2_256(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 966_000 picoseconds.
-		Weight::from_parts(9_599_151, 0)
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_336, 0).saturating_mul(n.into()))
+		// Minimum execution time: 620_000 picoseconds.
+		Weight::from_parts(3_414_286, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(1_463, 0).saturating_mul(n.into()))
 	}
-	/// The range of component `n` is `[0, 1048576]`.
+	/// The range of component `n` is `[0, 262144]`.
 	fn seal_hash_keccak_256(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_416_000 picoseconds.
-		Weight::from_parts(10_964_255, 0)
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(3_593, 0).saturating_mul(n.into()))
+		// Minimum execution time: 1_043_000 picoseconds.
+		Weight::from_parts(3_402_639, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(3_667, 0).saturating_mul(n.into()))
 	}
-	/// The range of component `n` is `[0, 1048576]`.
+	/// The range of component `n` is `[0, 262144]`.
 	fn seal_hash_blake2_256(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 821_000 picoseconds.
-		Weight::from_parts(6_579_283, 0)
-			// Standard Error: 0
-			.saturating_add(Weight::from_parts(1_466, 0).saturating_mul(n.into()))
+		// Minimum execution time: 642_000 picoseconds.
+		Weight::from_parts(3_359_294, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(1_590, 0).saturating_mul(n.into()))
 	}
-	/// The range of component `n` is `[0, 1048576]`.
+	/// The range of component `n` is `[0, 262144]`.
 	fn seal_hash_blake2_128(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 773_000 picoseconds.
-		Weight::from_parts(10_990_209, 0)
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_457, 0).saturating_mul(n.into()))
+		// Minimum execution time: 606_000 picoseconds.
+		Weight::from_parts(3_789_868, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(1_575, 0).saturating_mul(n.into()))
 	}
-	/// The range of component `n` is `[0, 125697]`.
+	/// The range of component `n` is `[0, 261889]`.
 	fn seal_sr25519_verify(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 43_195_000 picoseconds.
-		Weight::from_parts(41_864_855, 0)
-			// Standard Error: 9
-			.saturating_add(Weight::from_parts(5_154, 0).saturating_mul(n.into()))
+		// Minimum execution time: 46_195_000 picoseconds.
+		Weight::from_parts(31_420_941, 0)
+			// Standard Error: 13
+			.saturating_add(Weight::from_parts(5_165, 0).saturating_mul(n.into()))
 	}
 	fn seal_ecdsa_recover() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 47_747_000 picoseconds.
-		Weight::from_parts(49_219_000, 0)
+		// Minimum execution time: 46_933_000 picoseconds.
+		Weight::from_parts(48_054_000, 0)
 	}
 	fn seal_ecdsa_to_eth_address() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 12_854_000 picoseconds.
-		Weight::from_parts(12_962_000, 0)
+		// Minimum execution time: 12_531_000 picoseconds.
+		Weight::from_parts(12_690_000, 0)
 	}
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
-	/// Storage: `Contracts::PristineCode` (r:1 w:0)
-	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:1)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
 	fn seal_set_code_hash() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `430`
-		//  Estimated: `3895`
-		// Minimum execution time: 17_868_000 picoseconds.
-		Weight::from_parts(18_486_000, 3895)
-			.saturating_add(RocksDbWeight::get().reads(2_u64))
+		//  Measured:  `266`
+		//  Estimated: `3731`
+		// Minimum execution time: 14_694_000 picoseconds.
+		Weight::from_parts(15_032_000, 3731)
+			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:1)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`)
 	fn lock_delegate_dependency() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `355`
-		//  Estimated: `3820`
-		// Minimum execution time: 8_393_000 picoseconds.
-		Weight::from_parts(8_640_000, 3820)
+		//  Measured:  `304`
+		//  Estimated: `3769`
+		// Minimum execution time: 10_205_000 picoseconds.
+		Weight::from_parts(10_707_000, 3769)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
-	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
+	/// Storage: `Revive::CodeInfoOf` (r:1 w:1)
+	/// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`)
 	fn unlock_delegate_dependency() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `355`
-		//  Estimated: `3558`
-		// Minimum execution time: 7_489_000 picoseconds.
-		Weight::from_parts(7_815_000, 3558)
+		//  Measured:  `304`
+		//  Estimated: `3561`
+		// Minimum execution time: 9_025_000 picoseconds.
+		Weight::from_parts(9_517_000, 3561)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	fn seal_reentrance_count() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 299_000 picoseconds.
-		Weight::from_parts(339_000, 0)
-	}
-	fn seal_account_reentrance_count() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 324_000 picoseconds.
-		Weight::from_parts(380_000, 0)
-	}
-	/// Storage: `Contracts::Nonce` (r:1 w:0)
-	/// Proof: `Contracts::Nonce` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
-	fn seal_instantiation_nonce() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `219`
-		//  Estimated: `1704`
-		// Minimum execution time: 2_768_000 picoseconds.
-		Weight::from_parts(3_025_000, 1704)
-			.saturating_add(RocksDbWeight::get().reads(1_u64))
-	}
 	/// The range of component `r` is `[0, 5000]`.
-	fn instr_i64_load_store(r: u32, ) -> Weight {
+	fn instr(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 766_000 picoseconds.
-		Weight::from_parts(722_169, 0)
-			// Standard Error: 10
-			.saturating_add(Weight::from_parts(7_191, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_451_000 picoseconds.
+		Weight::from_parts(10_620_260, 0)
+			// Standard Error: 77
+			.saturating_add(Weight::from_parts(84_885, 0).saturating_mul(r.into()))
 	}
 }
-- 
GitLab