mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-07-03 06:27:23 +00:00
095f4bd9ae
This PR introduces the pallet for Sassafras consensus. ## Non Goals The pallet delivers only the bare-bones and doesn't deliver support for auxiliary functionalities such as equivocation report and support for epoch change via session pallet. These functionalities were drafted in the [main PR](https://github.com/paritytech/polkadot-sdk/pull/1336), but IMO is better to introduce this auxiliary stuff in a follow up PR and after client code. ## Potential follow ups https://github.com/paritytech/polkadot-sdk/issues/2364 --------- Co-authored-by: Sebastian Kunert <skunert49@gmail.com> Co-authored-by: Koute <koute@users.noreply.github.com> Co-authored-by: Michal Kucharczyk <1728078+michalkucharczyk@users.noreply.github.com> Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com> Co-authored-by: Bastian Köcher <git@kchr.de>
426 lines
25 KiB
Rust
Generated
426 lines
25 KiB
Rust
Generated
// This file is part of Substrate.
|
|
|
|
// Copyright (C) Parity Technologies (UK) Ltd.
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
//! Autogenerated weights for `pallet_sassafras`
|
|
//!
|
|
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
|
|
//! DATE: 2023-11-16, STEPS: `20`, REPEAT: `3`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
|
//! WORST CASE MAP SIZE: `1000000`
|
|
//! HOSTNAME: `behemoth`, CPU: `AMD Ryzen Threadripper 3970X 32-Core Processor`
|
|
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
|
|
|
|
// Executed Command:
|
|
// ./target/release/node-template
|
|
// benchmark
|
|
// pallet
|
|
// --chain
|
|
// dev
|
|
// --pallet
|
|
// pallet_sassafras
|
|
// --extrinsic
|
|
// *
|
|
// --steps
|
|
// 20
|
|
// --repeat
|
|
// 3
|
|
// --output
|
|
// weights.rs
|
|
// --template
|
|
// substrate/.maintain/frame-weight-template.hbs
|
|
|
|
#![cfg_attr(rustfmt, rustfmt_skip)]
|
|
#![allow(unused_parens)]
|
|
#![allow(unused_imports)]
|
|
#![allow(missing_docs)]
|
|
|
|
use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
|
|
use core::marker::PhantomData;
|
|
|
|
/// Weight functions needed for `pallet_sassafras`.
|
|
pub trait WeightInfo {
|
|
fn on_initialize() -> Weight;
|
|
fn enact_epoch_change(x: u32, y: u32, ) -> Weight;
|
|
fn submit_tickets(x: u32, ) -> Weight;
|
|
fn plan_config_change() -> Weight;
|
|
fn update_ring_verifier(x: u32, ) -> Weight;
|
|
fn load_ring_context() -> Weight;
|
|
fn sort_segments(x: u32, ) -> Weight;
|
|
}
|
|
|
|
/// Weights for `pallet_sassafras` using the Substrate node and recommended hardware.
|
|
pub struct SubstrateWeight<T>(PhantomData<T>);
|
|
impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
|
/// Storage: `System::Digest` (r:1 w:1)
|
|
/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
|
/// Storage: `Sassafras::NextRandomness` (r:1 w:0)
|
|
/// Proof: `Sassafras::NextRandomness` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::NextAuthorities` (r:1 w:0)
|
|
/// Proof: `Sassafras::NextAuthorities` (`max_values`: Some(1), `max_size`: Some(3302), added: 3797, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::CurrentRandomness` (r:1 w:0)
|
|
/// Proof: `Sassafras::CurrentRandomness` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::EpochIndex` (r:1 w:0)
|
|
/// Proof: `Sassafras::EpochIndex` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::RandomnessAccumulator` (r:1 w:1)
|
|
/// Proof: `Sassafras::RandomnessAccumulator` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::CurrentSlot` (r:0 w:1)
|
|
/// Proof: `Sassafras::CurrentSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::ClaimTemporaryData` (r:0 w:1)
|
|
/// Proof: `Sassafras::ClaimTemporaryData` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::GenesisSlot` (r:0 w:1)
|
|
/// Proof: `Sassafras::GenesisSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
fn on_initialize() -> Weight {
|
|
// Proof Size summary in bytes:
|
|
// Measured: `302`
|
|
// Estimated: `4787`
|
|
// Minimum execution time: 438_039_000 picoseconds.
|
|
Weight::from_parts(439_302_000, 4787)
|
|
.saturating_add(T::DbWeight::get().reads(6_u64))
|
|
.saturating_add(T::DbWeight::get().writes(5_u64))
|
|
}
|
|
/// Storage: `Sassafras::CurrentSlot` (r:1 w:0)
|
|
/// Proof: `Sassafras::CurrentSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::EpochIndex` (r:1 w:1)
|
|
/// Proof: `Sassafras::EpochIndex` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::GenesisSlot` (r:1 w:0)
|
|
/// Proof: `Sassafras::GenesisSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::NextAuthorities` (r:1 w:1)
|
|
/// Proof: `Sassafras::NextAuthorities` (`max_values`: Some(1), `max_size`: Some(3302), added: 3797, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::RingContext` (r:1 w:0)
|
|
/// Proof: `Sassafras::RingContext` (`max_values`: Some(1), `max_size`: Some(590324), added: 590819, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::TicketsMeta` (r:1 w:1)
|
|
/// Proof: `Sassafras::TicketsMeta` (`max_values`: Some(1), `max_size`: Some(12), added: 507, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::NextRandomness` (r:1 w:1)
|
|
/// Proof: `Sassafras::NextRandomness` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::RandomnessAccumulator` (r:1 w:0)
|
|
/// Proof: `Sassafras::RandomnessAccumulator` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::NextEpochConfig` (r:1 w:1)
|
|
/// Proof: `Sassafras::NextEpochConfig` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::PendingEpochConfigChange` (r:1 w:1)
|
|
/// Proof: `Sassafras::PendingEpochConfigChange` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Digest` (r:1 w:1)
|
|
/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
|
/// Storage: `Sassafras::SortedCandidates` (r:1 w:0)
|
|
/// Proof: `Sassafras::SortedCandidates` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::UnsortedSegments` (r:79 w:79)
|
|
/// Proof: `Sassafras::UnsortedSegments` (`max_values`: None, `max_size`: Some(2054), added: 4529, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::TicketsIds` (r:5000 w:200)
|
|
/// Proof: `Sassafras::TicketsIds` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::Authorities` (r:0 w:1)
|
|
/// Proof: `Sassafras::Authorities` (`max_values`: Some(1), `max_size`: Some(3302), added: 3797, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::TicketsData` (r:0 w:9896)
|
|
/// Proof: `Sassafras::TicketsData` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::RingVerifierData` (r:0 w:1)
|
|
/// Proof: `Sassafras::RingVerifierData` (`max_values`: Some(1), `max_size`: Some(388), added: 883, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::EpochConfig` (r:0 w:1)
|
|
/// Proof: `Sassafras::EpochConfig` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::CurrentRandomness` (r:0 w:1)
|
|
/// Proof: `Sassafras::CurrentRandomness` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
|
/// The range of component `x` is `[1, 100]`.
|
|
/// The range of component `y` is `[1000, 5000]`.
|
|
fn enact_epoch_change(x: u32, y: u32, ) -> Weight {
|
|
// Proof Size summary in bytes:
|
|
// Measured: `594909 + x * (33 ±0) + y * (53 ±0)`
|
|
// Estimated: `593350 + x * (24 ±1) + y * (2496 ±0)`
|
|
// Minimum execution time: 121_279_846_000 picoseconds.
|
|
Weight::from_parts(94_454_851_972, 593350)
|
|
// Standard Error: 24_177_301
|
|
.saturating_add(Weight::from_parts(8_086_191, 0).saturating_mul(x.into()))
|
|
// Standard Error: 601_053
|
|
.saturating_add(Weight::from_parts(15_578_413, 0).saturating_mul(y.into()))
|
|
.saturating_add(T::DbWeight::get().reads(13_u64))
|
|
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(y.into())))
|
|
.saturating_add(T::DbWeight::get().writes(112_u64))
|
|
.saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(y.into())))
|
|
.saturating_add(Weight::from_parts(0, 24).saturating_mul(x.into()))
|
|
.saturating_add(Weight::from_parts(0, 2496).saturating_mul(y.into()))
|
|
}
|
|
/// Storage: `Sassafras::CurrentSlot` (r:1 w:0)
|
|
/// Proof: `Sassafras::CurrentSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::EpochIndex` (r:1 w:0)
|
|
/// Proof: `Sassafras::EpochIndex` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::GenesisSlot` (r:1 w:0)
|
|
/// Proof: `Sassafras::GenesisSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::RingVerifierData` (r:1 w:0)
|
|
/// Proof: `Sassafras::RingVerifierData` (`max_values`: Some(1), `max_size`: Some(388), added: 883, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::NextAuthorities` (r:1 w:0)
|
|
/// Proof: `Sassafras::NextAuthorities` (`max_values`: Some(1), `max_size`: Some(3302), added: 3797, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::NextEpochConfig` (r:1 w:0)
|
|
/// Proof: `Sassafras::NextEpochConfig` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::NextRandomness` (r:1 w:0)
|
|
/// Proof: `Sassafras::NextRandomness` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::TicketsData` (r:25 w:25)
|
|
/// Proof: `Sassafras::TicketsData` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::TicketsMeta` (r:1 w:1)
|
|
/// Proof: `Sassafras::TicketsMeta` (`max_values`: Some(1), `max_size`: Some(12), added: 507, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::UnsortedSegments` (r:1 w:1)
|
|
/// Proof: `Sassafras::UnsortedSegments` (`max_values`: None, `max_size`: Some(2054), added: 4529, mode: `MaxEncodedLen`)
|
|
/// The range of component `x` is `[1, 25]`.
|
|
fn submit_tickets(x: u32, ) -> Weight {
|
|
// Proof Size summary in bytes:
|
|
// Measured: `3869`
|
|
// Estimated: `5519 + x * (2559 ±0)`
|
|
// Minimum execution time: 36_904_934_000 picoseconds.
|
|
Weight::from_parts(25_822_957_295, 5519)
|
|
// Standard Error: 11_047_832
|
|
.saturating_add(Weight::from_parts(11_338_353_299, 0).saturating_mul(x.into()))
|
|
.saturating_add(T::DbWeight::get().reads(9_u64))
|
|
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(x.into())))
|
|
.saturating_add(T::DbWeight::get().writes(2_u64))
|
|
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(x.into())))
|
|
.saturating_add(Weight::from_parts(0, 2559).saturating_mul(x.into()))
|
|
}
|
|
/// Storage: `Sassafras::PendingEpochConfigChange` (r:0 w:1)
|
|
/// Proof: `Sassafras::PendingEpochConfigChange` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
fn plan_config_change() -> Weight {
|
|
// Proof Size summary in bytes:
|
|
// Measured: `0`
|
|
// Estimated: `0`
|
|
// Minimum execution time: 4_038_000 picoseconds.
|
|
Weight::from_parts(4_499_000, 0)
|
|
.saturating_add(T::DbWeight::get().writes(1_u64))
|
|
}
|
|
/// Storage: `Sassafras::RingContext` (r:1 w:0)
|
|
/// Proof: `Sassafras::RingContext` (`max_values`: Some(1), `max_size`: Some(590324), added: 590819, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::RingVerifierData` (r:0 w:1)
|
|
/// Proof: `Sassafras::RingVerifierData` (`max_values`: Some(1), `max_size`: Some(388), added: 883, mode: `MaxEncodedLen`)
|
|
/// The range of component `x` is `[1, 100]`.
|
|
fn update_ring_verifier(x: u32, ) -> Weight {
|
|
// Proof Size summary in bytes:
|
|
// Measured: `590485`
|
|
// Estimated: `591809`
|
|
// Minimum execution time: 105_121_424_000 picoseconds.
|
|
Weight::from_parts(105_527_334_385, 591809)
|
|
// Standard Error: 2_933_910
|
|
.saturating_add(Weight::from_parts(96_136_261, 0).saturating_mul(x.into()))
|
|
.saturating_add(T::DbWeight::get().reads(1_u64))
|
|
.saturating_add(T::DbWeight::get().writes(1_u64))
|
|
}
|
|
/// Storage: `Sassafras::RingContext` (r:1 w:0)
|
|
/// Proof: `Sassafras::RingContext` (`max_values`: Some(1), `max_size`: Some(590324), added: 590819, mode: `MaxEncodedLen`)
|
|
fn load_ring_context() -> Weight {
|
|
// Proof Size summary in bytes:
|
|
// Measured: `590485`
|
|
// Estimated: `591809`
|
|
// Minimum execution time: 44_005_681_000 picoseconds.
|
|
Weight::from_parts(44_312_079_000, 591809)
|
|
.saturating_add(T::DbWeight::get().reads(1_u64))
|
|
}
|
|
/// Storage: `Sassafras::SortedCandidates` (r:1 w:0)
|
|
/// Proof: `Sassafras::SortedCandidates` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::UnsortedSegments` (r:100 w:100)
|
|
/// Proof: `Sassafras::UnsortedSegments` (`max_values`: None, `max_size`: Some(2054), added: 4529, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::TicketsIds` (r:0 w:200)
|
|
/// Proof: `Sassafras::TicketsIds` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::TicketsData` (r:0 w:12600)
|
|
/// Proof: `Sassafras::TicketsData` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
|
|
/// The range of component `x` is `[1, 100]`.
|
|
fn sort_segments(x: u32, ) -> Weight {
|
|
// Proof Size summary in bytes:
|
|
// Measured: `222 + x * (2060 ±0)`
|
|
// Estimated: `4687 + x * (4529 ±0)`
|
|
// Minimum execution time: 183_501_000 picoseconds.
|
|
Weight::from_parts(183_501_000, 4687)
|
|
// Standard Error: 1_426_363
|
|
.saturating_add(Weight::from_parts(169_156_241, 0).saturating_mul(x.into()))
|
|
.saturating_add(T::DbWeight::get().reads(1_u64))
|
|
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(x.into())))
|
|
.saturating_add(T::DbWeight::get().writes((129_u64).saturating_mul(x.into())))
|
|
.saturating_add(Weight::from_parts(0, 4529).saturating_mul(x.into()))
|
|
}
|
|
}
|
|
|
|
// For backwards compatibility and tests.
|
|
impl WeightInfo for () {
|
|
/// Storage: `System::Digest` (r:1 w:1)
|
|
/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
|
/// Storage: `Sassafras::NextRandomness` (r:1 w:0)
|
|
/// Proof: `Sassafras::NextRandomness` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::NextAuthorities` (r:1 w:0)
|
|
/// Proof: `Sassafras::NextAuthorities` (`max_values`: Some(1), `max_size`: Some(3302), added: 3797, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::CurrentRandomness` (r:1 w:0)
|
|
/// Proof: `Sassafras::CurrentRandomness` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::EpochIndex` (r:1 w:0)
|
|
/// Proof: `Sassafras::EpochIndex` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::RandomnessAccumulator` (r:1 w:1)
|
|
/// Proof: `Sassafras::RandomnessAccumulator` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::CurrentSlot` (r:0 w:1)
|
|
/// Proof: `Sassafras::CurrentSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::ClaimTemporaryData` (r:0 w:1)
|
|
/// Proof: `Sassafras::ClaimTemporaryData` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::GenesisSlot` (r:0 w:1)
|
|
/// Proof: `Sassafras::GenesisSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
fn on_initialize() -> Weight {
|
|
// Proof Size summary in bytes:
|
|
// Measured: `302`
|
|
// Estimated: `4787`
|
|
// Minimum execution time: 438_039_000 picoseconds.
|
|
Weight::from_parts(439_302_000, 4787)
|
|
.saturating_add(RocksDbWeight::get().reads(6_u64))
|
|
.saturating_add(RocksDbWeight::get().writes(5_u64))
|
|
}
|
|
/// Storage: `Sassafras::CurrentSlot` (r:1 w:0)
|
|
/// Proof: `Sassafras::CurrentSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::EpochIndex` (r:1 w:1)
|
|
/// Proof: `Sassafras::EpochIndex` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::GenesisSlot` (r:1 w:0)
|
|
/// Proof: `Sassafras::GenesisSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::NextAuthorities` (r:1 w:1)
|
|
/// Proof: `Sassafras::NextAuthorities` (`max_values`: Some(1), `max_size`: Some(3302), added: 3797, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::RingContext` (r:1 w:0)
|
|
/// Proof: `Sassafras::RingContext` (`max_values`: Some(1), `max_size`: Some(590324), added: 590819, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::TicketsMeta` (r:1 w:1)
|
|
/// Proof: `Sassafras::TicketsMeta` (`max_values`: Some(1), `max_size`: Some(12), added: 507, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::NextRandomness` (r:1 w:1)
|
|
/// Proof: `Sassafras::NextRandomness` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::RandomnessAccumulator` (r:1 w:0)
|
|
/// Proof: `Sassafras::RandomnessAccumulator` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::NextEpochConfig` (r:1 w:1)
|
|
/// Proof: `Sassafras::NextEpochConfig` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::PendingEpochConfigChange` (r:1 w:1)
|
|
/// Proof: `Sassafras::PendingEpochConfigChange` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `System::Digest` (r:1 w:1)
|
|
/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
|
|
/// Storage: `Sassafras::SortedCandidates` (r:1 w:0)
|
|
/// Proof: `Sassafras::SortedCandidates` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::UnsortedSegments` (r:79 w:79)
|
|
/// Proof: `Sassafras::UnsortedSegments` (`max_values`: None, `max_size`: Some(2054), added: 4529, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::TicketsIds` (r:5000 w:200)
|
|
/// Proof: `Sassafras::TicketsIds` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::Authorities` (r:0 w:1)
|
|
/// Proof: `Sassafras::Authorities` (`max_values`: Some(1), `max_size`: Some(3302), added: 3797, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::TicketsData` (r:0 w:9896)
|
|
/// Proof: `Sassafras::TicketsData` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::RingVerifierData` (r:0 w:1)
|
|
/// Proof: `Sassafras::RingVerifierData` (`max_values`: Some(1), `max_size`: Some(388), added: 883, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::EpochConfig` (r:0 w:1)
|
|
/// Proof: `Sassafras::EpochConfig` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::CurrentRandomness` (r:0 w:1)
|
|
/// Proof: `Sassafras::CurrentRandomness` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
|
/// The range of component `x` is `[1, 100]`.
|
|
/// The range of component `y` is `[1000, 5000]`.
|
|
fn enact_epoch_change(x: u32, y: u32, ) -> Weight {
|
|
// Proof Size summary in bytes:
|
|
// Measured: `594909 + x * (33 ±0) + y * (53 ±0)`
|
|
// Estimated: `593350 + x * (24 ±1) + y * (2496 ±0)`
|
|
// Minimum execution time: 121_279_846_000 picoseconds.
|
|
Weight::from_parts(94_454_851_972, 593350)
|
|
// Standard Error: 24_177_301
|
|
.saturating_add(Weight::from_parts(8_086_191, 0).saturating_mul(x.into()))
|
|
// Standard Error: 601_053
|
|
.saturating_add(Weight::from_parts(15_578_413, 0).saturating_mul(y.into()))
|
|
.saturating_add(RocksDbWeight::get().reads(13_u64))
|
|
.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(y.into())))
|
|
.saturating_add(RocksDbWeight::get().writes(112_u64))
|
|
.saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(y.into())))
|
|
.saturating_add(Weight::from_parts(0, 24).saturating_mul(x.into()))
|
|
.saturating_add(Weight::from_parts(0, 2496).saturating_mul(y.into()))
|
|
}
|
|
/// Storage: `Sassafras::CurrentSlot` (r:1 w:0)
|
|
/// Proof: `Sassafras::CurrentSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::EpochIndex` (r:1 w:0)
|
|
/// Proof: `Sassafras::EpochIndex` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::GenesisSlot` (r:1 w:0)
|
|
/// Proof: `Sassafras::GenesisSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::RingVerifierData` (r:1 w:0)
|
|
/// Proof: `Sassafras::RingVerifierData` (`max_values`: Some(1), `max_size`: Some(388), added: 883, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::NextAuthorities` (r:1 w:0)
|
|
/// Proof: `Sassafras::NextAuthorities` (`max_values`: Some(1), `max_size`: Some(3302), added: 3797, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::NextEpochConfig` (r:1 w:0)
|
|
/// Proof: `Sassafras::NextEpochConfig` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::NextRandomness` (r:1 w:0)
|
|
/// Proof: `Sassafras::NextRandomness` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::TicketsData` (r:25 w:25)
|
|
/// Proof: `Sassafras::TicketsData` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::TicketsMeta` (r:1 w:1)
|
|
/// Proof: `Sassafras::TicketsMeta` (`max_values`: Some(1), `max_size`: Some(12), added: 507, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::UnsortedSegments` (r:1 w:1)
|
|
/// Proof: `Sassafras::UnsortedSegments` (`max_values`: None, `max_size`: Some(2054), added: 4529, mode: `MaxEncodedLen`)
|
|
/// The range of component `x` is `[1, 25]`.
|
|
fn submit_tickets(x: u32, ) -> Weight {
|
|
// Proof Size summary in bytes:
|
|
// Measured: `3869`
|
|
// Estimated: `5519 + x * (2559 ±0)`
|
|
// Minimum execution time: 36_904_934_000 picoseconds.
|
|
Weight::from_parts(25_822_957_295, 5519)
|
|
// Standard Error: 11_047_832
|
|
.saturating_add(Weight::from_parts(11_338_353_299, 0).saturating_mul(x.into()))
|
|
.saturating_add(RocksDbWeight::get().reads(9_u64))
|
|
.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(x.into())))
|
|
.saturating_add(RocksDbWeight::get().writes(2_u64))
|
|
.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(x.into())))
|
|
.saturating_add(Weight::from_parts(0, 2559).saturating_mul(x.into()))
|
|
}
|
|
/// Storage: `Sassafras::PendingEpochConfigChange` (r:0 w:1)
|
|
/// Proof: `Sassafras::PendingEpochConfigChange` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
|
|
fn plan_config_change() -> Weight {
|
|
// Proof Size summary in bytes:
|
|
// Measured: `0`
|
|
// Estimated: `0`
|
|
// Minimum execution time: 4_038_000 picoseconds.
|
|
Weight::from_parts(4_499_000, 0)
|
|
.saturating_add(RocksDbWeight::get().writes(1_u64))
|
|
}
|
|
/// Storage: `Sassafras::RingContext` (r:1 w:0)
|
|
/// Proof: `Sassafras::RingContext` (`max_values`: Some(1), `max_size`: Some(590324), added: 590819, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::RingVerifierData` (r:0 w:1)
|
|
/// Proof: `Sassafras::RingVerifierData` (`max_values`: Some(1), `max_size`: Some(388), added: 883, mode: `MaxEncodedLen`)
|
|
/// The range of component `x` is `[1, 100]`.
|
|
fn update_ring_verifier(x: u32, ) -> Weight {
|
|
// Proof Size summary in bytes:
|
|
// Measured: `590485`
|
|
// Estimated: `591809`
|
|
// Minimum execution time: 105_121_424_000 picoseconds.
|
|
Weight::from_parts(105_527_334_385, 591809)
|
|
// Standard Error: 2_933_910
|
|
.saturating_add(Weight::from_parts(96_136_261, 0).saturating_mul(x.into()))
|
|
.saturating_add(RocksDbWeight::get().reads(1_u64))
|
|
.saturating_add(RocksDbWeight::get().writes(1_u64))
|
|
}
|
|
/// Storage: `Sassafras::RingContext` (r:1 w:0)
|
|
/// Proof: `Sassafras::RingContext` (`max_values`: Some(1), `max_size`: Some(590324), added: 590819, mode: `MaxEncodedLen`)
|
|
fn load_ring_context() -> Weight {
|
|
// Proof Size summary in bytes:
|
|
// Measured: `590485`
|
|
// Estimated: `591809`
|
|
// Minimum execution time: 44_005_681_000 picoseconds.
|
|
Weight::from_parts(44_312_079_000, 591809)
|
|
.saturating_add(RocksDbWeight::get().reads(1_u64))
|
|
}
|
|
/// Storage: `Sassafras::SortedCandidates` (r:1 w:0)
|
|
/// Proof: `Sassafras::SortedCandidates` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::UnsortedSegments` (r:100 w:100)
|
|
/// Proof: `Sassafras::UnsortedSegments` (`max_values`: None, `max_size`: Some(2054), added: 4529, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::TicketsIds` (r:0 w:200)
|
|
/// Proof: `Sassafras::TicketsIds` (`max_values`: None, `max_size`: Some(21), added: 2496, mode: `MaxEncodedLen`)
|
|
/// Storage: `Sassafras::TicketsData` (r:0 w:12600)
|
|
/// Proof: `Sassafras::TicketsData` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
|
|
/// The range of component `x` is `[1, 100]`.
|
|
fn sort_segments(x: u32, ) -> Weight {
|
|
// Proof Size summary in bytes:
|
|
// Measured: `222 + x * (2060 ±0)`
|
|
// Estimated: `4687 + x * (4529 ±0)`
|
|
// Minimum execution time: 183_501_000 picoseconds.
|
|
Weight::from_parts(183_501_000, 4687)
|
|
// Standard Error: 1_426_363
|
|
.saturating_add(Weight::from_parts(169_156_241, 0).saturating_mul(x.into()))
|
|
.saturating_add(RocksDbWeight::get().reads(1_u64))
|
|
.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(x.into())))
|
|
.saturating_add(RocksDbWeight::get().writes((129_u64).saturating_mul(x.into())))
|
|
.saturating_add(Weight::from_parts(0, 4529).saturating_mul(x.into()))
|
|
}
|
|
}
|