diff --git a/Cargo.lock b/Cargo.lock index 61863994c60c4..3f3ffb42b8de1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2518,6 +2518,17 @@ dependencies = [ "digest 0.9.0", ] +[[package]] +name = "hmac-drbg" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6e570451493f10f6581b48cdd530413b63ea9e780f544bfd3bdcaa0d89d1a7b" +dependencies = [ + "digest 0.8.1", + "generic-array 0.12.4", + "hmac 0.7.1", +] + [[package]] name = "hmac-drbg" version = "0.3.0" @@ -3659,6 +3670,22 @@ dependencies = [ "libc", ] +[[package]] +name = "libsecp256k1" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fc1e2c808481a63dc6da2074752fdd4336a3c8fcc68b83db6f1fd5224ae7962" +dependencies = [ + "arrayref", + "crunchy", + "digest 0.8.1", + "hmac-drbg 0.2.0", + "rand 0.7.3", + "sha2 0.8.2", + "subtle 2.4.0", + "typenum", +] + [[package]] name = "libsecp256k1" version = "0.5.0" @@ -3668,7 +3695,7 @@ dependencies = [ "arrayref", "base64 0.12.3", "digest 0.9.0", - "hmac-drbg", + "hmac-drbg 0.3.0", "libsecp256k1-core", "libsecp256k1-gen-ecmult", "libsecp256k1-gen-genmult", @@ -3687,7 +3714,7 @@ dependencies = [ "arrayref", "base64 0.12.3", "digest 0.9.0", - "hmac-drbg", + "hmac-drbg 0.3.0", "libsecp256k1-core", "libsecp256k1-gen-ecmult", "libsecp256k1-gen-genmult", @@ -5022,6 +5049,7 @@ dependencies = [ "frame-support", "frame-system", "hex-literal", + "libsecp256k1 0.3.5", "log 0.4.14", "pallet-balances", "pallet-contracts-primitives", @@ -5032,8 +5060,8 @@ dependencies = [ "parity-scale-codec", "pretty_assertions 0.7.2", "pwasm-utils", - "rand 0.8.4", - "rand_pcg 0.3.0", + "rand 0.7.3", + "rand_pcg 0.2.1", "serde", "smallvec 1.6.1", "sp-core", @@ -6816,15 +6844,6 @@ dependencies = [ "rand_core 0.5.1", ] -[[package]] -name = "rand_pcg" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7de198537002b913568a3847e53535ace266f93526caf5c360ec41d72c5787f0" -dependencies = [ - "rand_core 0.6.2", -] - [[package]] name = "rand_xorshift" version = "0.1.1" diff --git a/frame/contracts/COMPLEXITY.md b/frame/contracts/COMPLEXITY.md index f0e5a035586bc..1fc1932fe1b5f 100644 --- a/frame/contracts/COMPLEXITY.md +++ b/frame/contracts/COMPLEXITY.md @@ -468,3 +468,20 @@ algorithms have different inherent complexity so users must expect the above mentioned crypto hashes to have varying gas costs. The complexity of each cryptographic hash function highly depends on the underlying implementation. + +### seal_ecdsa_recover + +This function receives the following arguments: + +- `signature` is 65 bytes buffer, +- `message_hash` is 32 bytes buffer, +- `output` is 33 bytes buffer to return compressed public key, + +It consists of the following steps: + +1. Loading `signature` buffer from the sandbox memory (see sandboxing memory get). +2. Loading `message_hash` buffer from the sandbox memory. +3. Invoking the executive function `secp256k1_ecdsa_recover_compressed`. +4. Copy the bytes of compressed public key into the contract side output buffer. + +**complexity**: Complexity is partially constant(it doesn't depend on input) but still depends on points of ECDSA and calculation. \ No newline at end of file diff --git a/frame/contracts/Cargo.toml b/frame/contracts/Cargo.toml index 295419a27911c..36d05e35180be 100644 --- a/frame/contracts/Cargo.toml +++ b/frame/contracts/Cargo.toml @@ -27,8 +27,9 @@ smallvec = { version = "1", default-features = false, features = [ wasmi-validation = { version = "0.4", default-features = false } # Only used in benchmarking to generate random contract code -rand = { version = "0.8", optional = true, default-features = false } -rand_pcg = { version = "0.3", optional = true } +libsecp256k1 = { version = "0.3.5", optional = true, default-features = false, features = ["hmac"] } +rand = { version = "0.7.3", optional = true, default-features = false } +rand_pcg = { version = "0.2", optional = true } # Substrate Dependencies frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../benchmarking", optional = true } @@ -73,9 +74,11 @@ std = [ "pallet-contracts-proc-macro/full", "log/std", "rand/std", + "libsecp256k1/std", ] runtime-benchmarks = [ "frame-benchmarking", + "libsecp256k1", "rand", "rand_pcg", "unstable-interface", diff --git a/frame/contracts/fixtures/ecdsa_recover.wat b/frame/contracts/fixtures/ecdsa_recover.wat new file mode 100644 index 0000000000000..c196e88094d2c --- /dev/null +++ b/frame/contracts/fixtures/ecdsa_recover.wat @@ -0,0 +1,55 @@ +;; This contract: +;; 1) Reads signature and message hash from the input +;; 2) Calls ecdsa_recover +;; 3) Validates that result is Success +;; 4) Returns recovered compressed public key +(module + (import "__unstable__" "seal_ecdsa_recover" (func $seal_ecdsa_recover (param i32 i32 i32) (result i32))) + (import "seal0" "seal_return" (func $seal_return (param i32 i32 i32))) + (import "seal0" "seal_input" (func $seal_input (param i32 i32))) + (import "env" "memory" (memory 1 1)) + + (func $assert (param i32) + (block $ok + (br_if $ok + (get_local 0) + ) + (unreachable) + ) + ) + + (func (export "deploy")) + + ;; [4, 8) len of signature + message hash - 65 bytes + 32 byte = 97 bytes + (data (i32.const 4) "\61") + + ;; Memory layout during `call` + ;; [10, 75) signature + ;; [75, 107) message hash + (func (export "call") + (local $signature_ptr i32) + (local $message_hash_ptr i32) + (local $result i32) + (local.set $signature_ptr (i32.const 10)) + (local.set $message_hash_ptr (i32.const 75)) + ;; Read signature and message hash - 97 bytes + (call $seal_input (local.get $signature_ptr) (i32.const 4)) + (local.set + $result + (call $seal_ecdsa_recover + (local.get $signature_ptr) + (local.get $message_hash_ptr) + (local.get $signature_ptr) ;; Store output into message signature ptr, because we don't need it anymore + ) + ) + (call $assert + (i32.eq + (local.get $result) ;; The result of recovery execution + (i32.const 0x0) ;; 0x0 - Success result + ) + ) + + ;; exit with success and return recovered public key + (call $seal_return (i32.const 0) (local.get $signature_ptr) (i32.const 33)) + ) +) diff --git a/frame/contracts/src/benchmarking/code.rs b/frame/contracts/src/benchmarking/code.rs index 15abd9968cd01..b24005ec58699 100644 --- a/frame/contracts/src/benchmarking/code.rs +++ b/frame/contracts/src/benchmarking/code.rs @@ -492,11 +492,11 @@ pub mod body { vec![Instruction::I32Const(current as i32)] }, DynInstr::RandomUnaligned(low, high) => { - let unaligned = rng.gen_range(*low..*high) | 1; + let unaligned = rng.gen_range(*low, *high) | 1; vec![Instruction::I32Const(unaligned as i32)] }, DynInstr::RandomI32(low, high) => { - vec![Instruction::I32Const(rng.gen_range(*low..*high))] + vec![Instruction::I32Const(rng.gen_range(*low, *high))] }, DynInstr::RandomI32Repeated(num) => (&mut rng) .sample_iter(Standard) @@ -509,19 +509,19 @@ pub mod body { .map(|val| Instruction::I64Const(val)) .collect(), DynInstr::RandomGetLocal(low, high) => { - vec![Instruction::GetLocal(rng.gen_range(*low..*high))] + vec![Instruction::GetLocal(rng.gen_range(*low, *high))] }, DynInstr::RandomSetLocal(low, high) => { - vec![Instruction::SetLocal(rng.gen_range(*low..*high))] + vec![Instruction::SetLocal(rng.gen_range(*low, *high))] }, DynInstr::RandomTeeLocal(low, high) => { - vec![Instruction::TeeLocal(rng.gen_range(*low..*high))] + vec![Instruction::TeeLocal(rng.gen_range(*low, *high))] }, DynInstr::RandomGetGlobal(low, high) => { - vec![Instruction::GetGlobal(rng.gen_range(*low..*high))] + vec![Instruction::GetGlobal(rng.gen_range(*low, *high))] }, DynInstr::RandomSetGlobal(low, high) => { - vec![Instruction::SetGlobal(rng.gen_range(*low..*high))] + vec![Instruction::SetGlobal(rng.gen_range(*low, *high))] }, }) .chain(sp_std::iter::once(Instruction::End)) diff --git a/frame/contracts/src/benchmarking/mod.rs b/frame/contracts/src/benchmarking/mod.rs index f1c539fa918ac..74877e5b838d6 100644 --- a/frame/contracts/src/benchmarking/mod.rs +++ b/frame/contracts/src/benchmarking/mod.rs @@ -1415,6 +1415,60 @@ benchmarks! { let origin = RawOrigin::Signed(instance.caller.clone()); }: call(origin, instance.addr, 0u32.into(), Weight::max_value(), vec![]) + // Only calling the function itself with valid arguments. + // It generates different private keys and signatures for the message "Hello world". + seal_ecdsa_recover { + let r in 0 .. API_BENCHMARK_BATCHES; + use rand::SeedableRng; + let mut rng = rand_pcg::Pcg32::seed_from_u64(123456); + + let message_hash = sp_io::hashing::blake2_256("Hello world".as_bytes()); + let signatures = (0..r * API_BENCHMARK_BATCH_SIZE) + .map(|i| { + use secp256k1::{SecretKey, Message, sign}; + + let private_key = SecretKey::random(&mut rng); + let (signature, recovery_id) = sign(&Message::parse(&message_hash), &private_key); + let mut full_signature = [0; 65]; + full_signature[..64].copy_from_slice(&signature.serialize()); + full_signature[64] = recovery_id.serialize(); + full_signature + }) + .collect::>(); + let signatures = signatures.iter().flatten().cloned().collect::>(); + let signatures_bytes_len = signatures.len() as i32; + + let code = WasmModule::::from(ModuleDefinition { + memory: Some(ImportedMemory::max::()), + imported_functions: vec![ImportedFunction { + module: "__unstable__", + name: "seal_ecdsa_recover", + params: vec![ValueType::I32, ValueType::I32, ValueType::I32], + return_type: Some(ValueType::I32), + }], + data_segments: vec![ + DataSegment { + offset: 0, + value: message_hash[..].to_vec(), + }, + DataSegment { + offset: 32, + value: signatures, + }, + ], + call_body: Some(body::repeated_dyn(r * API_BENCHMARK_BATCH_SIZE, vec![ + Counter(32, 65), // signature_ptr + Regular(Instruction::I32Const(0)), // message_hash_ptr + Regular(Instruction::I32Const(signatures_bytes_len + 32)), // output_len_ptr + Regular(Instruction::Call(0)), + Regular(Instruction::Drop), + ])), + .. Default::default() + }); + let instance = Contract::::new(code, vec![])?; + let origin = RawOrigin::Signed(instance.caller.clone()); + }: call(origin, instance.addr, 0u32.into(), Weight::max_value(), vec![]) + // We make the assumption that pushing a constant and dropping a value takes roughly // the same amount of time. We follow that `t.load` and `drop` both have the weight // of this benchmark / 2. We need to make this assumption because there is no way diff --git a/frame/contracts/src/exec.rs b/frame/contracts/src/exec.rs index 4039b1d134e12..516de3a22d5ae 100644 --- a/frame/contracts/src/exec.rs +++ b/frame/contracts/src/exec.rs @@ -30,6 +30,7 @@ use frame_system::RawOrigin; use pallet_contracts_primitives::ExecReturnValue; use smallvec::{Array, SmallVec}; use sp_core::crypto::UncheckedFrom; +use sp_io::crypto::secp256k1_ecdsa_recover_compressed; use sp_runtime::traits::{Convert, Saturating}; use sp_std::{marker::PhantomData, mem, prelude::*}; @@ -205,6 +206,9 @@ pub trait Ext: sealing::Sealed { /// Call some dispatchable and return the result. fn call_runtime(&self, call: ::Call) -> DispatchResultWithPostInfo; + + /// Recovers ECDSA compressed public key based on signature and message hash. + fn ecdsa_recover(&self, signature: &[u8; 65], message_hash: &[u8; 32]) -> Result<[u8; 33], ()>; } /// Describes the different functions that can be exported by an [`Executable`]. @@ -1033,6 +1037,10 @@ where origin.add_filter(T::CallFilter::contains); call.dispatch(origin) } + + fn ecdsa_recover(&self, signature: &[u8; 65], message_hash: &[u8; 32]) -> Result<[u8; 33], ()> { + secp256k1_ecdsa_recover_compressed(&signature, &message_hash).map_err(|_| ()) + } } fn deposit_event(topics: Vec, event: Event) { diff --git a/frame/contracts/src/schedule.rs b/frame/contracts/src/schedule.rs index 69495b3e96af5..51aefa8bdaf63 100644 --- a/frame/contracts/src/schedule.rs +++ b/frame/contracts/src/schedule.rs @@ -378,6 +378,9 @@ pub struct HostFnWeights { /// Weight per byte hashed by `seal_hash_blake2_128`. pub hash_blake2_128_per_byte: Weight, + /// Weight of calling `seal_ecdsa_recover`. + pub ecdsa_recover: Weight, + /// The type parameter is used in the default implementation. #[codec(skip)] pub _phantom: PhantomData, @@ -625,6 +628,7 @@ impl Default for HostFnWeights { hash_blake2_256_per_byte: cost_byte_batched!(seal_hash_blake2_256_per_kb), hash_blake2_128: cost_batched!(seal_hash_blake2_128), hash_blake2_128_per_byte: cost_byte_batched!(seal_hash_blake2_128_per_kb), + ecdsa_recover: cost_batched!(seal_ecdsa_recover), _phantom: PhantomData, } } diff --git a/frame/contracts/src/tests.rs b/frame/contracts/src/tests.rs index 5d2057a0b7df3..28f05fd390d5d 100644 --- a/frame/contracts/src/tests.rs +++ b/frame/contracts/src/tests.rs @@ -1795,3 +1795,53 @@ fn gas_estimation_call_runtime() { ); }); } + +#[test] +#[cfg(feature = "unstable-interface")] +fn ecdsa_recover() { + let (wasm, code_hash) = compile_module::("ecdsa_recover").unwrap(); + + ExtBuilder::default().existential_deposit(50).build().execute_with(|| { + let _ = Balances::deposit_creating(&ALICE, 1_000_000); + + // Instantiate the ecdsa_recover contract. + assert_ok!(Contracts::instantiate_with_code( + Origin::signed(ALICE), + 100_000, + GAS_LIMIT, + wasm, + vec![], + vec![], + )); + let addr = Contracts::contract_address(&ALICE, &code_hash, &[]); + + #[rustfmt::skip] + let signature: [u8; 65] = [ + 161, 234, 203, 74, 147, 96, 51, 212, 5, 174, 231, 9, 142, 48, 137, 201, + 162, 118, 192, 67, 239, 16, 71, 216, 125, 86, 167, 139, 70, 7, 86, 241, + 33, 87, 154, 251, 81, 29, 160, 4, 176, 239, 88, 211, 244, 232, 232, 52, + 211, 234, 100, 115, 230, 47, 80, 44, 152, 166, 62, 50, 8, 13, 86, 175, + 28, + ]; + #[rustfmt::skip] + let message_hash: [u8; 32] = [ + 162, 28, 244, 179, 96, 76, 244, 178, 188, 83, 230, 248, 143, 106, 77, 117, + 239, 95, 244, 171, 65, 95, 62, 153, 174, 166, 182, 28, 130, 73, 196, 208 + ]; + #[rustfmt::skip] + const EXPECTED_COMPRESSED_PUBLIC_KEY: [u8; 33] = [ + 2, 121, 190, 102, 126, 249, 220, 187, 172, 85, 160, 98, 149, 206, 135, 11, + 7, 2, 155, 252, 219, 45, 206, 40, 217, 89, 242, 129, 91, 22, 248, 23, + 152, + ]; + let mut params = vec![]; + params.extend_from_slice(&signature); + params.extend_from_slice(&message_hash); + assert!(params.len() == 65 + 32); + let result = >::bare_call(ALICE, addr.clone(), 0, GAS_LIMIT, params, false) + .result + .unwrap(); + assert!(result.is_success()); + assert_eq!(result.data.as_ref(), &EXPECTED_COMPRESSED_PUBLIC_KEY); + }) +} diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index 843c78b73ca86..b92ed111e9881 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -295,6 +295,7 @@ mod tests { schedule: Schedule, gas_meter: GasMeter, debug_buffer: Vec, + ecdsa_recover: RefCell>, } /// The call is mocked and just returns this hardcoded value. @@ -315,6 +316,7 @@ mod tests { schedule: Default::default(), gas_meter: GasMeter::new(10_000_000_000), debug_buffer: Default::default(), + ecdsa_recover: Default::default(), } } } @@ -418,6 +420,15 @@ mod tests { self.runtime_calls.borrow_mut().push(call); Ok(Default::default()) } + + fn ecdsa_recover( + &self, + signature: &[u8; 65], + message_hash: &[u8; 32], + ) -> Result<[u8; 33], ()> { + self.ecdsa_recover.borrow_mut().push((signature.clone(), message_hash.clone())); + Ok([3; 33]) + } } fn execute>(wat: &str, input_data: Vec, mut ext: E) -> ExecResult { @@ -850,6 +861,51 @@ mod tests { ); } + #[cfg(feature = "unstable-interface")] + const CODE_ECDSA_RECOVER: &str = r#" +(module + ;; seal_ecdsa_recover( + ;; signature_ptr: u32, + ;; message_hash_ptr: u32, + ;; output_ptr: u32 + ;; ) -> u32 + (import "__unstable__" "seal_ecdsa_recover" (func $seal_ecdsa_recover (param i32 i32 i32) (result i32))) + (import "env" "memory" (memory 1 1)) + (func (export "call") + (drop + (call $seal_ecdsa_recover + (i32.const 36) ;; Pointer to signature. + (i32.const 4) ;; Pointer to message hash. + (i32.const 36) ;; Pointer for output - public key. + ) + ) + ) + (func (export "deploy")) + + ;; Hash of message. + (data (i32.const 4) + "\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" + "\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" + ) + ;; Signature + (data (i32.const 36) + "\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" + "\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" + "\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" + "\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" + "\01" + ) +) +"#; + + #[test] + #[cfg(feature = "unstable-interface")] + fn contract_ecdsa_recover() { + let mut mock_ext = MockExt::default(); + assert_ok!(execute(&CODE_ECDSA_RECOVER, vec![], &mut mock_ext)); + assert_eq!(mock_ext.ecdsa_recover.into_inner(), [([1; 65], [1; 32])]); + } + const CODE_GET_STORAGE: &str = r#" (module (import "seal0" "seal_get_storage" (func $seal_get_storage (param i32 i32 i32) (result i32))) diff --git a/frame/contracts/src/wasm/runtime.rs b/frame/contracts/src/wasm/runtime.rs index 4612cc131faf4..52b864bf18eac 100644 --- a/frame/contracts/src/wasm/runtime.rs +++ b/frame/contracts/src/wasm/runtime.rs @@ -73,6 +73,9 @@ pub enum ReturnCode { /// The call dispatched by `seal_call_runtime` was executed but returned an error. #[cfg(feature = "unstable-interface")] CallRuntimeReturnedError = 10, + /// ECDSA pubkey recovery failed. Most probably wrong recovery id or signature. + #[cfg(feature = "unstable-interface")] + EcdsaRecoverFailed = 11, } impl ConvertibleToWasm for ReturnCode { @@ -199,6 +202,9 @@ pub enum RuntimeCosts { HashBlake256(u32), /// Weight of calling `seal_hash_blake2_128` for the given input size. HashBlake128(u32), + /// Weight of calling `seal_ecdsa_recover`. + #[cfg(feature = "unstable-interface")] + EcdsaRecovery, /// Weight charged by a chain extension through `seal_call_chain_extension`. ChainExtension(u64), /// Weight charged for copying data from the sandbox. @@ -265,6 +271,8 @@ impl RuntimeCosts { HashBlake128(len) => s .hash_blake2_128 .saturating_add(s.hash_blake2_128_per_byte.saturating_mul(len.into())), + #[cfg(feature = "unstable-interface")] + EcdsaRecovery => s.ecdsa_recover, ChainExtension(amount) => amount, #[cfg(feature = "unstable-interface")] CopyIn(len) => s.return_per_byte.saturating_mul(len.into()), @@ -1712,4 +1720,44 @@ define_env!(Env, , Err(_) => Ok(ReturnCode::CallRuntimeReturnedError), } }, + + // Recovers the ECDSA public key from the given message hash and signature. + // + // Writes the public key into the given output buffer. + // Assumes the secp256k1 curve. + // + // # Parameters + // + // - `signature_ptr`: the pointer into the linear memory where the signature + // is placed. Should be decodable as a 65 bytes. Traps otherwise. + // - `message_hash_ptr`: the pointer into the linear memory where the message + // hash is placed. Should be decodable as a 32 bytes. Traps otherwise. + // - `output_ptr`: the pointer into the linear memory where the output + // data is placed. The buffer should be 33 bytes. Traps otherwise. + // The function will write the result directly into this buffer. + // + // # Errors + // + // `ReturnCode::EcdsaRecoverFailed` + [__unstable__] seal_ecdsa_recover(ctx, signature_ptr: u32, message_hash_ptr: u32, output_ptr: u32) -> ReturnCode => { + ctx.charge_gas(RuntimeCosts::EcdsaRecovery)?; + + let mut signature: [u8; 65] = [0; 65]; + ctx.read_sandbox_memory_into_buf(signature_ptr, &mut signature)?; + let mut message_hash: [u8; 32] = [0; 32]; + ctx.read_sandbox_memory_into_buf(message_hash_ptr, &mut message_hash)?; + + let result = ctx.ext.ecdsa_recover(&signature, &message_hash); + + match result { + Ok(pub_key) => { + // Write the recovered compressed ecdsa public key back into the sandboxed output + // buffer. + ctx.write_sandbox_memory(output_ptr, pub_key.as_ref())?; + + Ok(ReturnCode::Success) + }, + Err(_) => Ok(ReturnCode::EcdsaRecoverFailed), + } + }, ); diff --git a/frame/contracts/src/weights.rs b/frame/contracts/src/weights.rs index d15badcbaf59e..1cebcb3b5d9a0 100644 --- a/frame/contracts/src/weights.rs +++ b/frame/contracts/src/weights.rs @@ -18,7 +18,7 @@ //! Autogenerated weights for pallet_contracts //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2021-09-07, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2021-09-09, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 128 // Executed Command: @@ -92,6 +92,7 @@ pub trait WeightInfo { fn seal_hash_blake2_256_per_kb(n: u32, ) -> Weight; fn seal_hash_blake2_128(r: u32, ) -> Weight; fn seal_hash_blake2_128_per_kb(n: u32, ) -> Weight; + fn seal_ecdsa_recover(r: u32, ) -> Weight; fn instr_i64const(r: u32, ) -> Weight; fn instr_i64load(r: u32, ) -> Weight; fn instr_i64store(r: u32, ) -> Weight; @@ -150,47 +151,47 @@ pub struct SubstrateWeight(PhantomData); impl WeightInfo for SubstrateWeight { // Storage: Contracts DeletionQueue (r:1 w:0) fn on_initialize() -> Weight { - (3_345_000 as Weight) + (3_226_000 as Weight) .saturating_add(T::DbWeight::get().reads(1 as Weight)) } // Storage: Skipped Metadata (r:0 w:0) fn on_initialize_per_trie_key(k: u32, ) -> Weight { (0 as Weight) - // Standard Error: 3_000 - .saturating_add((2_212_000 as Weight).saturating_mul(k as Weight)) + // Standard Error: 2_000 + .saturating_add((2_178_000 as Weight).saturating_mul(k as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(k as Weight))) } // Storage: Contracts DeletionQueue (r:1 w:0) fn on_initialize_per_queue_item(q: u32, ) -> Weight { - (80_219_000 as Weight) - // Standard Error: 2_000 - .saturating_add((375_000 as Weight).saturating_mul(q as Weight)) + (78_329_000 as Weight) + // Standard Error: 1_000 + .saturating_add((353_000 as Weight).saturating_mul(q as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } // Storage: Contracts PristineCode (r:1 w:0) // Storage: Contracts CodeStorage (r:0 w:1) fn instrument(c: u32, ) -> Weight { - (35_370_000 as Weight) - // Standard Error: 85_000 - .saturating_add((72_516_000 as Weight).saturating_mul(c as Weight)) + (37_190_000 as Weight) + // Standard Error: 80_000 + .saturating_add((72_791_000 as Weight).saturating_mul(c as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } // Storage: Contracts CodeStorage (r:1 w:0) fn code_load(c: u32, ) -> Weight { - (6_479_000 as Weight) + (6_191_000 as Weight) // Standard Error: 0 .saturating_add((1_426_000 as Weight).saturating_mul(c as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) } // Storage: Contracts CodeStorage (r:1 w:1) fn code_refcount(c: u32, ) -> Weight { - (10_220_000 as Weight) - // Standard Error: 0 - .saturating_add((2_280_000 as Weight).saturating_mul(c as Weight)) + (10_333_000 as Weight) + // Standard Error: 1_000 + .saturating_add((2_275_000 as Weight).saturating_mul(c as Weight)) .saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -201,11 +202,11 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:1) // Storage: Contracts PristineCode (r:0 w:1) fn instantiate_with_code(c: u32, s: u32, ) -> Weight { - (404_011_000 as Weight) - // Standard Error: 220_000 - .saturating_add((181_224_000 as Weight).saturating_mul(c as Weight)) - // Standard Error: 14_000 - .saturating_add((2_198_000 as Weight).saturating_mul(s as Weight)) + (438_556_000 as Weight) + // Standard Error: 147_000 + .saturating_add((179_307_000 as Weight).saturating_mul(c as Weight)) + // Standard Error: 9_000 + .saturating_add((2_159_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().writes(4 as Weight)) } @@ -215,9 +216,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Timestamp Now (r:1 w:0) // Storage: System Account (r:1 w:1) fn instantiate(s: u32, ) -> Weight { - (215_544_000 as Weight) - // Standard Error: 2_000 - .saturating_add((1_986_000 as Weight).saturating_mul(s as Weight)) + (186_776_000 as Weight) + // Standard Error: 1_000 + .saturating_add((2_033_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight)) } @@ -226,7 +227,7 @@ impl WeightInfo for SubstrateWeight { // Storage: Timestamp Now (r:1 w:0) // Storage: System Account (r:1 w:1) fn call() -> Weight { - (177_006_000 as Weight) + (159_247_000 as Weight) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } @@ -234,9 +235,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_caller(r: u32, ) -> Weight { - (420_960_000 as Weight) - // Standard Error: 129_000 - .saturating_add((133_032_000 as Weight).saturating_mul(r as Weight)) + (422_263_000 as Weight) + // Standard Error: 159_000 + .saturating_add((125_490_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -244,9 +245,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_address(r: u32, ) -> Weight { - (419_566_000 as Weight) - // Standard Error: 121_000 - .saturating_add((133_539_000 as Weight).saturating_mul(r as Weight)) + (423_009_000 as Weight) + // Standard Error: 183_000 + .saturating_add((125_795_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -254,9 +255,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_gas_left(r: u32, ) -> Weight { - (420_772_000 as Weight) - // Standard Error: 146_000 - .saturating_add((132_394_000 as Weight).saturating_mul(r as Weight)) + (429_297_000 as Weight) + // Standard Error: 164_000 + .saturating_add((124_324_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -265,9 +266,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Timestamp Now (r:1 w:0) // Storage: System Account (r:1 w:0) fn seal_balance(r: u32, ) -> Weight { - (425_259_000 as Weight) - // Standard Error: 237_000 - .saturating_add((379_279_000 as Weight).saturating_mul(r as Weight)) + (442_330_000 as Weight) + // Standard Error: 187_000 + .saturating_add((354_665_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -275,9 +276,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_value_transferred(r: u32, ) -> Weight { - (421_599_000 as Weight) - // Standard Error: 162_000 - .saturating_add((133_964_000 as Weight).saturating_mul(r as Weight)) + (411_893_000 as Weight) + // Standard Error: 178_000 + .saturating_add((125_971_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -285,9 +286,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_minimum_balance(r: u32, ) -> Weight { - (414_423_000 as Weight) - // Standard Error: 164_000 - .saturating_add((134_814_000 as Weight).saturating_mul(r as Weight)) + (413_273_000 as Weight) + // Standard Error: 180_000 + .saturating_add((125_103_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -295,9 +296,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_tombstone_deposit(r: u32, ) -> Weight { - (423_908_000 as Weight) - // Standard Error: 134_000 - .saturating_add((133_470_000 as Weight).saturating_mul(r as Weight)) + (415_613_000 as Weight) + // Standard Error: 192_000 + .saturating_add((126_106_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -305,9 +306,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_block_number(r: u32, ) -> Weight { - (423_769_000 as Weight) - // Standard Error: 138_000 - .saturating_add((135_123_000 as Weight).saturating_mul(r as Weight)) + (414_718_000 as Weight) + // Standard Error: 170_000 + .saturating_add((124_962_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -315,9 +316,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_now(r: u32, ) -> Weight { - (431_525_000 as Weight) - // Standard Error: 119_000 - .saturating_add((131_528_000 as Weight).saturating_mul(r as Weight)) + (419_120_000 as Weight) + // Standard Error: 178_000 + .saturating_add((125_188_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -326,9 +327,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Timestamp Now (r:1 w:0) // Storage: TransactionPayment NextFeeMultiplier (r:1 w:0) fn seal_weight_to_fee(r: u32, ) -> Weight { - (435_484_000 as Weight) - // Standard Error: 179_000 - .saturating_add((298_204_000 as Weight).saturating_mul(r as Weight)) + (419_125_000 as Weight) + // Standard Error: 216_000 + .saturating_add((290_592_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -336,9 +337,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_gas(r: u32, ) -> Weight { - (144_616_000 as Weight) - // Standard Error: 118_000 - .saturating_add((59_737_000 as Weight).saturating_mul(r as Weight)) + (149_609_000 as Weight) + // Standard Error: 117_000 + .saturating_add((56_860_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -346,9 +347,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_input(r: u32, ) -> Weight { - (417_893_000 as Weight) - // Standard Error: 138_000 - .saturating_add((114_222_000 as Weight).saturating_mul(r as Weight)) + (423_570_000 as Weight) + // Standard Error: 151_000 + .saturating_add((106_985_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -356,9 +357,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_input_per_kb(n: u32, ) -> Weight { - (558_705_000 as Weight) - // Standard Error: 5_000 - .saturating_add((38_111_000 as Weight).saturating_mul(n as Weight)) + (566_496_000 as Weight) + // Standard Error: 6_000 + .saturating_add((38_091_000 as Weight).saturating_mul(n as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -366,9 +367,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_return(r: u32, ) -> Weight { - (397_670_000 as Weight) - // Standard Error: 1_581_000 - .saturating_add((17_618_000 as Weight).saturating_mul(r as Weight)) + (406_811_000 as Weight) + // Standard Error: 1_833_000 + .saturating_add((6_551_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -376,9 +377,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_return_per_kb(n: u32, ) -> Weight { - (415_352_000 as Weight) + (412_094_000 as Weight) // Standard Error: 1_000 - .saturating_add((635_000 as Weight).saturating_mul(n as Weight)) + .saturating_add((631_000 as Weight).saturating_mul(n as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -388,9 +389,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts DeletionQueue (r:1 w:1) // Storage: System Account (r:2 w:2) fn seal_terminate(r: u32, ) -> Weight { - (407_089_000 as Weight) - // Standard Error: 181_000 - .saturating_add((98_910_000 as Weight).saturating_mul(r as Weight)) + (415_716_000 as Weight) + // Standard Error: 1_608_000 + .saturating_add((72_648_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(r as Weight))) .saturating_add(T::DbWeight::get().writes(1 as Weight)) @@ -401,9 +402,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Timestamp Now (r:1 w:0) // Storage: RandomnessCollectiveFlip RandomMaterial (r:1 w:0) fn seal_random(r: u32, ) -> Weight { - (412_468_000 as Weight) - // Standard Error: 385_000 - .saturating_add((419_134_000 as Weight).saturating_mul(r as Weight)) + (421_387_000 as Weight) + // Standard Error: 275_000 + .saturating_add((393_452_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -411,9 +412,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_deposit_event(r: u32, ) -> Weight { - (416_035_000 as Weight) - // Standard Error: 408_000 - .saturating_add((708_750_000 as Weight).saturating_mul(r as Weight)) + (428_591_000 as Weight) + // Standard Error: 293_000 + .saturating_add((690_833_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -422,11 +423,11 @@ impl WeightInfo for SubstrateWeight { // Storage: Timestamp Now (r:1 w:0) // Storage: System EventTopics (r:100 w:100) fn seal_deposit_event_per_topic_and_kb(t: u32, n: u32, ) -> Weight { - (1_251_101_000 as Weight) - // Standard Error: 2_553_000 - .saturating_add((504_170_000 as Weight).saturating_mul(t as Weight)) - // Standard Error: 503_000 - .saturating_add((165_595_000 as Weight).saturating_mul(n as Weight)) + (1_245_676_000 as Weight) + // Standard Error: 2_636_000 + .saturating_add((484_691_000 as Weight).saturating_mul(t as Weight)) + // Standard Error: 519_000 + .saturating_add((165_836_000 as Weight).saturating_mul(n as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().reads((100 as Weight).saturating_mul(t as Weight))) .saturating_add(T::DbWeight::get().writes(1 as Weight)) @@ -436,17 +437,17 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_debug_message(r: u32, ) -> Weight { - (157_690_000 as Weight) - // Standard Error: 144_000 - .saturating_add((77_093_000 as Weight).saturating_mul(r as Weight)) + (162_162_000 as Weight) + // Standard Error: 127_000 + .saturating_add((72_828_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } // Storage: Skipped Metadata (r:0 w:0) fn seal_set_storage(r: u32, ) -> Weight { - (404_827_000 as Weight) - // Standard Error: 229_000 - .saturating_add((251_475_000 as Weight).saturating_mul(r as Weight)) + (399_301_000 as Weight) + // Standard Error: 221_000 + .saturating_add((245_222_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) .saturating_add(T::DbWeight::get().writes((100 as Weight).saturating_mul(r as Weight))) @@ -456,26 +457,26 @@ impl WeightInfo for SubstrateWeight { // Storage: Timestamp Now (r:1 w:0) // Storage: unknown [0x7afa01283080ef247df84e0ba38ea5a587d25ce6633a6bfbba02068c14023441] (r:0 w:1) fn seal_set_storage_per_kb(n: u32, ) -> Weight { - (653_171_000 as Weight) - // Standard Error: 287_000 - .saturating_add((71_526_000 as Weight).saturating_mul(n as Weight)) + (623_011_000 as Weight) + // Standard Error: 246_000 + .saturating_add((72_051_000 as Weight).saturating_mul(n as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(2 as Weight)) } // Storage: Skipped Metadata (r:0 w:0) fn seal_clear_storage(r: u32, ) -> Weight { - (444_692_000 as Weight) - // Standard Error: 214_000 - .saturating_add((226_212_000 as Weight).saturating_mul(r as Weight)) + (445_102_000 as Weight) + // Standard Error: 247_000 + .saturating_add((224_384_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) .saturating_add(T::DbWeight::get().writes((100 as Weight).saturating_mul(r as Weight))) } // Storage: Skipped Metadata (r:0 w:0) fn seal_get_storage(r: u32, ) -> Weight { - (278_436_000 as Weight) - // Standard Error: 827_000 - .saturating_add((528_111_000 as Weight).saturating_mul(r as Weight)) + (290_227_000 as Weight) + // Standard Error: 694_000 + .saturating_add((547_193_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().reads((100 as Weight).saturating_mul(r as Weight))) .saturating_add(T::DbWeight::get().writes(1 as Weight)) @@ -485,9 +486,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Timestamp Now (r:1 w:0) // Storage: unknown [0x7afa01283080ef247df84e0ba38ea5a587d25ce6633a6bfbba02068c14023441] (r:1 w:0) fn seal_get_storage_per_kb(n: u32, ) -> Weight { - (732_808_000 as Weight) - // Standard Error: 304_000 - .saturating_add((112_394_000 as Weight).saturating_mul(n as Weight)) + (737_772_000 as Weight) + // Standard Error: 267_000 + .saturating_add((112_216_000 as Weight).saturating_mul(n as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -496,9 +497,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Timestamp Now (r:1 w:0) // Storage: System Account (r:101 w:101) fn seal_transfer(r: u32, ) -> Weight { - (257_626_000 as Weight) - // Standard Error: 1_850_000 - .saturating_add((4_621_393_000 as Weight).saturating_mul(r as Weight)) + (383_402_000 as Weight) + // Standard Error: 2_184_000 + .saturating_add((4_335_681_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().reads((100 as Weight).saturating_mul(r as Weight))) .saturating_add(T::DbWeight::get().writes(2 as Weight)) @@ -509,8 +510,8 @@ impl WeightInfo for SubstrateWeight { // Storage: Timestamp Now (r:1 w:0) fn seal_call(r: u32, ) -> Weight { (0 as Weight) - // Standard Error: 6_833_000 - .saturating_add((39_990_561_000 as Weight).saturating_mul(r as Weight)) + // Standard Error: 11_019_000 + .saturating_add((39_806_777_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight)) .saturating_add(T::DbWeight::get().reads((100 as Weight).saturating_mul(r as Weight))) .saturating_add(T::DbWeight::get().writes(1 as Weight)) @@ -521,13 +522,13 @@ impl WeightInfo for SubstrateWeight { // Storage: Timestamp Now (r:1 w:0) // Storage: System Account (r:101 w:101) fn seal_call_per_transfer_input_output_kb(t: u32, i: u32, o: u32, ) -> Weight { - (39_296_507_000 as Weight) - // Standard Error: 98_740_000 - .saturating_add((4_165_171_000 as Weight).saturating_mul(t as Weight)) - // Standard Error: 35_000 - .saturating_add((63_121_000 as Weight).saturating_mul(i as Weight)) - // Standard Error: 37_000 - .saturating_add((101_665_000 as Weight).saturating_mul(o as Weight)) + (38_662_592_000 as Weight) + // Standard Error: 52_762_000 + .saturating_add((3_888_801_000 as Weight).saturating_mul(t as Weight)) + // Standard Error: 18_000 + .saturating_add((63_571_000 as Weight).saturating_mul(i as Weight)) + // Standard Error: 20_000 + .saturating_add((101_610_000 as Weight).saturating_mul(o as Weight)) .saturating_add(T::DbWeight::get().reads(104 as Weight)) .saturating_add(T::DbWeight::get().reads((101 as Weight).saturating_mul(t as Weight))) .saturating_add(T::DbWeight::get().writes(101 as Weight)) @@ -539,9 +540,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts AccountCounter (r:1 w:1) // Storage: System Account (r:101 w:101) fn seal_instantiate(r: u32, ) -> Weight { - (0 as Weight) - // Standard Error: 100_794_000 - .saturating_add((47_889_192_000 as Weight).saturating_mul(r as Weight)) + (626_132_000 as Weight) + // Standard Error: 39_245_000 + .saturating_add((46_398_859_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(5 as Weight)) .saturating_add(T::DbWeight::get().reads((300 as Weight).saturating_mul(r as Weight))) .saturating_add(T::DbWeight::get().writes(3 as Weight)) @@ -553,13 +554,13 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts AccountCounter (r:1 w:1) // Storage: System Account (r:101 w:101) fn seal_instantiate_per_input_output_salt_kb(i: u32, o: u32, s: u32, ) -> Weight { - (45_237_285_000 as Weight) - // Standard Error: 35_000 - .saturating_add((64_100_000 as Weight).saturating_mul(i as Weight)) - // Standard Error: 35_000 - .saturating_add((102_036_000 as Weight).saturating_mul(o as Weight)) - // Standard Error: 35_000 - .saturating_add((201_375_000 as Weight).saturating_mul(s as Weight)) + (46_649_369_000 as Weight) + // Standard Error: 26_000 + .saturating_add((63_469_000 as Weight).saturating_mul(i as Weight)) + // Standard Error: 26_000 + .saturating_add((100_694_000 as Weight).saturating_mul(o as Weight)) + // Standard Error: 26_000 + .saturating_add((201_705_000 as Weight).saturating_mul(s as Weight)) .saturating_add(T::DbWeight::get().reads(206 as Weight)) .saturating_add(T::DbWeight::get().writes(204 as Weight)) } @@ -567,9 +568,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_hash_sha2_256(r: u32, ) -> Weight { - (416_807_000 as Weight) - // Standard Error: 153_000 - .saturating_add((137_778_000 as Weight).saturating_mul(r as Weight)) + (417_820_000 as Weight) + // Standard Error: 160_000 + .saturating_add((133_795_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -577,9 +578,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_hash_sha2_256_per_kb(n: u32, ) -> Weight { - (651_244_000 as Weight) - // Standard Error: 22_000 - .saturating_add((499_711_000 as Weight).saturating_mul(n as Weight)) + (609_012_000 as Weight) + // Standard Error: 23_000 + .saturating_add((499_227_000 as Weight).saturating_mul(n as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -587,9 +588,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_hash_keccak_256(r: u32, ) -> Weight { - (419_157_000 as Weight) - // Standard Error: 146_000 - .saturating_add((144_391_000 as Weight).saturating_mul(r as Weight)) + (419_043_000 as Weight) + // Standard Error: 177_000 + .saturating_add((140_704_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -597,9 +598,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_hash_keccak_256_per_kb(n: u32, ) -> Weight { - (568_821_000 as Weight) - // Standard Error: 17_000 - .saturating_add((346_968_000 as Weight).saturating_mul(n as Weight)) + (564_451_000 as Weight) + // Standard Error: 19_000 + .saturating_add((346_948_000 as Weight).saturating_mul(n as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -607,9 +608,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_hash_blake2_256(r: u32, ) -> Weight { - (417_978_000 as Weight) + (420_951_000 as Weight) // Standard Error: 163_000 - .saturating_add((119_871_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((113_596_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -617,9 +618,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_hash_blake2_256_per_kb(n: u32, ) -> Weight { - (537_541_000 as Weight) - // Standard Error: 19_000 - .saturating_add((164_266_000 as Weight).saturating_mul(n as Weight)) + (563_168_000 as Weight) + // Standard Error: 17_000 + .saturating_add((164_114_000 as Weight).saturating_mul(n as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -627,9 +628,9 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_hash_blake2_128(r: u32, ) -> Weight { - (420_244_000 as Weight) - // Standard Error: 152_000 - .saturating_add((119_123_000 as Weight).saturating_mul(r as Weight)) + (418_794_000 as Weight) + // Standard Error: 167_000 + .saturating_add((113_205_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -637,266 +638,274 @@ impl WeightInfo for SubstrateWeight { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_hash_blake2_128_per_kb(n: u32, ) -> Weight { - (486_612_000 as Weight) - // Standard Error: 21_000 - .saturating_add((164_406_000 as Weight).saturating_mul(n as Weight)) + (584_668_000 as Weight) + // Standard Error: 15_000 + .saturating_add((164_127_000 as Weight).saturating_mul(n as Weight)) + .saturating_add(T::DbWeight::get().reads(3 as Weight)) + .saturating_add(T::DbWeight::get().writes(1 as Weight)) + } + // Storage: Contracts ContractInfoOf (r:1 w:1) + // Storage: Contracts CodeStorage (r:1 w:0) + // Storage: Timestamp Now (r:1 w:0) + fn seal_ecdsa_recover(r: u32, ) -> Weight { + (435_443_000 as Weight) + // Standard Error: 1_408_000 + .saturating_add((15_624_877_000 as Weight).saturating_mul(r as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } fn instr_i64const(r: u32, ) -> Weight { - (54_394_000 as Weight) - // Standard Error: 13_000 - .saturating_add((750_000 as Weight).saturating_mul(r as Weight)) + (45_937_000 as Weight) + // Standard Error: 10_000 + .saturating_add((1_108_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64load(r: u32, ) -> Weight { - (48_363_000 as Weight) - // Standard Error: 9_000 - .saturating_add((2_464_000 as Weight).saturating_mul(r as Weight)) + (44_001_000 as Weight) + // Standard Error: 11_000 + .saturating_add((2_412_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64store(r: u32, ) -> Weight { - (49_007_000 as Weight) - // Standard Error: 10_000 - .saturating_add((2_540_000 as Weight).saturating_mul(r as Weight)) + (43_157_000 as Weight) + // Standard Error: 12_000 + .saturating_add((2_677_000 as Weight).saturating_mul(r as Weight)) } fn instr_select(r: u32, ) -> Weight { - (51_388_000 as Weight) - // Standard Error: 13_000 - .saturating_add((2_188_000 as Weight).saturating_mul(r as Weight)) + (48_475_000 as Weight) + // Standard Error: 8_000 + .saturating_add((2_604_000 as Weight).saturating_mul(r as Weight)) } fn instr_if(r: u32, ) -> Weight { - (48_672_000 as Weight) + (50_649_000 as Weight) // Standard Error: 12_000 - .saturating_add((2_310_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((2_553_000 as Weight).saturating_mul(r as Weight)) } fn instr_br(r: u32, ) -> Weight { - (51_538_000 as Weight) - // Standard Error: 16_000 - .saturating_add((1_324_000 as Weight).saturating_mul(r as Weight)) + (48_433_000 as Weight) + // Standard Error: 8_000 + .saturating_add((1_670_000 as Weight).saturating_mul(r as Weight)) } fn instr_br_if(r: u32, ) -> Weight { - (45_154_000 as Weight) - // Standard Error: 17_000 - .saturating_add((2_002_000 as Weight).saturating_mul(r as Weight)) + (49_244_000 as Weight) + // Standard Error: 16_000 + .saturating_add((1_946_000 as Weight).saturating_mul(r as Weight)) } fn instr_br_table(r: u32, ) -> Weight { - (38_511_000 as Weight) + (46_117_000 as Weight) // Standard Error: 17_000 - .saturating_add((2_611_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((2_387_000 as Weight).saturating_mul(r as Weight)) } - fn instr_br_table_per_entry(e: u32, ) -> Weight { - (47_321_000 as Weight) - // Standard Error: 3_000 - .saturating_add((18_000 as Weight).saturating_mul(e as Weight)) + fn instr_br_table_per_entry(_e: u32, ) -> Weight { + (55_204_000 as Weight) } fn instr_call(r: u32, ) -> Weight { - (40_145_000 as Weight) - // Standard Error: 30_000 - .saturating_add((20_056_000 as Weight).saturating_mul(r as Weight)) + (43_651_000 as Weight) + // Standard Error: 26_000 + .saturating_add((19_163_000 as Weight).saturating_mul(r as Weight)) } fn instr_call_indirect(r: u32, ) -> Weight { - (54_566_000 as Weight) + (54_063_000 as Weight) // Standard Error: 32_000 - .saturating_add((30_331_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((27_970_000 as Weight).saturating_mul(r as Weight)) } fn instr_call_indirect_per_param(p: u32, ) -> Weight { - (86_289_000 as Weight) - // Standard Error: 7_000 - .saturating_add((1_080_000 as Weight).saturating_mul(p as Weight)) + (88_527_000 as Weight) + // Standard Error: 6_000 + .saturating_add((958_000 as Weight).saturating_mul(p as Weight)) } fn instr_local_get(r: u32, ) -> Weight { - (49_186_000 as Weight) - // Standard Error: 11_000 - .saturating_add((629_000 as Weight).saturating_mul(r as Weight)) + (55_066_000 as Weight) + // Standard Error: 12_000 + .saturating_add((682_000 as Weight).saturating_mul(r as Weight)) } fn instr_local_set(r: u32, ) -> Weight { - (49_030_000 as Weight) - // Standard Error: 11_000 - .saturating_add((732_000 as Weight).saturating_mul(r as Weight)) + (55_298_000 as Weight) + // Standard Error: 13_000 + .saturating_add((778_000 as Weight).saturating_mul(r as Weight)) } fn instr_local_tee(r: u32, ) -> Weight { - (45_867_000 as Weight) - // Standard Error: 10_000 - .saturating_add((1_281_000 as Weight).saturating_mul(r as Weight)) + (56_302_000 as Weight) + // Standard Error: 11_000 + .saturating_add((1_079_000 as Weight).saturating_mul(r as Weight)) } fn instr_global_get(r: u32, ) -> Weight { - (64_350_000 as Weight) - // Standard Error: 19_000 - .saturating_add((1_421_000 as Weight).saturating_mul(r as Weight)) + (71_567_000 as Weight) + // Standard Error: 11_000 + .saturating_add((1_107_000 as Weight).saturating_mul(r as Weight)) } fn instr_global_set(r: u32, ) -> Weight { - (61_716_000 as Weight) - // Standard Error: 19_000 - .saturating_add((1_561_000 as Weight).saturating_mul(r as Weight)) + (71_186_000 as Weight) + // Standard Error: 12_000 + .saturating_add((1_151_000 as Weight).saturating_mul(r as Weight)) } fn instr_memory_current(r: u32, ) -> Weight { - (53_303_000 as Weight) - // Standard Error: 15_000 - .saturating_add((742_000 as Weight).saturating_mul(r as Weight)) + (46_240_000 as Weight) + // Standard Error: 10_000 + .saturating_add((1_044_000 as Weight).saturating_mul(r as Weight)) } fn instr_memory_grow(r: u32, ) -> Weight { - (38_377_000 as Weight) - // Standard Error: 122_000 - .saturating_add((633_403_000 as Weight).saturating_mul(r as Weight)) + (52_369_000 as Weight) + // Standard Error: 2_508_000 + .saturating_add((615_448_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64clz(r: u32, ) -> Weight { - (55_169_000 as Weight) - // Standard Error: 10_000 - .saturating_add((1_114_000 as Weight).saturating_mul(r as Weight)) + (47_623_000 as Weight) + // Standard Error: 9_000 + .saturating_add((1_583_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64ctz(r: u32, ) -> Weight { - (55_406_000 as Weight) - // Standard Error: 10_000 - .saturating_add((1_105_000 as Weight).saturating_mul(r as Weight)) + (47_670_000 as Weight) + // Standard Error: 9_000 + .saturating_add((1_583_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64popcnt(r: u32, ) -> Weight { - (55_255_000 as Weight) - // Standard Error: 10_000 - .saturating_add((1_111_000 as Weight).saturating_mul(r as Weight)) + (47_508_000 as Weight) + // Standard Error: 9_000 + .saturating_add((1_583_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64eqz(r: u32, ) -> Weight { - (55_389_000 as Weight) + (48_109_000 as Weight) // Standard Error: 9_000 - .saturating_add((1_102_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((1_580_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64extendsi32(r: u32, ) -> Weight { - (44_951_000 as Weight) - // Standard Error: 10_000 - .saturating_add((1_302_000 as Weight).saturating_mul(r as Weight)) + (55_270_000 as Weight) + // Standard Error: 9_000 + .saturating_add((1_102_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64extendui32(r: u32, ) -> Weight { - (45_263_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_292_000 as Weight).saturating_mul(r as Weight)) + (55_093_000 as Weight) + // Standard Error: 9_000 + .saturating_add((1_108_000 as Weight).saturating_mul(r as Weight)) } fn instr_i32wrapi64(r: u32, ) -> Weight { - (55_222_000 as Weight) - // Standard Error: 9_000 - .saturating_add((1_104_000 as Weight).saturating_mul(r as Weight)) + (48_265_000 as Weight) + // Standard Error: 10_000 + .saturating_add((1_573_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64eq(r: u32, ) -> Weight { - (50_838_000 as Weight) - // Standard Error: 10_000 - .saturating_add((1_669_000 as Weight).saturating_mul(r as Weight)) + (48_733_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_088_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64ne(r: u32, ) -> Weight { - (51_064_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_663_000 as Weight).saturating_mul(r as Weight)) + (48_831_000 as Weight) + // Standard Error: 6_000 + .saturating_add((2_085_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64lts(r: u32, ) -> Weight { - (50_915_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_667_000 as Weight).saturating_mul(r as Weight)) + (49_147_000 as Weight) + // Standard Error: 6_000 + .saturating_add((2_056_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64ltu(r: u32, ) -> Weight { - (50_868_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_669_000 as Weight).saturating_mul(r as Weight)) + (49_596_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_049_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64gts(r: u32, ) -> Weight { - (50_797_000 as Weight) - // Standard Error: 12_000 - .saturating_add((1_672_000 as Weight).saturating_mul(r as Weight)) + (49_872_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_038_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64gtu(r: u32, ) -> Weight { - (51_497_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_656_000 as Weight).saturating_mul(r as Weight)) + (48_843_000 as Weight) + // Standard Error: 6_000 + .saturating_add((2_081_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64les(r: u32, ) -> Weight { - (50_871_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_668_000 as Weight).saturating_mul(r as Weight)) + (48_765_000 as Weight) + // Standard Error: 6_000 + .saturating_add((2_089_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64leu(r: u32, ) -> Weight { - (50_718_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_679_000 as Weight).saturating_mul(r as Weight)) + (48_720_000 as Weight) + // Standard Error: 6_000 + .saturating_add((2_083_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64ges(r: u32, ) -> Weight { - (50_872_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_668_000 as Weight).saturating_mul(r as Weight)) + (48_736_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_097_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64geu(r: u32, ) -> Weight { - (50_736_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_678_000 as Weight).saturating_mul(r as Weight)) + (48_772_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_093_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64add(r: u32, ) -> Weight { - (50_716_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_677_000 as Weight).saturating_mul(r as Weight)) + (48_827_000 as Weight) + // Standard Error: 6_000 + .saturating_add((2_082_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64sub(r: u32, ) -> Weight { - (51_042_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_664_000 as Weight).saturating_mul(r as Weight)) + (48_961_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_072_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64mul(r: u32, ) -> Weight { - (51_090_000 as Weight) - // Standard Error: 12_000 - .saturating_add((1_673_000 as Weight).saturating_mul(r as Weight)) + (49_069_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_067_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64divs(r: u32, ) -> Weight { - (50_997_000 as Weight) - // Standard Error: 11_000 - .saturating_add((2_339_000 as Weight).saturating_mul(r as Weight)) + (49_035_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_677_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64divu(r: u32, ) -> Weight { - (51_196_000 as Weight) - // Standard Error: 11_000 - .saturating_add((2_049_000 as Weight).saturating_mul(r as Weight)) + (48_842_000 as Weight) + // Standard Error: 6_000 + .saturating_add((2_449_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64rems(r: u32, ) -> Weight { - (51_336_000 as Weight) - // Standard Error: 12_000 - .saturating_add((2_258_000 as Weight).saturating_mul(r as Weight)) + (48_536_000 as Weight) + // Standard Error: 6_000 + .saturating_add((2_723_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64remu(r: u32, ) -> Weight { - (50_993_000 as Weight) - // Standard Error: 11_000 - .saturating_add((2_031_000 as Weight).saturating_mul(r as Weight)) + (48_851_000 as Weight) + // Standard Error: 6_000 + .saturating_add((2_432_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64and(r: u32, ) -> Weight { - (51_038_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_666_000 as Weight).saturating_mul(r as Weight)) + (48_624_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_093_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64or(r: u32, ) -> Weight { - (51_051_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_668_000 as Weight).saturating_mul(r as Weight)) + (49_348_000 as Weight) + // Standard Error: 8_000 + .saturating_add((2_073_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64xor(r: u32, ) -> Weight { - (51_137_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_667_000 as Weight).saturating_mul(r as Weight)) + (49_112_000 as Weight) + // Standard Error: 6_000 + .saturating_add((2_055_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64shl(r: u32, ) -> Weight { - (51_083_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_666_000 as Weight).saturating_mul(r as Weight)) + (49_654_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_051_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64shrs(r: u32, ) -> Weight { - (51_118_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_664_000 as Weight).saturating_mul(r as Weight)) + (48_848_000 as Weight) + // Standard Error: 8_000 + .saturating_add((2_089_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64shru(r: u32, ) -> Weight { - (50_805_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_673_000 as Weight).saturating_mul(r as Weight)) + (49_455_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_054_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64rotl(r: u32, ) -> Weight { - (50_835_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_682_000 as Weight).saturating_mul(r as Weight)) + (49_640_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_048_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64rotr(r: u32, ) -> Weight { - (50_947_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_669_000 as Weight).saturating_mul(r as Weight)) + (49_498_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_068_000 as Weight).saturating_mul(r as Weight)) } } @@ -904,47 +913,47 @@ impl WeightInfo for SubstrateWeight { impl WeightInfo for () { // Storage: Contracts DeletionQueue (r:1 w:0) fn on_initialize() -> Weight { - (3_345_000 as Weight) + (3_226_000 as Weight) .saturating_add(RocksDbWeight::get().reads(1 as Weight)) } // Storage: Skipped Metadata (r:0 w:0) fn on_initialize_per_trie_key(k: u32, ) -> Weight { (0 as Weight) - // Standard Error: 3_000 - .saturating_add((2_212_000 as Weight).saturating_mul(k as Weight)) + // Standard Error: 2_000 + .saturating_add((2_178_000 as Weight).saturating_mul(k as Weight)) .saturating_add(RocksDbWeight::get().reads(1 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) .saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(k as Weight))) } // Storage: Contracts DeletionQueue (r:1 w:0) fn on_initialize_per_queue_item(q: u32, ) -> Weight { - (80_219_000 as Weight) - // Standard Error: 2_000 - .saturating_add((375_000 as Weight).saturating_mul(q as Weight)) + (78_329_000 as Weight) + // Standard Error: 1_000 + .saturating_add((353_000 as Weight).saturating_mul(q as Weight)) .saturating_add(RocksDbWeight::get().reads(1 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } // Storage: Contracts PristineCode (r:1 w:0) // Storage: Contracts CodeStorage (r:0 w:1) fn instrument(c: u32, ) -> Weight { - (35_370_000 as Weight) - // Standard Error: 85_000 - .saturating_add((72_516_000 as Weight).saturating_mul(c as Weight)) + (37_190_000 as Weight) + // Standard Error: 80_000 + .saturating_add((72_791_000 as Weight).saturating_mul(c as Weight)) .saturating_add(RocksDbWeight::get().reads(1 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } // Storage: Contracts CodeStorage (r:1 w:0) fn code_load(c: u32, ) -> Weight { - (6_479_000 as Weight) + (6_191_000 as Weight) // Standard Error: 0 .saturating_add((1_426_000 as Weight).saturating_mul(c as Weight)) .saturating_add(RocksDbWeight::get().reads(1 as Weight)) } // Storage: Contracts CodeStorage (r:1 w:1) fn code_refcount(c: u32, ) -> Weight { - (10_220_000 as Weight) - // Standard Error: 0 - .saturating_add((2_280_000 as Weight).saturating_mul(c as Weight)) + (10_333_000 as Weight) + // Standard Error: 1_000 + .saturating_add((2_275_000 as Weight).saturating_mul(c as Weight)) .saturating_add(RocksDbWeight::get().reads(1 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -955,11 +964,11 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:1) // Storage: Contracts PristineCode (r:0 w:1) fn instantiate_with_code(c: u32, s: u32, ) -> Weight { - (404_011_000 as Weight) - // Standard Error: 220_000 - .saturating_add((181_224_000 as Weight).saturating_mul(c as Weight)) - // Standard Error: 14_000 - .saturating_add((2_198_000 as Weight).saturating_mul(s as Weight)) + (438_556_000 as Weight) + // Standard Error: 147_000 + .saturating_add((179_307_000 as Weight).saturating_mul(c as Weight)) + // Standard Error: 9_000 + .saturating_add((2_159_000 as Weight).saturating_mul(s as Weight)) .saturating_add(RocksDbWeight::get().reads(5 as Weight)) .saturating_add(RocksDbWeight::get().writes(4 as Weight)) } @@ -969,9 +978,9 @@ impl WeightInfo for () { // Storage: Timestamp Now (r:1 w:0) // Storage: System Account (r:1 w:1) fn instantiate(s: u32, ) -> Weight { - (215_544_000 as Weight) - // Standard Error: 2_000 - .saturating_add((1_986_000 as Weight).saturating_mul(s as Weight)) + (186_776_000 as Weight) + // Standard Error: 1_000 + .saturating_add((2_033_000 as Weight).saturating_mul(s as Weight)) .saturating_add(RocksDbWeight::get().reads(5 as Weight)) .saturating_add(RocksDbWeight::get().writes(3 as Weight)) } @@ -980,7 +989,7 @@ impl WeightInfo for () { // Storage: Timestamp Now (r:1 w:0) // Storage: System Account (r:1 w:1) fn call() -> Weight { - (177_006_000 as Weight) + (159_247_000 as Weight) .saturating_add(RocksDbWeight::get().reads(4 as Weight)) .saturating_add(RocksDbWeight::get().writes(2 as Weight)) } @@ -988,9 +997,9 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_caller(r: u32, ) -> Weight { - (420_960_000 as Weight) - // Standard Error: 129_000 - .saturating_add((133_032_000 as Weight).saturating_mul(r as Weight)) + (422_263_000 as Weight) + // Standard Error: 159_000 + .saturating_add((125_490_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -998,9 +1007,9 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_address(r: u32, ) -> Weight { - (419_566_000 as Weight) - // Standard Error: 121_000 - .saturating_add((133_539_000 as Weight).saturating_mul(r as Weight)) + (423_009_000 as Weight) + // Standard Error: 183_000 + .saturating_add((125_795_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1008,9 +1017,9 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_gas_left(r: u32, ) -> Weight { - (420_772_000 as Weight) - // Standard Error: 146_000 - .saturating_add((132_394_000 as Weight).saturating_mul(r as Weight)) + (429_297_000 as Weight) + // Standard Error: 164_000 + .saturating_add((124_324_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1019,9 +1028,9 @@ impl WeightInfo for () { // Storage: Timestamp Now (r:1 w:0) // Storage: System Account (r:1 w:0) fn seal_balance(r: u32, ) -> Weight { - (425_259_000 as Weight) - // Standard Error: 237_000 - .saturating_add((379_279_000 as Weight).saturating_mul(r as Weight)) + (442_330_000 as Weight) + // Standard Error: 187_000 + .saturating_add((354_665_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(4 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1029,9 +1038,9 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_value_transferred(r: u32, ) -> Weight { - (421_599_000 as Weight) - // Standard Error: 162_000 - .saturating_add((133_964_000 as Weight).saturating_mul(r as Weight)) + (411_893_000 as Weight) + // Standard Error: 178_000 + .saturating_add((125_971_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1039,9 +1048,9 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_minimum_balance(r: u32, ) -> Weight { - (414_423_000 as Weight) - // Standard Error: 164_000 - .saturating_add((134_814_000 as Weight).saturating_mul(r as Weight)) + (413_273_000 as Weight) + // Standard Error: 180_000 + .saturating_add((125_103_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1049,9 +1058,9 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_tombstone_deposit(r: u32, ) -> Weight { - (423_908_000 as Weight) - // Standard Error: 134_000 - .saturating_add((133_470_000 as Weight).saturating_mul(r as Weight)) + (415_613_000 as Weight) + // Standard Error: 192_000 + .saturating_add((126_106_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1059,9 +1068,9 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_block_number(r: u32, ) -> Weight { - (423_769_000 as Weight) - // Standard Error: 138_000 - .saturating_add((135_123_000 as Weight).saturating_mul(r as Weight)) + (414_718_000 as Weight) + // Standard Error: 170_000 + .saturating_add((124_962_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1069,9 +1078,9 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_now(r: u32, ) -> Weight { - (431_525_000 as Weight) - // Standard Error: 119_000 - .saturating_add((131_528_000 as Weight).saturating_mul(r as Weight)) + (419_120_000 as Weight) + // Standard Error: 178_000 + .saturating_add((125_188_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1080,9 +1089,9 @@ impl WeightInfo for () { // Storage: Timestamp Now (r:1 w:0) // Storage: TransactionPayment NextFeeMultiplier (r:1 w:0) fn seal_weight_to_fee(r: u32, ) -> Weight { - (435_484_000 as Weight) - // Standard Error: 179_000 - .saturating_add((298_204_000 as Weight).saturating_mul(r as Weight)) + (419_125_000 as Weight) + // Standard Error: 216_000 + .saturating_add((290_592_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(4 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1090,9 +1099,9 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_gas(r: u32, ) -> Weight { - (144_616_000 as Weight) - // Standard Error: 118_000 - .saturating_add((59_737_000 as Weight).saturating_mul(r as Weight)) + (149_609_000 as Weight) + // Standard Error: 117_000 + .saturating_add((56_860_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1100,9 +1109,9 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_input(r: u32, ) -> Weight { - (417_893_000 as Weight) - // Standard Error: 138_000 - .saturating_add((114_222_000 as Weight).saturating_mul(r as Weight)) + (423_570_000 as Weight) + // Standard Error: 151_000 + .saturating_add((106_985_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1110,9 +1119,9 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_input_per_kb(n: u32, ) -> Weight { - (558_705_000 as Weight) - // Standard Error: 5_000 - .saturating_add((38_111_000 as Weight).saturating_mul(n as Weight)) + (566_496_000 as Weight) + // Standard Error: 6_000 + .saturating_add((38_091_000 as Weight).saturating_mul(n as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1120,9 +1129,9 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_return(r: u32, ) -> Weight { - (397_670_000 as Weight) - // Standard Error: 1_581_000 - .saturating_add((17_618_000 as Weight).saturating_mul(r as Weight)) + (406_811_000 as Weight) + // Standard Error: 1_833_000 + .saturating_add((6_551_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1130,9 +1139,9 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_return_per_kb(n: u32, ) -> Weight { - (415_352_000 as Weight) + (412_094_000 as Weight) // Standard Error: 1_000 - .saturating_add((635_000 as Weight).saturating_mul(n as Weight)) + .saturating_add((631_000 as Weight).saturating_mul(n as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1142,9 +1151,9 @@ impl WeightInfo for () { // Storage: Contracts DeletionQueue (r:1 w:1) // Storage: System Account (r:2 w:2) fn seal_terminate(r: u32, ) -> Weight { - (407_089_000 as Weight) - // Standard Error: 181_000 - .saturating_add((98_910_000 as Weight).saturating_mul(r as Weight)) + (415_716_000 as Weight) + // Standard Error: 1_608_000 + .saturating_add((72_648_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().reads((3 as Weight).saturating_mul(r as Weight))) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) @@ -1155,9 +1164,9 @@ impl WeightInfo for () { // Storage: Timestamp Now (r:1 w:0) // Storage: RandomnessCollectiveFlip RandomMaterial (r:1 w:0) fn seal_random(r: u32, ) -> Weight { - (412_468_000 as Weight) - // Standard Error: 385_000 - .saturating_add((419_134_000 as Weight).saturating_mul(r as Weight)) + (421_387_000 as Weight) + // Standard Error: 275_000 + .saturating_add((393_452_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(4 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1165,9 +1174,9 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_deposit_event(r: u32, ) -> Weight { - (416_035_000 as Weight) - // Standard Error: 408_000 - .saturating_add((708_750_000 as Weight).saturating_mul(r as Weight)) + (428_591_000 as Weight) + // Standard Error: 293_000 + .saturating_add((690_833_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1176,11 +1185,11 @@ impl WeightInfo for () { // Storage: Timestamp Now (r:1 w:0) // Storage: System EventTopics (r:100 w:100) fn seal_deposit_event_per_topic_and_kb(t: u32, n: u32, ) -> Weight { - (1_251_101_000 as Weight) - // Standard Error: 2_553_000 - .saturating_add((504_170_000 as Weight).saturating_mul(t as Weight)) - // Standard Error: 503_000 - .saturating_add((165_595_000 as Weight).saturating_mul(n as Weight)) + (1_245_676_000 as Weight) + // Standard Error: 2_636_000 + .saturating_add((484_691_000 as Weight).saturating_mul(t as Weight)) + // Standard Error: 519_000 + .saturating_add((165_836_000 as Weight).saturating_mul(n as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().reads((100 as Weight).saturating_mul(t as Weight))) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) @@ -1190,17 +1199,17 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_debug_message(r: u32, ) -> Weight { - (157_690_000 as Weight) - // Standard Error: 144_000 - .saturating_add((77_093_000 as Weight).saturating_mul(r as Weight)) + (162_162_000 as Weight) + // Standard Error: 127_000 + .saturating_add((72_828_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } // Storage: Skipped Metadata (r:0 w:0) fn seal_set_storage(r: u32, ) -> Weight { - (404_827_000 as Weight) - // Standard Error: 229_000 - .saturating_add((251_475_000 as Weight).saturating_mul(r as Weight)) + (399_301_000 as Weight) + // Standard Error: 221_000 + .saturating_add((245_222_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) .saturating_add(RocksDbWeight::get().writes((100 as Weight).saturating_mul(r as Weight))) @@ -1210,26 +1219,26 @@ impl WeightInfo for () { // Storage: Timestamp Now (r:1 w:0) // Storage: unknown [0x7afa01283080ef247df84e0ba38ea5a587d25ce6633a6bfbba02068c14023441] (r:0 w:1) fn seal_set_storage_per_kb(n: u32, ) -> Weight { - (653_171_000 as Weight) - // Standard Error: 287_000 - .saturating_add((71_526_000 as Weight).saturating_mul(n as Weight)) + (623_011_000 as Weight) + // Standard Error: 246_000 + .saturating_add((72_051_000 as Weight).saturating_mul(n as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(2 as Weight)) } // Storage: Skipped Metadata (r:0 w:0) fn seal_clear_storage(r: u32, ) -> Weight { - (444_692_000 as Weight) - // Standard Error: 214_000 - .saturating_add((226_212_000 as Weight).saturating_mul(r as Weight)) + (445_102_000 as Weight) + // Standard Error: 247_000 + .saturating_add((224_384_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) .saturating_add(RocksDbWeight::get().writes((100 as Weight).saturating_mul(r as Weight))) } // Storage: Skipped Metadata (r:0 w:0) fn seal_get_storage(r: u32, ) -> Weight { - (278_436_000 as Weight) - // Standard Error: 827_000 - .saturating_add((528_111_000 as Weight).saturating_mul(r as Weight)) + (290_227_000 as Weight) + // Standard Error: 694_000 + .saturating_add((547_193_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().reads((100 as Weight).saturating_mul(r as Weight))) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) @@ -1239,9 +1248,9 @@ impl WeightInfo for () { // Storage: Timestamp Now (r:1 w:0) // Storage: unknown [0x7afa01283080ef247df84e0ba38ea5a587d25ce6633a6bfbba02068c14023441] (r:1 w:0) fn seal_get_storage_per_kb(n: u32, ) -> Weight { - (732_808_000 as Weight) - // Standard Error: 304_000 - .saturating_add((112_394_000 as Weight).saturating_mul(n as Weight)) + (737_772_000 as Weight) + // Standard Error: 267_000 + .saturating_add((112_216_000 as Weight).saturating_mul(n as Weight)) .saturating_add(RocksDbWeight::get().reads(4 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1250,9 +1259,9 @@ impl WeightInfo for () { // Storage: Timestamp Now (r:1 w:0) // Storage: System Account (r:101 w:101) fn seal_transfer(r: u32, ) -> Weight { - (257_626_000 as Weight) - // Standard Error: 1_850_000 - .saturating_add((4_621_393_000 as Weight).saturating_mul(r as Weight)) + (383_402_000 as Weight) + // Standard Error: 2_184_000 + .saturating_add((4_335_681_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(4 as Weight)) .saturating_add(RocksDbWeight::get().reads((100 as Weight).saturating_mul(r as Weight))) .saturating_add(RocksDbWeight::get().writes(2 as Weight)) @@ -1263,8 +1272,8 @@ impl WeightInfo for () { // Storage: Timestamp Now (r:1 w:0) fn seal_call(r: u32, ) -> Weight { (0 as Weight) - // Standard Error: 6_833_000 - .saturating_add((39_990_561_000 as Weight).saturating_mul(r as Weight)) + // Standard Error: 11_019_000 + .saturating_add((39_806_777_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(4 as Weight)) .saturating_add(RocksDbWeight::get().reads((100 as Weight).saturating_mul(r as Weight))) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) @@ -1275,13 +1284,13 @@ impl WeightInfo for () { // Storage: Timestamp Now (r:1 w:0) // Storage: System Account (r:101 w:101) fn seal_call_per_transfer_input_output_kb(t: u32, i: u32, o: u32, ) -> Weight { - (39_296_507_000 as Weight) - // Standard Error: 98_740_000 - .saturating_add((4_165_171_000 as Weight).saturating_mul(t as Weight)) - // Standard Error: 35_000 - .saturating_add((63_121_000 as Weight).saturating_mul(i as Weight)) - // Standard Error: 37_000 - .saturating_add((101_665_000 as Weight).saturating_mul(o as Weight)) + (38_662_592_000 as Weight) + // Standard Error: 52_762_000 + .saturating_add((3_888_801_000 as Weight).saturating_mul(t as Weight)) + // Standard Error: 18_000 + .saturating_add((63_571_000 as Weight).saturating_mul(i as Weight)) + // Standard Error: 20_000 + .saturating_add((101_610_000 as Weight).saturating_mul(o as Weight)) .saturating_add(RocksDbWeight::get().reads(104 as Weight)) .saturating_add(RocksDbWeight::get().reads((101 as Weight).saturating_mul(t as Weight))) .saturating_add(RocksDbWeight::get().writes(101 as Weight)) @@ -1293,9 +1302,9 @@ impl WeightInfo for () { // Storage: Contracts AccountCounter (r:1 w:1) // Storage: System Account (r:101 w:101) fn seal_instantiate(r: u32, ) -> Weight { - (0 as Weight) - // Standard Error: 100_794_000 - .saturating_add((47_889_192_000 as Weight).saturating_mul(r as Weight)) + (626_132_000 as Weight) + // Standard Error: 39_245_000 + .saturating_add((46_398_859_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(5 as Weight)) .saturating_add(RocksDbWeight::get().reads((300 as Weight).saturating_mul(r as Weight))) .saturating_add(RocksDbWeight::get().writes(3 as Weight)) @@ -1307,13 +1316,13 @@ impl WeightInfo for () { // Storage: Contracts AccountCounter (r:1 w:1) // Storage: System Account (r:101 w:101) fn seal_instantiate_per_input_output_salt_kb(i: u32, o: u32, s: u32, ) -> Weight { - (45_237_285_000 as Weight) - // Standard Error: 35_000 - .saturating_add((64_100_000 as Weight).saturating_mul(i as Weight)) - // Standard Error: 35_000 - .saturating_add((102_036_000 as Weight).saturating_mul(o as Weight)) - // Standard Error: 35_000 - .saturating_add((201_375_000 as Weight).saturating_mul(s as Weight)) + (46_649_369_000 as Weight) + // Standard Error: 26_000 + .saturating_add((63_469_000 as Weight).saturating_mul(i as Weight)) + // Standard Error: 26_000 + .saturating_add((100_694_000 as Weight).saturating_mul(o as Weight)) + // Standard Error: 26_000 + .saturating_add((201_705_000 as Weight).saturating_mul(s as Weight)) .saturating_add(RocksDbWeight::get().reads(206 as Weight)) .saturating_add(RocksDbWeight::get().writes(204 as Weight)) } @@ -1321,9 +1330,9 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_hash_sha2_256(r: u32, ) -> Weight { - (416_807_000 as Weight) - // Standard Error: 153_000 - .saturating_add((137_778_000 as Weight).saturating_mul(r as Weight)) + (417_820_000 as Weight) + // Standard Error: 160_000 + .saturating_add((133_795_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1331,9 +1340,9 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_hash_sha2_256_per_kb(n: u32, ) -> Weight { - (651_244_000 as Weight) - // Standard Error: 22_000 - .saturating_add((499_711_000 as Weight).saturating_mul(n as Weight)) + (609_012_000 as Weight) + // Standard Error: 23_000 + .saturating_add((499_227_000 as Weight).saturating_mul(n as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1341,9 +1350,9 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_hash_keccak_256(r: u32, ) -> Weight { - (419_157_000 as Weight) - // Standard Error: 146_000 - .saturating_add((144_391_000 as Weight).saturating_mul(r as Weight)) + (419_043_000 as Weight) + // Standard Error: 177_000 + .saturating_add((140_704_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1351,9 +1360,9 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_hash_keccak_256_per_kb(n: u32, ) -> Weight { - (568_821_000 as Weight) - // Standard Error: 17_000 - .saturating_add((346_968_000 as Weight).saturating_mul(n as Weight)) + (564_451_000 as Weight) + // Standard Error: 19_000 + .saturating_add((346_948_000 as Weight).saturating_mul(n as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1361,9 +1370,9 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_hash_blake2_256(r: u32, ) -> Weight { - (417_978_000 as Weight) + (420_951_000 as Weight) // Standard Error: 163_000 - .saturating_add((119_871_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((113_596_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1371,9 +1380,9 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_hash_blake2_256_per_kb(n: u32, ) -> Weight { - (537_541_000 as Weight) - // Standard Error: 19_000 - .saturating_add((164_266_000 as Weight).saturating_mul(n as Weight)) + (563_168_000 as Weight) + // Standard Error: 17_000 + .saturating_add((164_114_000 as Weight).saturating_mul(n as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1381,9 +1390,9 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_hash_blake2_128(r: u32, ) -> Weight { - (420_244_000 as Weight) - // Standard Error: 152_000 - .saturating_add((119_123_000 as Weight).saturating_mul(r as Weight)) + (418_794_000 as Weight) + // Standard Error: 167_000 + .saturating_add((113_205_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } @@ -1391,265 +1400,273 @@ impl WeightInfo for () { // Storage: Contracts CodeStorage (r:1 w:0) // Storage: Timestamp Now (r:1 w:0) fn seal_hash_blake2_128_per_kb(n: u32, ) -> Weight { - (486_612_000 as Weight) - // Standard Error: 21_000 - .saturating_add((164_406_000 as Weight).saturating_mul(n as Weight)) + (584_668_000 as Weight) + // Standard Error: 15_000 + .saturating_add((164_127_000 as Weight).saturating_mul(n as Weight)) + .saturating_add(RocksDbWeight::get().reads(3 as Weight)) + .saturating_add(RocksDbWeight::get().writes(1 as Weight)) + } + // Storage: Contracts ContractInfoOf (r:1 w:1) + // Storage: Contracts CodeStorage (r:1 w:0) + // Storage: Timestamp Now (r:1 w:0) + fn seal_ecdsa_recover(r: u32, ) -> Weight { + (435_443_000 as Weight) + // Standard Error: 1_408_000 + .saturating_add((15_624_877_000 as Weight).saturating_mul(r as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } fn instr_i64const(r: u32, ) -> Weight { - (54_394_000 as Weight) - // Standard Error: 13_000 - .saturating_add((750_000 as Weight).saturating_mul(r as Weight)) + (45_937_000 as Weight) + // Standard Error: 10_000 + .saturating_add((1_108_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64load(r: u32, ) -> Weight { - (48_363_000 as Weight) - // Standard Error: 9_000 - .saturating_add((2_464_000 as Weight).saturating_mul(r as Weight)) + (44_001_000 as Weight) + // Standard Error: 11_000 + .saturating_add((2_412_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64store(r: u32, ) -> Weight { - (49_007_000 as Weight) - // Standard Error: 10_000 - .saturating_add((2_540_000 as Weight).saturating_mul(r as Weight)) + (43_157_000 as Weight) + // Standard Error: 12_000 + .saturating_add((2_677_000 as Weight).saturating_mul(r as Weight)) } fn instr_select(r: u32, ) -> Weight { - (51_388_000 as Weight) - // Standard Error: 13_000 - .saturating_add((2_188_000 as Weight).saturating_mul(r as Weight)) + (48_475_000 as Weight) + // Standard Error: 8_000 + .saturating_add((2_604_000 as Weight).saturating_mul(r as Weight)) } fn instr_if(r: u32, ) -> Weight { - (48_672_000 as Weight) + (50_649_000 as Weight) // Standard Error: 12_000 - .saturating_add((2_310_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((2_553_000 as Weight).saturating_mul(r as Weight)) } fn instr_br(r: u32, ) -> Weight { - (51_538_000 as Weight) - // Standard Error: 16_000 - .saturating_add((1_324_000 as Weight).saturating_mul(r as Weight)) + (48_433_000 as Weight) + // Standard Error: 8_000 + .saturating_add((1_670_000 as Weight).saturating_mul(r as Weight)) } fn instr_br_if(r: u32, ) -> Weight { - (45_154_000 as Weight) - // Standard Error: 17_000 - .saturating_add((2_002_000 as Weight).saturating_mul(r as Weight)) + (49_244_000 as Weight) + // Standard Error: 16_000 + .saturating_add((1_946_000 as Weight).saturating_mul(r as Weight)) } fn instr_br_table(r: u32, ) -> Weight { - (38_511_000 as Weight) + (46_117_000 as Weight) // Standard Error: 17_000 - .saturating_add((2_611_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((2_387_000 as Weight).saturating_mul(r as Weight)) } - fn instr_br_table_per_entry(e: u32, ) -> Weight { - (47_321_000 as Weight) - // Standard Error: 3_000 - .saturating_add((18_000 as Weight).saturating_mul(e as Weight)) + fn instr_br_table_per_entry(_e: u32, ) -> Weight { + (55_204_000 as Weight) } fn instr_call(r: u32, ) -> Weight { - (40_145_000 as Weight) - // Standard Error: 30_000 - .saturating_add((20_056_000 as Weight).saturating_mul(r as Weight)) + (43_651_000 as Weight) + // Standard Error: 26_000 + .saturating_add((19_163_000 as Weight).saturating_mul(r as Weight)) } fn instr_call_indirect(r: u32, ) -> Weight { - (54_566_000 as Weight) + (54_063_000 as Weight) // Standard Error: 32_000 - .saturating_add((30_331_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((27_970_000 as Weight).saturating_mul(r as Weight)) } fn instr_call_indirect_per_param(p: u32, ) -> Weight { - (86_289_000 as Weight) - // Standard Error: 7_000 - .saturating_add((1_080_000 as Weight).saturating_mul(p as Weight)) + (88_527_000 as Weight) + // Standard Error: 6_000 + .saturating_add((958_000 as Weight).saturating_mul(p as Weight)) } fn instr_local_get(r: u32, ) -> Weight { - (49_186_000 as Weight) - // Standard Error: 11_000 - .saturating_add((629_000 as Weight).saturating_mul(r as Weight)) + (55_066_000 as Weight) + // Standard Error: 12_000 + .saturating_add((682_000 as Weight).saturating_mul(r as Weight)) } fn instr_local_set(r: u32, ) -> Weight { - (49_030_000 as Weight) - // Standard Error: 11_000 - .saturating_add((732_000 as Weight).saturating_mul(r as Weight)) + (55_298_000 as Weight) + // Standard Error: 13_000 + .saturating_add((778_000 as Weight).saturating_mul(r as Weight)) } fn instr_local_tee(r: u32, ) -> Weight { - (45_867_000 as Weight) - // Standard Error: 10_000 - .saturating_add((1_281_000 as Weight).saturating_mul(r as Weight)) + (56_302_000 as Weight) + // Standard Error: 11_000 + .saturating_add((1_079_000 as Weight).saturating_mul(r as Weight)) } fn instr_global_get(r: u32, ) -> Weight { - (64_350_000 as Weight) - // Standard Error: 19_000 - .saturating_add((1_421_000 as Weight).saturating_mul(r as Weight)) + (71_567_000 as Weight) + // Standard Error: 11_000 + .saturating_add((1_107_000 as Weight).saturating_mul(r as Weight)) } fn instr_global_set(r: u32, ) -> Weight { - (61_716_000 as Weight) - // Standard Error: 19_000 - .saturating_add((1_561_000 as Weight).saturating_mul(r as Weight)) + (71_186_000 as Weight) + // Standard Error: 12_000 + .saturating_add((1_151_000 as Weight).saturating_mul(r as Weight)) } fn instr_memory_current(r: u32, ) -> Weight { - (53_303_000 as Weight) - // Standard Error: 15_000 - .saturating_add((742_000 as Weight).saturating_mul(r as Weight)) + (46_240_000 as Weight) + // Standard Error: 10_000 + .saturating_add((1_044_000 as Weight).saturating_mul(r as Weight)) } fn instr_memory_grow(r: u32, ) -> Weight { - (38_377_000 as Weight) - // Standard Error: 122_000 - .saturating_add((633_403_000 as Weight).saturating_mul(r as Weight)) + (52_369_000 as Weight) + // Standard Error: 2_508_000 + .saturating_add((615_448_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64clz(r: u32, ) -> Weight { - (55_169_000 as Weight) - // Standard Error: 10_000 - .saturating_add((1_114_000 as Weight).saturating_mul(r as Weight)) + (47_623_000 as Weight) + // Standard Error: 9_000 + .saturating_add((1_583_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64ctz(r: u32, ) -> Weight { - (55_406_000 as Weight) - // Standard Error: 10_000 - .saturating_add((1_105_000 as Weight).saturating_mul(r as Weight)) + (47_670_000 as Weight) + // Standard Error: 9_000 + .saturating_add((1_583_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64popcnt(r: u32, ) -> Weight { - (55_255_000 as Weight) - // Standard Error: 10_000 - .saturating_add((1_111_000 as Weight).saturating_mul(r as Weight)) + (47_508_000 as Weight) + // Standard Error: 9_000 + .saturating_add((1_583_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64eqz(r: u32, ) -> Weight { - (55_389_000 as Weight) + (48_109_000 as Weight) // Standard Error: 9_000 - .saturating_add((1_102_000 as Weight).saturating_mul(r as Weight)) + .saturating_add((1_580_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64extendsi32(r: u32, ) -> Weight { - (44_951_000 as Weight) - // Standard Error: 10_000 - .saturating_add((1_302_000 as Weight).saturating_mul(r as Weight)) + (55_270_000 as Weight) + // Standard Error: 9_000 + .saturating_add((1_102_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64extendui32(r: u32, ) -> Weight { - (45_263_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_292_000 as Weight).saturating_mul(r as Weight)) + (55_093_000 as Weight) + // Standard Error: 9_000 + .saturating_add((1_108_000 as Weight).saturating_mul(r as Weight)) } fn instr_i32wrapi64(r: u32, ) -> Weight { - (55_222_000 as Weight) - // Standard Error: 9_000 - .saturating_add((1_104_000 as Weight).saturating_mul(r as Weight)) + (48_265_000 as Weight) + // Standard Error: 10_000 + .saturating_add((1_573_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64eq(r: u32, ) -> Weight { - (50_838_000 as Weight) - // Standard Error: 10_000 - .saturating_add((1_669_000 as Weight).saturating_mul(r as Weight)) + (48_733_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_088_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64ne(r: u32, ) -> Weight { - (51_064_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_663_000 as Weight).saturating_mul(r as Weight)) + (48_831_000 as Weight) + // Standard Error: 6_000 + .saturating_add((2_085_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64lts(r: u32, ) -> Weight { - (50_915_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_667_000 as Weight).saturating_mul(r as Weight)) + (49_147_000 as Weight) + // Standard Error: 6_000 + .saturating_add((2_056_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64ltu(r: u32, ) -> Weight { - (50_868_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_669_000 as Weight).saturating_mul(r as Weight)) + (49_596_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_049_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64gts(r: u32, ) -> Weight { - (50_797_000 as Weight) - // Standard Error: 12_000 - .saturating_add((1_672_000 as Weight).saturating_mul(r as Weight)) + (49_872_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_038_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64gtu(r: u32, ) -> Weight { - (51_497_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_656_000 as Weight).saturating_mul(r as Weight)) + (48_843_000 as Weight) + // Standard Error: 6_000 + .saturating_add((2_081_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64les(r: u32, ) -> Weight { - (50_871_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_668_000 as Weight).saturating_mul(r as Weight)) + (48_765_000 as Weight) + // Standard Error: 6_000 + .saturating_add((2_089_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64leu(r: u32, ) -> Weight { - (50_718_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_679_000 as Weight).saturating_mul(r as Weight)) + (48_720_000 as Weight) + // Standard Error: 6_000 + .saturating_add((2_083_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64ges(r: u32, ) -> Weight { - (50_872_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_668_000 as Weight).saturating_mul(r as Weight)) + (48_736_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_097_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64geu(r: u32, ) -> Weight { - (50_736_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_678_000 as Weight).saturating_mul(r as Weight)) + (48_772_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_093_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64add(r: u32, ) -> Weight { - (50_716_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_677_000 as Weight).saturating_mul(r as Weight)) + (48_827_000 as Weight) + // Standard Error: 6_000 + .saturating_add((2_082_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64sub(r: u32, ) -> Weight { - (51_042_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_664_000 as Weight).saturating_mul(r as Weight)) + (48_961_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_072_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64mul(r: u32, ) -> Weight { - (51_090_000 as Weight) - // Standard Error: 12_000 - .saturating_add((1_673_000 as Weight).saturating_mul(r as Weight)) + (49_069_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_067_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64divs(r: u32, ) -> Weight { - (50_997_000 as Weight) - // Standard Error: 11_000 - .saturating_add((2_339_000 as Weight).saturating_mul(r as Weight)) + (49_035_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_677_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64divu(r: u32, ) -> Weight { - (51_196_000 as Weight) - // Standard Error: 11_000 - .saturating_add((2_049_000 as Weight).saturating_mul(r as Weight)) + (48_842_000 as Weight) + // Standard Error: 6_000 + .saturating_add((2_449_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64rems(r: u32, ) -> Weight { - (51_336_000 as Weight) - // Standard Error: 12_000 - .saturating_add((2_258_000 as Weight).saturating_mul(r as Weight)) + (48_536_000 as Weight) + // Standard Error: 6_000 + .saturating_add((2_723_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64remu(r: u32, ) -> Weight { - (50_993_000 as Weight) - // Standard Error: 11_000 - .saturating_add((2_031_000 as Weight).saturating_mul(r as Weight)) + (48_851_000 as Weight) + // Standard Error: 6_000 + .saturating_add((2_432_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64and(r: u32, ) -> Weight { - (51_038_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_666_000 as Weight).saturating_mul(r as Weight)) + (48_624_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_093_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64or(r: u32, ) -> Weight { - (51_051_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_668_000 as Weight).saturating_mul(r as Weight)) + (49_348_000 as Weight) + // Standard Error: 8_000 + .saturating_add((2_073_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64xor(r: u32, ) -> Weight { - (51_137_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_667_000 as Weight).saturating_mul(r as Weight)) + (49_112_000 as Weight) + // Standard Error: 6_000 + .saturating_add((2_055_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64shl(r: u32, ) -> Weight { - (51_083_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_666_000 as Weight).saturating_mul(r as Weight)) + (49_654_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_051_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64shrs(r: u32, ) -> Weight { - (51_118_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_664_000 as Weight).saturating_mul(r as Weight)) + (48_848_000 as Weight) + // Standard Error: 8_000 + .saturating_add((2_089_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64shru(r: u32, ) -> Weight { - (50_805_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_673_000 as Weight).saturating_mul(r as Weight)) + (49_455_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_054_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64rotl(r: u32, ) -> Weight { - (50_835_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_682_000 as Weight).saturating_mul(r as Weight)) + (49_640_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_048_000 as Weight).saturating_mul(r as Weight)) } fn instr_i64rotr(r: u32, ) -> Weight { - (50_947_000 as Weight) - // Standard Error: 11_000 - .saturating_add((1_669_000 as Weight).saturating_mul(r as Weight)) + (49_498_000 as Weight) + // Standard Error: 7_000 + .saturating_add((2_068_000 as Weight).saturating_mul(r as Weight)) } } diff --git a/primitives/core/src/testing.rs b/primitives/core/src/testing.rs index 865a03714a891..a7fff0def83f2 100644 --- a/primitives/core/src/testing.rs +++ b/primitives/core/src/testing.rs @@ -23,7 +23,7 @@ use crate::crypto::KeyTypeId; pub const ED25519: KeyTypeId = KeyTypeId(*b"ed25"); /// Key type for generic Sr 25519 key. pub const SR25519: KeyTypeId = KeyTypeId(*b"sr25"); -/// Key type for generic Sr 25519 key. +/// Key type for generic ECDSA key. pub const ECDSA: KeyTypeId = KeyTypeId(*b"ecds"); /// Macro for exporting functions from wasm in with the expected signature for using it with the