mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-09 20:11:09 +00:00
Alliance pallet: retirement notice call (#11970)
* Alliance pallet: retirement notice * add alliance pallet to benchmark list for dev chain * fix type * ".git/.scripts/bench-bot.sh" pallet dev pallet_alliance * ".git/.scripts/bench-bot.sh" pallet dev pallet_alliance * link weight generated by bench for retirement_notice method * migration to clear UpForKicking storage prefix * rename migration from v1 to v0_to_v1 * Apply suggestions from code review Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com> * rename `retirement-notice to give-retirement-notice * Apply suggestions from code review Co-authored-by: Squirrel <gilescope@gmail.com> * review fixes: update doc, saturating add, BlockNumber type alias * add suffix to duratin consts *_IN_BLOCKS * ".git/.scripts/bench-bot.sh" pallet dev pallet_alliance * add negative tests (#11995) * add negative tests * remove tests powerless asserts checking against announcment origin * assert bad origin from announcement origin checks Co-authored-by: muharem <ismailov.m.h@gmail.com> Co-authored-by: command-bot <> Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com> Co-authored-by: Squirrel <gilescope@gmail.com>
This commit is contained in:
@@ -1518,8 +1518,10 @@ impl pallet_state_trie_migration::Config for Runtime {
|
||||
type WeightInfo = ();
|
||||
}
|
||||
|
||||
const ALLIANCE_MOTION_DURATION_IN_BLOCKS: BlockNumber = 5 * DAYS;
|
||||
|
||||
parameter_types! {
|
||||
pub const AllianceMotionDuration: BlockNumber = 5 * DAYS;
|
||||
pub const AllianceMotionDuration: BlockNumber = ALLIANCE_MOTION_DURATION_IN_BLOCKS;
|
||||
pub const AllianceMaxProposals: u32 = 100;
|
||||
pub const AllianceMaxMembers: u32 = 100;
|
||||
}
|
||||
@@ -1541,6 +1543,7 @@ parameter_types! {
|
||||
pub const MaxFellows: u32 = AllianceMaxMembers::get() - MaxFounders::get();
|
||||
pub const MaxAllies: u32 = 100;
|
||||
pub const AllyDeposit: Balance = 10 * DOLLARS;
|
||||
pub const RetirementPeriod: BlockNumber = ALLIANCE_MOTION_DURATION_IN_BLOCKS + (1 * DAYS);
|
||||
}
|
||||
|
||||
impl pallet_alliance::Config for Runtime {
|
||||
@@ -1577,6 +1580,7 @@ impl pallet_alliance::Config for Runtime {
|
||||
type MaxMembersCount = AllianceMaxMembers;
|
||||
type AllyDeposit = AllyDeposit;
|
||||
type WeightInfo = pallet_alliance::weights::SubstrateWeight<Runtime>;
|
||||
type RetirementPeriod = RetirementPeriod;
|
||||
}
|
||||
|
||||
construct_runtime!(
|
||||
@@ -1682,9 +1686,16 @@ pub type Executive = frame_executive::Executive<
|
||||
frame_system::ChainContext<Runtime>,
|
||||
Runtime,
|
||||
AllPalletsWithSystem,
|
||||
pallet_nomination_pools::migration::v2::MigrateToV2<Runtime>,
|
||||
Migrations,
|
||||
>;
|
||||
|
||||
// All migrations executed on runtime upgrade as a nested tuple of types implementing
|
||||
// `OnRuntimeUpgrade`.
|
||||
type Migrations = (
|
||||
pallet_nomination_pools::migration::v2::MigrateToV2<Runtime>,
|
||||
pallet_alliance::migration::Migration<Runtime>,
|
||||
);
|
||||
|
||||
/// MMR helper types.
|
||||
mod mmr {
|
||||
use super::Runtime;
|
||||
@@ -1703,6 +1714,7 @@ extern crate frame_benchmarking;
|
||||
mod benches {
|
||||
define_benchmarks!(
|
||||
[frame_benchmarking, BaselineBench::<Runtime>]
|
||||
[pallet_alliance, Alliance]
|
||||
[pallet_assets, Assets]
|
||||
[pallet_babe, Babe]
|
||||
[pallet_bags_list, BagsList]
|
||||
|
||||
@@ -43,6 +43,7 @@ to update the Alliance's rule and make announcements.
|
||||
|
||||
#### For Members (All)
|
||||
|
||||
- `give_retirement_notice` - Give a retirement notice and start a retirement period required to pass in order to retire.
|
||||
- `retire` - Retire from the Alliance and release the caller's deposit.
|
||||
|
||||
#### For Members (Founders/Fellows)
|
||||
|
||||
@@ -691,12 +691,37 @@ benchmarks_instance_pallet! {
|
||||
assert_last_event::<T, I>(Event::AllyElevated { ally: ally1 }.into());
|
||||
}
|
||||
|
||||
give_retirement_notice {
|
||||
set_members::<T, I>();
|
||||
let fellow2 = fellow::<T, I>(2);
|
||||
|
||||
assert!(Alliance::<T, I>::is_fellow(&fellow2));
|
||||
}: _(SystemOrigin::Signed(fellow2.clone()))
|
||||
verify {
|
||||
assert!(Alliance::<T, I>::is_member_of(&fellow2, MemberRole::Retiring));
|
||||
|
||||
assert_eq!(
|
||||
RetiringMembers::<T, I>::get(&fellow2),
|
||||
Some(System::<T>::block_number() + T::RetirementPeriod::get())
|
||||
);
|
||||
assert_last_event::<T, I>(
|
||||
Event::MemberRetirementPeriodStarted {member: fellow2}.into()
|
||||
);
|
||||
}
|
||||
|
||||
retire {
|
||||
set_members::<T, I>();
|
||||
|
||||
let fellow2 = fellow::<T, I>(2);
|
||||
assert!(Alliance::<T, I>::is_fellow(&fellow2));
|
||||
assert!(!Alliance::<T, I>::is_up_for_kicking(&fellow2));
|
||||
|
||||
assert_eq!(
|
||||
Alliance::<T, I>::give_retirement_notice(
|
||||
SystemOrigin::Signed(fellow2.clone()).into()
|
||||
),
|
||||
Ok(())
|
||||
);
|
||||
System::<T>::set_block_number(System::<T>::block_number() + T::RetirementPeriod::get());
|
||||
|
||||
assert_eq!(DepositOf::<T, I>::get(&fellow2), Some(T::AllyDeposit::get()));
|
||||
}: _(SystemOrigin::Signed(fellow2.clone()))
|
||||
@@ -713,11 +738,7 @@ benchmarks_instance_pallet! {
|
||||
set_members::<T, I>();
|
||||
|
||||
let fellow2 = fellow::<T, I>(2);
|
||||
UpForKicking::<T, I>::insert(&fellow2, true);
|
||||
|
||||
assert!(Alliance::<T, I>::is_member_of(&fellow2, MemberRole::Fellow));
|
||||
assert!(Alliance::<T, I>::is_up_for_kicking(&fellow2));
|
||||
|
||||
assert_eq!(DepositOf::<T, I>::get(&fellow2), Some(T::AllyDeposit::get()));
|
||||
|
||||
let fellow2_lookup = T::Lookup::unlookup(fellow2.clone());
|
||||
|
||||
@@ -60,6 +60,8 @@
|
||||
//!
|
||||
//! #### For Members (All)
|
||||
//!
|
||||
//! - `give_retirement_notice` - Give a retirement notice and start a retirement period required to
|
||||
//! pass in order to retire.
|
||||
//! - `retire` - Retire from the Alliance and release the caller's deposit.
|
||||
//!
|
||||
//! #### For Members (Founders/Fellows)
|
||||
@@ -93,13 +95,14 @@ mod tests;
|
||||
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
mod benchmarking;
|
||||
pub mod migration;
|
||||
mod types;
|
||||
pub mod weights;
|
||||
|
||||
use frame_support::pallet_prelude::*;
|
||||
use frame_system::pallet_prelude::*;
|
||||
use sp_runtime::{
|
||||
traits::{StaticLookup, Zero},
|
||||
traits::{Saturating, StaticLookup, Zero},
|
||||
RuntimeDebug,
|
||||
};
|
||||
use sp_std::{convert::TryInto, prelude::*};
|
||||
@@ -124,6 +127,9 @@ pub use pallet::*;
|
||||
pub use types::*;
|
||||
pub use weights::*;
|
||||
|
||||
/// The log target of this pallet.
|
||||
pub const LOG_TARGET: &str = "runtime::alliance";
|
||||
|
||||
/// Simple index type for proposal counting.
|
||||
pub type ProposalIndex = u32;
|
||||
|
||||
@@ -198,6 +204,7 @@ pub enum MemberRole {
|
||||
Founder,
|
||||
Fellow,
|
||||
Ally,
|
||||
Retiring,
|
||||
}
|
||||
|
||||
/// The type of item that may be deemed unscrupulous.
|
||||
@@ -218,6 +225,7 @@ pub mod pallet {
|
||||
|
||||
#[pallet::pallet]
|
||||
#[pallet::generate_store(pub (super) trait Store)]
|
||||
#[pallet::storage_version(migration::STORAGE_VERSION)]
|
||||
pub struct Pallet<T, I = ()>(PhantomData<(T, I)>);
|
||||
|
||||
#[pallet::config]
|
||||
@@ -308,6 +316,10 @@ pub mod pallet {
|
||||
|
||||
/// Weight information for extrinsics in this pallet.
|
||||
type WeightInfo: WeightInfo;
|
||||
|
||||
/// The number of blocks a member must wait between giving a retirement notice and retiring.
|
||||
/// Supposed to be greater than time required to `kick_member`.
|
||||
type RetirementPeriod: Get<Self::BlockNumber>;
|
||||
}
|
||||
|
||||
#[pallet::error]
|
||||
@@ -324,8 +336,6 @@ pub mod pallet {
|
||||
NotAlly,
|
||||
/// Account is not a founder.
|
||||
NotFounder,
|
||||
/// This member is up for being kicked from the Alliance and cannot perform this operation.
|
||||
UpForKicking,
|
||||
/// Account does not have voting rights.
|
||||
NoVotingRights,
|
||||
/// Account is already an elevated (fellow) member.
|
||||
@@ -357,6 +367,12 @@ pub mod pallet {
|
||||
TooManyMembers,
|
||||
/// Number of announcements exceeds `MaxAnnouncementsCount`.
|
||||
TooManyAnnouncements,
|
||||
/// Account already gave retirement notice
|
||||
AlreadyRetiring,
|
||||
/// Account did not give a retirement notice required to retire.
|
||||
RetirementNoticeNotGiven,
|
||||
/// Retirement period has not passed.
|
||||
RetirementPeriodNotPassed,
|
||||
}
|
||||
|
||||
#[pallet::event]
|
||||
@@ -382,6 +398,8 @@ pub mod pallet {
|
||||
},
|
||||
/// An ally has been elevated to Fellow.
|
||||
AllyElevated { ally: T::AccountId },
|
||||
/// A member gave retirement notice and their retirement period started.
|
||||
MemberRetirementPeriodStarted { member: T::AccountId },
|
||||
/// A member has retired with its deposit unreserved.
|
||||
MemberRetired { member: T::AccountId, unreserved: Option<BalanceOf<T, I>> },
|
||||
/// A member has been kicked out with its deposit slashed.
|
||||
@@ -485,12 +503,12 @@ pub mod pallet {
|
||||
ValueQuery,
|
||||
>;
|
||||
|
||||
/// A set of members that are (potentially) being kicked out. They cannot retire until the
|
||||
/// motion is settled.
|
||||
/// A set of members who gave a retirement notice. They can retire after the end of retirement
|
||||
/// period stored as a future block number.
|
||||
#[pallet::storage]
|
||||
#[pallet::getter(fn up_for_kicking)]
|
||||
pub type UpForKicking<T: Config<I>, I: 'static = ()> =
|
||||
StorageMap<_, Blake2_128Concat, T::AccountId, bool, ValueQuery>;
|
||||
#[pallet::getter(fn retiring_members)]
|
||||
pub type RetiringMembers<T: Config<I>, I: 'static = ()> =
|
||||
StorageMap<_, Blake2_128Concat, T::AccountId, T::BlockNumber, OptionQuery>;
|
||||
|
||||
/// The current list of accounts deemed unscrupulous. These accounts non grata cannot submit
|
||||
/// candidacy.
|
||||
@@ -525,11 +543,6 @@ pub mod pallet {
|
||||
let proposor = ensure_signed(origin)?;
|
||||
ensure!(Self::has_voting_rights(&proposor), Error::<T, I>::NoVotingRights);
|
||||
|
||||
if let Some(Call::kick_member { who }) = proposal.is_sub_type() {
|
||||
let strike = T::Lookup::lookup(who.clone())?;
|
||||
<UpForKicking<T, I>>::insert(strike, true);
|
||||
}
|
||||
|
||||
T::ProposalProvider::propose_proposal(proposor, threshold, proposal, length_bound)?;
|
||||
Ok(())
|
||||
}
|
||||
@@ -783,15 +796,40 @@ pub mod pallet {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// As a member, give a retirement notice and start a retirement period required to pass in
|
||||
/// order to retire.
|
||||
#[pallet::weight(T::WeightInfo::give_retirement_notice())]
|
||||
pub fn give_retirement_notice(origin: OriginFor<T>) -> DispatchResult {
|
||||
let who = ensure_signed(origin)?;
|
||||
let role = Self::member_role_of(&who).ok_or(Error::<T, I>::NotMember)?;
|
||||
ensure!(role.ne(&MemberRole::Retiring), Error::<T, I>::AlreadyRetiring);
|
||||
|
||||
Self::remove_member(&who, role)?;
|
||||
Self::add_member(&who, MemberRole::Retiring)?;
|
||||
<RetiringMembers<T, I>>::insert(
|
||||
&who,
|
||||
frame_system::Pallet::<T>::block_number()
|
||||
.saturating_add(T::RetirementPeriod::get()),
|
||||
);
|
||||
|
||||
Self::deposit_event(Event::MemberRetirementPeriodStarted { member: who });
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// As a member, retire from the alliance and unreserve the deposit.
|
||||
/// This can only be done once you have `give_retirement_notice` and it has expired.
|
||||
#[pallet::weight(T::WeightInfo::retire())]
|
||||
pub fn retire(origin: OriginFor<T>) -> DispatchResult {
|
||||
let who = ensure_signed(origin)?;
|
||||
// A member up for kicking cannot retire.
|
||||
ensure!(!Self::is_up_for_kicking(&who), Error::<T, I>::UpForKicking);
|
||||
let retirement_period_end = RetiringMembers::<T, I>::get(&who)
|
||||
.ok_or(Error::<T, I>::RetirementNoticeNotGiven)?;
|
||||
ensure!(
|
||||
frame_system::Pallet::<T>::block_number() >= retirement_period_end,
|
||||
Error::<T, I>::RetirementPeriodNotPassed
|
||||
);
|
||||
|
||||
let role = Self::member_role_of(&who).ok_or(Error::<T, I>::NotMember)?;
|
||||
Self::remove_member(&who, role)?;
|
||||
Self::remove_member(&who, MemberRole::Retiring)?;
|
||||
<RetiringMembers<T, I>>::remove(&who);
|
||||
let deposit = DepositOf::<T, I>::take(&who);
|
||||
if let Some(deposit) = deposit {
|
||||
let err_amount = T::Currency::unreserve(&who, deposit);
|
||||
@@ -814,8 +852,6 @@ pub mod pallet {
|
||||
T::Slashed::on_unbalanced(T::Currency::slash_reserved(&member, deposit).0);
|
||||
}
|
||||
|
||||
<UpForKicking<T, I>>::remove(&member);
|
||||
|
||||
Self::deposit_event(Event::MemberKicked { member, slashed: deposit });
|
||||
Ok(())
|
||||
}
|
||||
@@ -930,11 +966,6 @@ impl<T: Config<I>, I: 'static> Pallet<T, I> {
|
||||
founders.into()
|
||||
}
|
||||
|
||||
/// Check if an account's forced removal is up for consideration.
|
||||
fn is_up_for_kicking(who: &T::AccountId) -> bool {
|
||||
<UpForKicking<T, I>>::contains_key(&who)
|
||||
}
|
||||
|
||||
/// Add a user to the sorted alliance member set.
|
||||
fn add_member(who: &T::AccountId, role: MemberRole) -> DispatchResult {
|
||||
<Members<T, I>>::try_mutate(role, |members| -> DispatchResult {
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
// This file is part of Substrate.
|
||||
|
||||
// Copyright (C) 2022 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.
|
||||
|
||||
use crate::{Config, Pallet, Weight, LOG_TARGET};
|
||||
use frame_support::{pallet_prelude::*, storage::migration, traits::OnRuntimeUpgrade};
|
||||
use log;
|
||||
|
||||
/// The current storage version.
|
||||
pub const STORAGE_VERSION: StorageVersion = StorageVersion::new(1);
|
||||
|
||||
/// Wrapper for all migrations of this pallet.
|
||||
pub fn migrate<T: Config<I>, I: 'static>() -> Weight {
|
||||
let onchain_version = Pallet::<T, I>::on_chain_storage_version();
|
||||
let mut weight: Weight = 0;
|
||||
|
||||
if onchain_version < 1 {
|
||||
weight = weight.saturating_add(v0_to_v1::migrate::<T, I>());
|
||||
}
|
||||
|
||||
STORAGE_VERSION.put::<Pallet<T, I>>();
|
||||
weight = weight.saturating_add(T::DbWeight::get().writes(1));
|
||||
|
||||
weight
|
||||
}
|
||||
|
||||
/// Implements `OnRuntimeUpgrade` trait.
|
||||
pub struct Migration<T, I = ()>(PhantomData<(T, I)>);
|
||||
|
||||
impl<T: Config<I>, I: 'static> OnRuntimeUpgrade for Migration<T, I> {
|
||||
fn on_runtime_upgrade() -> Weight {
|
||||
migrate::<T, I>()
|
||||
}
|
||||
}
|
||||
|
||||
/// v0_to_v1: `UpForKicking` is replaced by a retirement period.
|
||||
mod v0_to_v1 {
|
||||
use super::*;
|
||||
|
||||
pub fn migrate<T: Config<I>, I: 'static>() -> Weight {
|
||||
if migration::clear_storage_prefix(
|
||||
<Pallet<T, I>>::name().as_bytes(),
|
||||
b"UpForKicking",
|
||||
b"",
|
||||
None,
|
||||
None,
|
||||
)
|
||||
.maybe_cursor
|
||||
.is_some()
|
||||
{
|
||||
log::error!(
|
||||
target: LOG_TARGET,
|
||||
"Storage prefix 'UpForKicking' is not completely cleared."
|
||||
);
|
||||
}
|
||||
|
||||
T::DbWeight::get().writes(1)
|
||||
}
|
||||
}
|
||||
@@ -37,8 +37,10 @@ pub use crate as pallet_alliance;
|
||||
|
||||
use super::*;
|
||||
|
||||
type BlockNumber = u64;
|
||||
|
||||
parameter_types! {
|
||||
pub const BlockHashCount: u64 = 250;
|
||||
pub const BlockHashCount: BlockNumber = 250;
|
||||
}
|
||||
impl frame_system::Config for Test {
|
||||
type BaseCallFilter = frame_support::traits::Everything;
|
||||
@@ -47,7 +49,7 @@ impl frame_system::Config for Test {
|
||||
type Origin = Origin;
|
||||
type Call = Call;
|
||||
type Index = u64;
|
||||
type BlockNumber = u64;
|
||||
type BlockNumber = BlockNumber;
|
||||
type Hash = H256;
|
||||
type Hashing = BlakeTwo256;
|
||||
type AccountId = u64;
|
||||
@@ -83,8 +85,10 @@ impl pallet_balances::Config for Test {
|
||||
type ReserveIdentifier = [u8; 8];
|
||||
}
|
||||
|
||||
const MOTION_DURATION_IN_BLOCKS: BlockNumber = 3;
|
||||
|
||||
parameter_types! {
|
||||
pub const MotionDuration: u64 = 3;
|
||||
pub const MotionDuration: BlockNumber = MOTION_DURATION_IN_BLOCKS;
|
||||
pub const MaxProposals: u32 = 100;
|
||||
pub const MaxMembers: u32 = 100;
|
||||
}
|
||||
@@ -199,6 +203,7 @@ parameter_types! {
|
||||
pub const MaxFellows: u32 = MaxMembers::get() - MaxFounders::get();
|
||||
pub const MaxAllies: u32 = 100;
|
||||
pub const AllyDeposit: u64 = 25;
|
||||
pub const RetirementPeriod: BlockNumber = MOTION_DURATION_IN_BLOCKS + 1;
|
||||
}
|
||||
impl Config for Test {
|
||||
type Event = Event;
|
||||
@@ -225,6 +230,7 @@ impl Config for Test {
|
||||
type MaxMembersCount = MaxMembers;
|
||||
type AllyDeposit = AllyDeposit;
|
||||
type WeightInfo = ();
|
||||
type RetirementPeriod = RetirementPeriod;
|
||||
}
|
||||
|
||||
type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic<Test>;
|
||||
@@ -324,7 +330,3 @@ pub fn make_proposal(value: u64) -> Call {
|
||||
pub fn make_set_rule_proposal(rule: Cid) -> Call {
|
||||
Call::Alliance(pallet_alliance::Call::set_rule { rule })
|
||||
}
|
||||
|
||||
pub fn make_kick_member_proposal(who: u64) -> Call {
|
||||
Call::Alliance(pallet_alliance::Call::kick_member { who })
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
use sp_runtime::traits::Hash;
|
||||
|
||||
use frame_support::{assert_noop, assert_ok, Hashable};
|
||||
use frame_support::{assert_noop, assert_ok, error::BadOrigin, Hashable};
|
||||
use frame_system::{EventRecord, Phase};
|
||||
|
||||
use super::*;
|
||||
@@ -241,6 +241,9 @@ fn set_rule_works() {
|
||||
fn announce_works() {
|
||||
new_test_ext().execute_with(|| {
|
||||
let cid = test_cid();
|
||||
|
||||
assert_noop!(Alliance::announce(Origin::signed(2), cid.clone()), BadOrigin);
|
||||
|
||||
assert_ok!(Alliance::announce(Origin::signed(3), cid.clone()));
|
||||
assert_eq!(Alliance::announcements(), vec![cid.clone()]);
|
||||
|
||||
@@ -390,48 +393,111 @@ fn elevate_ally_works() {
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn retire_works() {
|
||||
fn give_retirement_notice_work() {
|
||||
new_test_ext().execute_with(|| {
|
||||
let proposal = make_kick_member_proposal(2);
|
||||
let proposal_len: u32 = proposal.using_encoded(|p| p.len() as u32);
|
||||
assert_ok!(Alliance::propose(
|
||||
Origin::signed(1),
|
||||
3,
|
||||
Box::new(proposal.clone()),
|
||||
proposal_len
|
||||
));
|
||||
assert_noop!(Alliance::retire(Origin::signed(2)), Error::<Test, ()>::UpForKicking);
|
||||
|
||||
assert_noop!(Alliance::retire(Origin::signed(4)), Error::<Test, ()>::NotMember);
|
||||
assert_noop!(
|
||||
Alliance::give_retirement_notice(Origin::signed(4)),
|
||||
Error::<Test, ()>::NotMember
|
||||
);
|
||||
|
||||
assert_eq!(Alliance::members(MemberRole::Fellow), vec![3]);
|
||||
assert_ok!(Alliance::give_retirement_notice(Origin::signed(3)));
|
||||
assert_eq!(Alliance::members(MemberRole::Fellow), Vec::<u64>::new());
|
||||
assert_eq!(Alliance::members(MemberRole::Retiring), vec![3]);
|
||||
System::assert_last_event(mock::Event::Alliance(
|
||||
crate::Event::MemberRetirementPeriodStarted { member: (3) },
|
||||
));
|
||||
|
||||
assert_noop!(
|
||||
Alliance::give_retirement_notice(Origin::signed(3)),
|
||||
Error::<Test, ()>::AlreadyRetiring
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn retire_works() {
|
||||
new_test_ext().execute_with(|| {
|
||||
assert_noop!(
|
||||
Alliance::retire(Origin::signed(2)),
|
||||
Error::<Test, ()>::RetirementNoticeNotGiven
|
||||
);
|
||||
|
||||
assert_noop!(
|
||||
Alliance::retire(Origin::signed(4)),
|
||||
Error::<Test, ()>::RetirementNoticeNotGiven
|
||||
);
|
||||
|
||||
assert_eq!(Alliance::members(MemberRole::Fellow), vec![3]);
|
||||
assert_ok!(Alliance::give_retirement_notice(Origin::signed(3)));
|
||||
assert_noop!(
|
||||
Alliance::retire(Origin::signed(3)),
|
||||
Error::<Test, ()>::RetirementPeriodNotPassed
|
||||
);
|
||||
System::set_block_number(System::block_number() + RetirementPeriod::get());
|
||||
assert_ok!(Alliance::retire(Origin::signed(3)));
|
||||
assert_eq!(Alliance::members(MemberRole::Fellow), Vec::<u64>::new());
|
||||
System::assert_last_event(mock::Event::Alliance(crate::Event::MemberRetired {
|
||||
member: (3),
|
||||
unreserved: None,
|
||||
}));
|
||||
|
||||
// Move time on:
|
||||
System::set_block_number(System::block_number() + RetirementPeriod::get());
|
||||
|
||||
assert_powerless(Origin::signed(3));
|
||||
});
|
||||
}
|
||||
|
||||
fn assert_powerless(user: Origin) {
|
||||
//vote / veto with a valid propsal
|
||||
let cid = test_cid();
|
||||
let proposal = make_proposal(42);
|
||||
|
||||
assert_noop!(Alliance::init_members(user.clone(), vec![], vec![], vec![]), BadOrigin);
|
||||
|
||||
assert_noop!(Alliance::set_rule(user.clone(), cid.clone()), BadOrigin);
|
||||
|
||||
assert_noop!(Alliance::retire(user.clone()), Error::<Test, ()>::RetirementNoticeNotGiven);
|
||||
|
||||
assert_noop!(Alliance::give_retirement_notice(user.clone()), Error::<Test, ()>::NotMember);
|
||||
|
||||
assert_noop!(Alliance::elevate_ally(user.clone(), 4), BadOrigin);
|
||||
|
||||
assert_noop!(Alliance::kick_member(user.clone(), 1), BadOrigin);
|
||||
|
||||
assert_noop!(Alliance::nominate_ally(user.clone(), 4), Error::<Test, ()>::NoVotingRights);
|
||||
|
||||
assert_noop!(
|
||||
Alliance::propose(user.clone(), 5, Box::new(proposal), 1000),
|
||||
Error::<Test, ()>::NoVotingRights
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn kick_member_works() {
|
||||
new_test_ext().execute_with(|| {
|
||||
let proposal = make_kick_member_proposal(2);
|
||||
let proposal_len: u32 = proposal.using_encoded(|p| p.len() as u32);
|
||||
assert_ok!(Alliance::propose(
|
||||
Origin::signed(1),
|
||||
3,
|
||||
Box::new(proposal.clone()),
|
||||
proposal_len
|
||||
));
|
||||
assert_eq!(Alliance::up_for_kicking(2), true);
|
||||
assert_eq!(Alliance::members(MemberRole::Founder), vec![1, 2]);
|
||||
assert_noop!(Alliance::kick_member(Origin::signed(4), 4), BadOrigin);
|
||||
|
||||
assert_noop!(Alliance::kick_member(Origin::signed(2), 4), Error::<Test, ()>::NotMember);
|
||||
|
||||
<DepositOf<Test, ()>>::insert(2, 25);
|
||||
assert_eq!(Alliance::members(MemberRole::Founder), vec![1, 2]);
|
||||
assert_ok!(Alliance::kick_member(Origin::signed(2), 2));
|
||||
assert_eq!(Alliance::members(MemberRole::Founder), vec![1]);
|
||||
assert_eq!(<DepositOf<Test, ()>>::get(2), None);
|
||||
System::assert_last_event(mock::Event::Alliance(crate::Event::MemberKicked {
|
||||
member: (2),
|
||||
slashed: Some(25),
|
||||
}));
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn add_unscrupulous_items_works() {
|
||||
new_test_ext().execute_with(|| {
|
||||
assert_noop!(Alliance::add_unscrupulous_items(Origin::signed(2), vec![]), BadOrigin);
|
||||
|
||||
assert_ok!(Alliance::add_unscrupulous_items(
|
||||
Origin::signed(3),
|
||||
vec![
|
||||
@@ -455,6 +521,8 @@ fn add_unscrupulous_items_works() {
|
||||
#[test]
|
||||
fn remove_unscrupulous_items_works() {
|
||||
new_test_ext().execute_with(|| {
|
||||
assert_noop!(Alliance::remove_unscrupulous_items(Origin::signed(2), vec![]), BadOrigin);
|
||||
|
||||
assert_noop!(
|
||||
Alliance::remove_unscrupulous_items(
|
||||
Origin::signed(3),
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// This file is part of Substrate.
|
||||
|
||||
// Copyright (C) 2021 Parity Technologies (UK) Ltd.
|
||||
// Copyright (C) 2022 Parity Technologies (UK) Ltd.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@@ -18,24 +18,25 @@
|
||||
//! Autogenerated weights for pallet_alliance
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
|
||||
//! DATE: 2021-10-11, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 128
|
||||
//! DATE: 2022-08-26, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! HOSTNAME: `bm3`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
|
||||
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// ./target/release/substrate
|
||||
// /home/benchbot/cargo_target_dir/production/substrate
|
||||
// benchmark
|
||||
// --chain=dev
|
||||
// pallet
|
||||
// --steps=50
|
||||
// --repeat=20
|
||||
// --pallet=pallet_alliance
|
||||
// --extrinsic=*
|
||||
// --execution=wasm
|
||||
// --wasm-execution=compiled
|
||||
// --heap-pages=4096
|
||||
// --pallet=pallet_alliance
|
||||
// --chain=dev
|
||||
// --output=./frame/alliance/src/weights.rs
|
||||
// --template=./.maintain/frame-weight-template.hbs
|
||||
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
@@ -59,6 +60,7 @@ pub trait WeightInfo {
|
||||
fn join_alliance() -> Weight;
|
||||
fn nominate_ally() -> Weight;
|
||||
fn elevate_ally() -> Weight;
|
||||
fn give_retirement_notice() -> Weight;
|
||||
fn retire() -> Weight;
|
||||
fn kick_member() -> Weight;
|
||||
fn add_unscrupulous_items(n: u32, l: u32, ) -> Weight;
|
||||
@@ -73,23 +75,33 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Storage: AllianceMotion Proposals (r:1 w:1)
|
||||
// Storage: AllianceMotion ProposalCount (r:1 w:1)
|
||||
// Storage: AllianceMotion Voting (r:0 w:1)
|
||||
fn propose_proposed(_b: u32, _x: u32, y: u32, p: u32, ) -> Weight {
|
||||
(39_992_000 as Weight)
|
||||
/// The range of component `b` is `[1, 1024]`.
|
||||
/// The range of component `x` is `[2, 10]`.
|
||||
/// The range of component `y` is `[0, 90]`.
|
||||
/// The range of component `p` is `[1, 100]`.
|
||||
fn propose_proposed(b: u32, x: u32, y: u32, p: u32, ) -> Weight {
|
||||
(22_575_000 as Weight)
|
||||
// Standard Error: 0
|
||||
.saturating_add((11_000 as Weight).saturating_mul(b as Weight))
|
||||
// Standard Error: 23_000
|
||||
.saturating_add((158_000 as Weight).saturating_mul(x as Weight))
|
||||
// Standard Error: 2_000
|
||||
.saturating_add((44_000 as Weight).saturating_mul(y as Weight))
|
||||
.saturating_add((90_000 as Weight).saturating_mul(y as Weight))
|
||||
// Standard Error: 2_000
|
||||
.saturating_add((323_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add((216_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(4 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(4 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:2 w:0)
|
||||
// Storage: AllianceMotion Voting (r:1 w:1)
|
||||
/// The range of component `x` is `[3, 10]`.
|
||||
/// The range of component `y` is `[2, 90]`.
|
||||
fn vote(x: u32, y: u32, ) -> Weight {
|
||||
(36_649_000 as Weight)
|
||||
// Standard Error: 90_000
|
||||
.saturating_add((42_000 as Weight).saturating_mul(x as Weight))
|
||||
// Standard Error: 3_000
|
||||
.saturating_add((195_000 as Weight).saturating_mul(y as Weight))
|
||||
(45_486_000 as Weight)
|
||||
// Standard Error: 29_000
|
||||
.saturating_add((78_000 as Weight).saturating_mul(x as Weight))
|
||||
// Standard Error: 2_000
|
||||
.saturating_add((128_000 as Weight).saturating_mul(y as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(3 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
@@ -97,125 +109,135 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Storage: AllianceMotion ProposalOf (r:1 w:1)
|
||||
// Storage: AllianceMotion Proposals (r:1 w:1)
|
||||
// Storage: AllianceMotion Voting (r:0 w:1)
|
||||
/// The range of component `p` is `[1, 100]`.
|
||||
fn veto(p: u32, ) -> Weight {
|
||||
(30_301_000 as Weight)
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((330_000 as Weight).saturating_mul(p as Weight))
|
||||
(35_296_000 as Weight)
|
||||
// Standard Error: 2_000
|
||||
.saturating_add((171_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(3 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:1 w:0)
|
||||
// Storage: AllianceMotion ProposalOf (r:1 w:1)
|
||||
// Storage: AllianceMotion Voting (r:1 w:1)
|
||||
// Storage: AllianceMotion Members (r:1 w:0)
|
||||
// Storage: AllianceMotion Proposals (r:1 w:1)
|
||||
// Storage: AllianceMotion ProposalOf (r:0 w:1)
|
||||
/// The range of component `x` is `[2, 10]`.
|
||||
/// The range of component `y` is `[2, 90]`.
|
||||
/// The range of component `p` is `[1, 100]`.
|
||||
fn close_early_disapproved(x: u32, y: u32, p: u32, ) -> Weight {
|
||||
(40_472_000 as Weight)
|
||||
// Standard Error: 69_000
|
||||
.saturating_add((485_000 as Weight).saturating_mul(x as Weight))
|
||||
// Standard Error: 2_000
|
||||
.saturating_add((192_000 as Weight).saturating_mul(y as Weight))
|
||||
// Standard Error: 2_000
|
||||
.saturating_add((330_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:1 w:0)
|
||||
// Storage: AllianceMotion ProposalOf (r:1 w:1)
|
||||
// Storage: AllianceMotion Voting (r:1 w:1)
|
||||
// Storage: AllianceMotion Members (r:1 w:0)
|
||||
// Storage: AllianceMotion Proposals (r:1 w:1)
|
||||
fn close_early_approved(b: u32, x: u32, y: u32, p: u32, ) -> Weight {
|
||||
(52_076_000 as Weight)
|
||||
// Standard Error: 0
|
||||
.saturating_add((4_000 as Weight).saturating_mul(b as Weight))
|
||||
// Standard Error: 77_000
|
||||
.saturating_add((194_000 as Weight).saturating_mul(x as Weight))
|
||||
// Standard Error: 3_000
|
||||
.saturating_add((188_000 as Weight).saturating_mul(y as Weight))
|
||||
// Standard Error: 2_000
|
||||
.saturating_add((329_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:1 w:0)
|
||||
// Storage: AllianceMotion ProposalOf (r:1 w:1)
|
||||
// Storage: AllianceMotion Voting (r:1 w:1)
|
||||
// Storage: AllianceMotion Members (r:1 w:0)
|
||||
// Storage: AllianceMotion Prime (r:1 w:0)
|
||||
// Storage: AllianceMotion Proposals (r:1 w:1)
|
||||
fn close_disapproved(x: u32, y: u32, p: u32, ) -> Weight {
|
||||
(47_009_000 as Weight)
|
||||
// Standard Error: 66_000
|
||||
.saturating_add((256_000 as Weight).saturating_mul(x as Weight))
|
||||
// Standard Error: 2_000
|
||||
.saturating_add((176_000 as Weight).saturating_mul(y as Weight))
|
||||
// Standard Error: 2_000
|
||||
.saturating_add((327_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(6 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:1 w:0)
|
||||
// Storage: AllianceMotion ProposalOf (r:1 w:1)
|
||||
// Storage: AllianceMotion Voting (r:1 w:1)
|
||||
// Storage: AllianceMotion Members (r:1 w:0)
|
||||
// Storage: AllianceMotion Prime (r:1 w:0)
|
||||
// Storage: AllianceMotion Proposals (r:1 w:1)
|
||||
fn close_approved(b: u32, x: u32, y: u32, p: u32, ) -> Weight {
|
||||
(43_650_000 as Weight)
|
||||
// Standard Error: 0
|
||||
.saturating_add((3_000 as Weight).saturating_mul(b as Weight))
|
||||
// Standard Error: 85_000
|
||||
.saturating_add((124_000 as Weight).saturating_mul(x as Weight))
|
||||
// Standard Error: 3_000
|
||||
.saturating_add((199_000 as Weight).saturating_mul(y as Weight))
|
||||
// Standard Error: 3_000
|
||||
.saturating_add((326_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(6 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:3 w:3)
|
||||
// Storage: AllianceMotion Members (r:1 w:1)
|
||||
fn init_members(_x: u32, y: u32, z: u32, ) -> Weight {
|
||||
(45_100_000 as Weight)
|
||||
// Standard Error: 4_000
|
||||
.saturating_add((162_000 as Weight).saturating_mul(y as Weight))
|
||||
// Standard Error: 4_000
|
||||
.saturating_add((151_000 as Weight).saturating_mul(z as Weight))
|
||||
(39_252_000 as Weight)
|
||||
// Standard Error: 18_000
|
||||
.saturating_add((75_000 as Weight).saturating_mul(x as Weight))
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((107_000 as Weight).saturating_mul(y as Weight))
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((170_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(4 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:1 w:0)
|
||||
// Storage: AllianceMotion Voting (r:1 w:1)
|
||||
// Storage: AllianceMotion Members (r:1 w:0)
|
||||
// Storage: AllianceMotion ProposalOf (r:1 w:1)
|
||||
// Storage: AllianceMotion Proposals (r:1 w:1)
|
||||
/// The range of component `b` is `[1, 1024]`.
|
||||
/// The range of component `x` is `[2, 10]`.
|
||||
/// The range of component `y` is `[2, 90]`.
|
||||
/// The range of component `p` is `[1, 100]`.
|
||||
fn close_early_approved(_b: u32, _x: u32, y: u32, p: u32, ) -> Weight {
|
||||
(50_357_000 as Weight)
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((103_000 as Weight).saturating_mul(y as Weight))
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((204_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:1 w:0)
|
||||
// Storage: AllianceMotion Voting (r:1 w:1)
|
||||
// Storage: AllianceMotion Members (r:1 w:0)
|
||||
// Storage: AllianceMotion Prime (r:1 w:0)
|
||||
// Storage: AllianceMotion Proposals (r:1 w:1)
|
||||
// Storage: AllianceMotion ProposalOf (r:0 w:1)
|
||||
/// The range of component `x` is `[2, 10]`.
|
||||
/// The range of component `y` is `[2, 90]`.
|
||||
/// The range of component `p` is `[1, 100]`.
|
||||
fn close_disapproved(_x: u32, y: u32, p: u32, ) -> Weight {
|
||||
(41_258_000 as Weight)
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((111_000 as Weight).saturating_mul(y as Weight))
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((186_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:1 w:0)
|
||||
// Storage: AllianceMotion Voting (r:1 w:1)
|
||||
// Storage: AllianceMotion Members (r:1 w:0)
|
||||
// Storage: AllianceMotion Prime (r:1 w:0)
|
||||
// Storage: AllianceMotion Proposals (r:1 w:1)
|
||||
// Storage: AllianceMotion ProposalOf (r:0 w:1)
|
||||
/// The range of component `b` is `[1, 1024]`.
|
||||
/// The range of component `x` is `[2, 10]`.
|
||||
/// The range of component `y` is `[2, 90]`.
|
||||
/// The range of component `p` is `[1, 100]`.
|
||||
fn close_approved(_b: u32, x: u32, y: u32, p: u32, ) -> Weight {
|
||||
(40_490_000 as Weight)
|
||||
// Standard Error: 16_000
|
||||
.saturating_add((119_000 as Weight).saturating_mul(x as Weight))
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((93_000 as Weight).saturating_mul(y as Weight))
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((195_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:2 w:3)
|
||||
// Storage: AllianceMotion Members (r:1 w:1)
|
||||
/// The range of component `x` is `[2, 10]`.
|
||||
/// The range of component `y` is `[0, 90]`.
|
||||
/// The range of component `z` is `[0, 100]`.
|
||||
fn init_members(_x: u32, y: u32, z: u32, ) -> Weight {
|
||||
(35_186_000 as Weight)
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((161_000 as Weight).saturating_mul(y as Weight))
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((127_000 as Weight).saturating_mul(z as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(3 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(4 as Weight))
|
||||
}
|
||||
// Storage: Alliance Rule (r:0 w:1)
|
||||
fn set_rule() -> Weight {
|
||||
(14_517_000 as Weight)
|
||||
(18_189_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
// Storage: Alliance Announcements (r:1 w:1)
|
||||
fn announce() -> Weight {
|
||||
(16_801_000 as Weight)
|
||||
(21_106_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().reads(1 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
// Storage: Alliance Announcements (r:1 w:1)
|
||||
fn remove_announcement() -> Weight {
|
||||
(17_133_000 as Weight)
|
||||
(22_208_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().reads(1 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:4 w:1)
|
||||
// Storage: Alliance UnscrupulousAccounts (r:1 w:0)
|
||||
// Storage: Alliance Members (r:4 w:0)
|
||||
// Storage: System Account (r:1 w:1)
|
||||
// Storage: Alliance DepositOf (r:0 w:1)
|
||||
fn join_alliance() -> Weight {
|
||||
(95_370_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().reads(7 as Weight))
|
||||
(53_771_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().reads(6 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:4 w:0)
|
||||
// Storage: Alliance Members (r:4 w:1)
|
||||
// Storage: Alliance UnscrupulousAccounts (r:1 w:0)
|
||||
fn nominate_ally() -> Weight {
|
||||
(44_764_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().reads(6 as Weight))
|
||||
(41_912_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:3 w:2)
|
||||
@@ -223,23 +245,29 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Storage: AllianceMotion Members (r:0 w:1)
|
||||
// Storage: AllianceMotion Prime (r:0 w:1)
|
||||
fn elevate_ally() -> Weight {
|
||||
(44_013_000 as Weight)
|
||||
(36_811_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().reads(4 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(4 as Weight))
|
||||
}
|
||||
// Storage: Alliance KickingMembers (r:1 w:0)
|
||||
// Storage: Alliance Members (r:3 w:1)
|
||||
// Storage: Alliance Members (r:4 w:2)
|
||||
// Storage: AllianceMotion Proposals (r:1 w:0)
|
||||
// Storage: Alliance DepositOf (r:1 w:1)
|
||||
// Storage: System Account (r:1 w:1)
|
||||
// Storage: AllianceMotion Members (r:0 w:1)
|
||||
// Storage: AllianceMotion Prime (r:0 w:1)
|
||||
fn retire() -> Weight {
|
||||
(60_183_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().reads(7 as Weight))
|
||||
// Storage: Alliance RetiringMembers (r:0 w:1)
|
||||
fn give_retirement_notice() -> Weight {
|
||||
(41_079_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(5 as Weight))
|
||||
}
|
||||
// Storage: Alliance KickingMembers (r:1 w:0)
|
||||
// Storage: Alliance RetiringMembers (r:1 w:1)
|
||||
// Storage: Alliance Members (r:1 w:1)
|
||||
// Storage: Alliance DepositOf (r:1 w:1)
|
||||
// Storage: System Account (r:1 w:1)
|
||||
fn retire() -> Weight {
|
||||
(42_703_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().reads(4 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(4 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:3 w:1)
|
||||
// Storage: AllianceMotion Proposals (r:1 w:0)
|
||||
// Storage: Alliance DepositOf (r:1 w:1)
|
||||
@@ -247,29 +275,33 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Storage: AllianceMotion Members (r:0 w:1)
|
||||
// Storage: AllianceMotion Prime (r:0 w:1)
|
||||
fn kick_member() -> Weight {
|
||||
(67_467_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().reads(7 as Weight))
|
||||
(61_370_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().reads(6 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(5 as Weight))
|
||||
}
|
||||
// Storage: Alliance UnscrupulousAccounts (r:1 w:1)
|
||||
// Storage: Alliance UnscrupulousWebsites (r:1 w:1)
|
||||
/// The range of component `n` is `[1, 100]`.
|
||||
/// The range of component `l` is `[1, 255]`.
|
||||
fn add_unscrupulous_items(n: u32, l: u32, ) -> Weight {
|
||||
(0 as Weight)
|
||||
// Standard Error: 16_000
|
||||
.saturating_add((2_673_000 as Weight).saturating_mul(n as Weight))
|
||||
// Standard Error: 7_000
|
||||
.saturating_add((224_000 as Weight).saturating_mul(l as Weight))
|
||||
// Standard Error: 2_000
|
||||
.saturating_add((1_385_000 as Weight).saturating_mul(n as Weight))
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((119_000 as Weight).saturating_mul(l as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(2 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
// Storage: Alliance UnscrupulousAccounts (r:1 w:1)
|
||||
// Storage: Alliance UnscrupulousWebsites (r:1 w:1)
|
||||
/// The range of component `n` is `[1, 100]`.
|
||||
/// The range of component `l` is `[1, 255]`.
|
||||
fn remove_unscrupulous_items(n: u32, l: u32, ) -> Weight {
|
||||
(0 as Weight)
|
||||
// Standard Error: 343_000
|
||||
.saturating_add((59_025_000 as Weight).saturating_mul(n as Weight))
|
||||
// Standard Error: 153_000
|
||||
.saturating_add((6_725_000 as Weight).saturating_mul(l as Weight))
|
||||
.saturating_add((21_484_000 as Weight).saturating_mul(n as Weight))
|
||||
// Standard Error: 59_000
|
||||
.saturating_add((3_772_000 as Weight).saturating_mul(l as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(2 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
@@ -282,23 +314,33 @@ impl WeightInfo for () {
|
||||
// Storage: AllianceMotion Proposals (r:1 w:1)
|
||||
// Storage: AllianceMotion ProposalCount (r:1 w:1)
|
||||
// Storage: AllianceMotion Voting (r:0 w:1)
|
||||
fn propose_proposed(_b: u32, _x: u32, y: u32, p: u32, ) -> Weight {
|
||||
(39_992_000 as Weight)
|
||||
/// The range of component `b` is `[1, 1024]`.
|
||||
/// The range of component `x` is `[2, 10]`.
|
||||
/// The range of component `y` is `[0, 90]`.
|
||||
/// The range of component `p` is `[1, 100]`.
|
||||
fn propose_proposed(b: u32, x: u32, y: u32, p: u32, ) -> Weight {
|
||||
(22_575_000 as Weight)
|
||||
// Standard Error: 0
|
||||
.saturating_add((11_000 as Weight).saturating_mul(b as Weight))
|
||||
// Standard Error: 23_000
|
||||
.saturating_add((158_000 as Weight).saturating_mul(x as Weight))
|
||||
// Standard Error: 2_000
|
||||
.saturating_add((44_000 as Weight).saturating_mul(y as Weight))
|
||||
.saturating_add((90_000 as Weight).saturating_mul(y as Weight))
|
||||
// Standard Error: 2_000
|
||||
.saturating_add((323_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add((216_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add(RocksDbWeight::get().reads(4 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(4 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:2 w:0)
|
||||
// Storage: AllianceMotion Voting (r:1 w:1)
|
||||
/// The range of component `x` is `[3, 10]`.
|
||||
/// The range of component `y` is `[2, 90]`.
|
||||
fn vote(x: u32, y: u32, ) -> Weight {
|
||||
(36_649_000 as Weight)
|
||||
// Standard Error: 90_000
|
||||
.saturating_add((42_000 as Weight).saturating_mul(x as Weight))
|
||||
// Standard Error: 3_000
|
||||
.saturating_add((195_000 as Weight).saturating_mul(y as Weight))
|
||||
(45_486_000 as Weight)
|
||||
// Standard Error: 29_000
|
||||
.saturating_add((78_000 as Weight).saturating_mul(x as Weight))
|
||||
// Standard Error: 2_000
|
||||
.saturating_add((128_000 as Weight).saturating_mul(y as Weight))
|
||||
.saturating_add(RocksDbWeight::get().reads(3 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
@@ -306,125 +348,135 @@ impl WeightInfo for () {
|
||||
// Storage: AllianceMotion ProposalOf (r:1 w:1)
|
||||
// Storage: AllianceMotion Proposals (r:1 w:1)
|
||||
// Storage: AllianceMotion Voting (r:0 w:1)
|
||||
/// The range of component `p` is `[1, 100]`.
|
||||
fn veto(p: u32, ) -> Weight {
|
||||
(30_301_000 as Weight)
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((330_000 as Weight).saturating_mul(p as Weight))
|
||||
(35_296_000 as Weight)
|
||||
// Standard Error: 2_000
|
||||
.saturating_add((171_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add(RocksDbWeight::get().reads(3 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:1 w:0)
|
||||
// Storage: AllianceMotion ProposalOf (r:1 w:1)
|
||||
// Storage: AllianceMotion Voting (r:1 w:1)
|
||||
// Storage: AllianceMotion Members (r:1 w:0)
|
||||
// Storage: AllianceMotion Proposals (r:1 w:1)
|
||||
// Storage: AllianceMotion ProposalOf (r:0 w:1)
|
||||
/// The range of component `x` is `[2, 10]`.
|
||||
/// The range of component `y` is `[2, 90]`.
|
||||
/// The range of component `p` is `[1, 100]`.
|
||||
fn close_early_disapproved(x: u32, y: u32, p: u32, ) -> Weight {
|
||||
(40_472_000 as Weight)
|
||||
// Standard Error: 69_000
|
||||
.saturating_add((485_000 as Weight).saturating_mul(x as Weight))
|
||||
// Standard Error: 2_000
|
||||
.saturating_add((192_000 as Weight).saturating_mul(y as Weight))
|
||||
// Standard Error: 2_000
|
||||
.saturating_add((330_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add(RocksDbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:1 w:0)
|
||||
// Storage: AllianceMotion ProposalOf (r:1 w:1)
|
||||
// Storage: AllianceMotion Voting (r:1 w:1)
|
||||
// Storage: AllianceMotion Members (r:1 w:0)
|
||||
// Storage: AllianceMotion Proposals (r:1 w:1)
|
||||
fn close_early_approved(b: u32, x: u32, y: u32, p: u32, ) -> Weight {
|
||||
(52_076_000 as Weight)
|
||||
// Standard Error: 0
|
||||
.saturating_add((4_000 as Weight).saturating_mul(b as Weight))
|
||||
// Standard Error: 77_000
|
||||
.saturating_add((194_000 as Weight).saturating_mul(x as Weight))
|
||||
// Standard Error: 3_000
|
||||
.saturating_add((188_000 as Weight).saturating_mul(y as Weight))
|
||||
// Standard Error: 2_000
|
||||
.saturating_add((329_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add(RocksDbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:1 w:0)
|
||||
// Storage: AllianceMotion ProposalOf (r:1 w:1)
|
||||
// Storage: AllianceMotion Voting (r:1 w:1)
|
||||
// Storage: AllianceMotion Members (r:1 w:0)
|
||||
// Storage: AllianceMotion Prime (r:1 w:0)
|
||||
// Storage: AllianceMotion Proposals (r:1 w:1)
|
||||
fn close_disapproved(x: u32, y: u32, p: u32, ) -> Weight {
|
||||
(47_009_000 as Weight)
|
||||
// Standard Error: 66_000
|
||||
.saturating_add((256_000 as Weight).saturating_mul(x as Weight))
|
||||
// Standard Error: 2_000
|
||||
.saturating_add((176_000 as Weight).saturating_mul(y as Weight))
|
||||
// Standard Error: 2_000
|
||||
.saturating_add((327_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add(RocksDbWeight::get().reads(6 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:1 w:0)
|
||||
// Storage: AllianceMotion ProposalOf (r:1 w:1)
|
||||
// Storage: AllianceMotion Voting (r:1 w:1)
|
||||
// Storage: AllianceMotion Members (r:1 w:0)
|
||||
// Storage: AllianceMotion Prime (r:1 w:0)
|
||||
// Storage: AllianceMotion Proposals (r:1 w:1)
|
||||
fn close_approved(b: u32, x: u32, y: u32, p: u32, ) -> Weight {
|
||||
(43_650_000 as Weight)
|
||||
// Standard Error: 0
|
||||
.saturating_add((3_000 as Weight).saturating_mul(b as Weight))
|
||||
// Standard Error: 85_000
|
||||
.saturating_add((124_000 as Weight).saturating_mul(x as Weight))
|
||||
// Standard Error: 3_000
|
||||
.saturating_add((199_000 as Weight).saturating_mul(y as Weight))
|
||||
// Standard Error: 3_000
|
||||
.saturating_add((326_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add(RocksDbWeight::get().reads(6 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:3 w:3)
|
||||
// Storage: AllianceMotion Members (r:1 w:1)
|
||||
fn init_members(_x: u32, y: u32, z: u32, ) -> Weight {
|
||||
(45_100_000 as Weight)
|
||||
// Standard Error: 4_000
|
||||
.saturating_add((162_000 as Weight).saturating_mul(y as Weight))
|
||||
// Standard Error: 4_000
|
||||
.saturating_add((151_000 as Weight).saturating_mul(z as Weight))
|
||||
(39_252_000 as Weight)
|
||||
// Standard Error: 18_000
|
||||
.saturating_add((75_000 as Weight).saturating_mul(x as Weight))
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((107_000 as Weight).saturating_mul(y as Weight))
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((170_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add(RocksDbWeight::get().reads(4 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:1 w:0)
|
||||
// Storage: AllianceMotion Voting (r:1 w:1)
|
||||
// Storage: AllianceMotion Members (r:1 w:0)
|
||||
// Storage: AllianceMotion ProposalOf (r:1 w:1)
|
||||
// Storage: AllianceMotion Proposals (r:1 w:1)
|
||||
/// The range of component `b` is `[1, 1024]`.
|
||||
/// The range of component `x` is `[2, 10]`.
|
||||
/// The range of component `y` is `[2, 90]`.
|
||||
/// The range of component `p` is `[1, 100]`.
|
||||
fn close_early_approved(_b: u32, _x: u32, y: u32, p: u32, ) -> Weight {
|
||||
(50_357_000 as Weight)
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((103_000 as Weight).saturating_mul(y as Weight))
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((204_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add(RocksDbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:1 w:0)
|
||||
// Storage: AllianceMotion Voting (r:1 w:1)
|
||||
// Storage: AllianceMotion Members (r:1 w:0)
|
||||
// Storage: AllianceMotion Prime (r:1 w:0)
|
||||
// Storage: AllianceMotion Proposals (r:1 w:1)
|
||||
// Storage: AllianceMotion ProposalOf (r:0 w:1)
|
||||
/// The range of component `x` is `[2, 10]`.
|
||||
/// The range of component `y` is `[2, 90]`.
|
||||
/// The range of component `p` is `[1, 100]`.
|
||||
fn close_disapproved(_x: u32, y: u32, p: u32, ) -> Weight {
|
||||
(41_258_000 as Weight)
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((111_000 as Weight).saturating_mul(y as Weight))
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((186_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add(RocksDbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:1 w:0)
|
||||
// Storage: AllianceMotion Voting (r:1 w:1)
|
||||
// Storage: AllianceMotion Members (r:1 w:0)
|
||||
// Storage: AllianceMotion Prime (r:1 w:0)
|
||||
// Storage: AllianceMotion Proposals (r:1 w:1)
|
||||
// Storage: AllianceMotion ProposalOf (r:0 w:1)
|
||||
/// The range of component `b` is `[1, 1024]`.
|
||||
/// The range of component `x` is `[2, 10]`.
|
||||
/// The range of component `y` is `[2, 90]`.
|
||||
/// The range of component `p` is `[1, 100]`.
|
||||
fn close_approved(_b: u32, x: u32, y: u32, p: u32, ) -> Weight {
|
||||
(40_490_000 as Weight)
|
||||
// Standard Error: 16_000
|
||||
.saturating_add((119_000 as Weight).saturating_mul(x as Weight))
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((93_000 as Weight).saturating_mul(y as Weight))
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((195_000 as Weight).saturating_mul(p as Weight))
|
||||
.saturating_add(RocksDbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:2 w:3)
|
||||
// Storage: AllianceMotion Members (r:1 w:1)
|
||||
/// The range of component `x` is `[2, 10]`.
|
||||
/// The range of component `y` is `[0, 90]`.
|
||||
/// The range of component `z` is `[0, 100]`.
|
||||
fn init_members(_x: u32, y: u32, z: u32, ) -> Weight {
|
||||
(35_186_000 as Weight)
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((161_000 as Weight).saturating_mul(y as Weight))
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((127_000 as Weight).saturating_mul(z as Weight))
|
||||
.saturating_add(RocksDbWeight::get().reads(3 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(4 as Weight))
|
||||
}
|
||||
// Storage: Alliance Rule (r:0 w:1)
|
||||
fn set_rule() -> Weight {
|
||||
(14_517_000 as Weight)
|
||||
(18_189_000 as Weight)
|
||||
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
// Storage: Alliance Announcements (r:1 w:1)
|
||||
fn announce() -> Weight {
|
||||
(16_801_000 as Weight)
|
||||
(21_106_000 as Weight)
|
||||
.saturating_add(RocksDbWeight::get().reads(1 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
// Storage: Alliance Announcements (r:1 w:1)
|
||||
fn remove_announcement() -> Weight {
|
||||
(17_133_000 as Weight)
|
||||
(22_208_000 as Weight)
|
||||
.saturating_add(RocksDbWeight::get().reads(1 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:4 w:1)
|
||||
// Storage: Alliance UnscrupulousAccounts (r:1 w:0)
|
||||
// Storage: Alliance Members (r:4 w:0)
|
||||
// Storage: System Account (r:1 w:1)
|
||||
// Storage: Alliance DepositOf (r:0 w:1)
|
||||
fn join_alliance() -> Weight {
|
||||
(95_370_000 as Weight)
|
||||
.saturating_add(RocksDbWeight::get().reads(7 as Weight))
|
||||
(53_771_000 as Weight)
|
||||
.saturating_add(RocksDbWeight::get().reads(6 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:4 w:0)
|
||||
// Storage: Alliance Members (r:4 w:1)
|
||||
// Storage: Alliance UnscrupulousAccounts (r:1 w:0)
|
||||
fn nominate_ally() -> Weight {
|
||||
(44_764_000 as Weight)
|
||||
.saturating_add(RocksDbWeight::get().reads(6 as Weight))
|
||||
(41_912_000 as Weight)
|
||||
.saturating_add(RocksDbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:3 w:2)
|
||||
@@ -432,23 +484,29 @@ impl WeightInfo for () {
|
||||
// Storage: AllianceMotion Members (r:0 w:1)
|
||||
// Storage: AllianceMotion Prime (r:0 w:1)
|
||||
fn elevate_ally() -> Weight {
|
||||
(44_013_000 as Weight)
|
||||
(36_811_000 as Weight)
|
||||
.saturating_add(RocksDbWeight::get().reads(4 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(4 as Weight))
|
||||
}
|
||||
// Storage: Alliance KickingMembers (r:1 w:0)
|
||||
// Storage: Alliance Members (r:3 w:1)
|
||||
// Storage: Alliance Members (r:4 w:2)
|
||||
// Storage: AllianceMotion Proposals (r:1 w:0)
|
||||
// Storage: Alliance DepositOf (r:1 w:1)
|
||||
// Storage: System Account (r:1 w:1)
|
||||
// Storage: AllianceMotion Members (r:0 w:1)
|
||||
// Storage: AllianceMotion Prime (r:0 w:1)
|
||||
fn retire() -> Weight {
|
||||
(60_183_000 as Weight)
|
||||
.saturating_add(RocksDbWeight::get().reads(7 as Weight))
|
||||
// Storage: Alliance RetiringMembers (r:0 w:1)
|
||||
fn give_retirement_notice() -> Weight {
|
||||
(41_079_000 as Weight)
|
||||
.saturating_add(RocksDbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(5 as Weight))
|
||||
}
|
||||
// Storage: Alliance KickingMembers (r:1 w:0)
|
||||
// Storage: Alliance RetiringMembers (r:1 w:1)
|
||||
// Storage: Alliance Members (r:1 w:1)
|
||||
// Storage: Alliance DepositOf (r:1 w:1)
|
||||
// Storage: System Account (r:1 w:1)
|
||||
fn retire() -> Weight {
|
||||
(42_703_000 as Weight)
|
||||
.saturating_add(RocksDbWeight::get().reads(4 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(4 as Weight))
|
||||
}
|
||||
// Storage: Alliance Members (r:3 w:1)
|
||||
// Storage: AllianceMotion Proposals (r:1 w:0)
|
||||
// Storage: Alliance DepositOf (r:1 w:1)
|
||||
@@ -456,29 +514,33 @@ impl WeightInfo for () {
|
||||
// Storage: AllianceMotion Members (r:0 w:1)
|
||||
// Storage: AllianceMotion Prime (r:0 w:1)
|
||||
fn kick_member() -> Weight {
|
||||
(67_467_000 as Weight)
|
||||
.saturating_add(RocksDbWeight::get().reads(7 as Weight))
|
||||
(61_370_000 as Weight)
|
||||
.saturating_add(RocksDbWeight::get().reads(6 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(5 as Weight))
|
||||
}
|
||||
// Storage: Alliance UnscrupulousAccounts (r:1 w:1)
|
||||
// Storage: Alliance UnscrupulousWebsites (r:1 w:1)
|
||||
/// The range of component `n` is `[1, 100]`.
|
||||
/// The range of component `l` is `[1, 255]`.
|
||||
fn add_unscrupulous_items(n: u32, l: u32, ) -> Weight {
|
||||
(0 as Weight)
|
||||
// Standard Error: 16_000
|
||||
.saturating_add((2_673_000 as Weight).saturating_mul(n as Weight))
|
||||
// Standard Error: 7_000
|
||||
.saturating_add((224_000 as Weight).saturating_mul(l as Weight))
|
||||
// Standard Error: 2_000
|
||||
.saturating_add((1_385_000 as Weight).saturating_mul(n as Weight))
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((119_000 as Weight).saturating_mul(l as Weight))
|
||||
.saturating_add(RocksDbWeight::get().reads(2 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
// Storage: Alliance UnscrupulousAccounts (r:1 w:1)
|
||||
// Storage: Alliance UnscrupulousWebsites (r:1 w:1)
|
||||
/// The range of component `n` is `[1, 100]`.
|
||||
/// The range of component `l` is `[1, 255]`.
|
||||
fn remove_unscrupulous_items(n: u32, l: u32, ) -> Weight {
|
||||
(0 as Weight)
|
||||
// Standard Error: 343_000
|
||||
.saturating_add((59_025_000 as Weight).saturating_mul(n as Weight))
|
||||
// Standard Error: 153_000
|
||||
.saturating_add((6_725_000 as Weight).saturating_mul(l as Weight))
|
||||
.saturating_add((21_484_000 as Weight).saturating_mul(n as Weight))
|
||||
// Standard Error: 59_000
|
||||
.saturating_add((3_772_000 as Weight).saturating_mul(l as Weight))
|
||||
.saturating_add(RocksDbWeight::get().reads(2 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user