Weight v1.5: Opaque Struct (#12138)

* initial idea

* update frame_support

* update a bunch more

* add ord

* adjust RuntimeDbWeight

* frame_system builds

* re-export

* frame_support tests pass

* frame_executive compile

* frame_executive builds

* frame_system tests passing

* pallet-utility tests pass

* fix a bunch of pallets

* more

* phragmen

* state-trie-migration

* scheduler and referenda

* pallet-election-provider-multi-phase

* aura

* staking

* more

* babe

* balances

* bunch more

* sudo

* transaction-payment

* asset-tx-payment

* last pallets

* fix alliance merge

* fix node template runtime

* fix pallet-contracts cc @athei

* fix node runtime

* fix compile on runtime-benchmarks feature

* comment

* fix frame-support-test

* fix more tests

* weight regex

* frame system works

* fix a bunch

* more

* more

* more

* more

* more

* more fixes

* update templates

* fix contracts benchmarks

* Update lib.rs

* Update lib.rs

* fix ui

* make scalar saturating mul const

* more const functions

* scalar div

* refactor using constant functions

* move impl

* fix overhead template

* use compactas

* Update lib.rs
This commit is contained in:
Shawn Tabrizi
2022-08-31 12:26:13 +01:00
committed by GitHub
parent 299f4ba541
commit 30951822ba
187 changed files with 5932 additions and 4930 deletions
+16 -16
View File
@@ -80,7 +80,7 @@ benchmarks! {
// Whitelist caller account from further DB operations.
let caller_key = frame_system::Account::<T>::hashed_key_for(&caller);
frame_benchmarking::benchmarking::add_to_whitelist(caller_key.into());
}: as_multi(RawOrigin::Signed(caller), s as u16, signatories, None, call, false, 0)
}: as_multi(RawOrigin::Signed(caller), s as u16, signatories, None, call, false, Weight::zero())
verify {
assert!(Multisigs::<T>::contains_key(multi_account_id, call_hash));
assert!(!Calls::<T>::contains_key(call_hash));
@@ -99,7 +99,7 @@ benchmarks! {
// Whitelist caller account from further DB operations.
let caller_key = frame_system::Account::<T>::hashed_key_for(&caller);
frame_benchmarking::benchmarking::add_to_whitelist(caller_key.into());
}: as_multi(RawOrigin::Signed(caller), s as u16, signatories, None, call, true, 0)
}: as_multi(RawOrigin::Signed(caller), s as u16, signatories, None, call, true, Weight::zero())
verify {
assert!(Multisigs::<T>::contains_key(multi_account_id, call_hash));
assert!(Calls::<T>::contains_key(call_hash));
@@ -118,13 +118,13 @@ benchmarks! {
// before the call, get the timepoint
let timepoint = Multisig::<T>::timepoint();
// Create the multi, storing for worst case
Multisig::<T>::as_multi(RawOrigin::Signed(caller).into(), s as u16, signatories, None, call.clone(), true, 0)?;
Multisig::<T>::as_multi(RawOrigin::Signed(caller).into(), s as u16, signatories, None, call.clone(), true, Weight::zero())?;
assert!(Calls::<T>::contains_key(call_hash));
let caller2 = signatories2.remove(0);
// Whitelist caller account from further DB operations.
let caller_key = frame_system::Account::<T>::hashed_key_for(&caller2);
frame_benchmarking::benchmarking::add_to_whitelist(caller_key.into());
}: as_multi(RawOrigin::Signed(caller2), s as u16, signatories2, Some(timepoint), call, false, 0)
}: as_multi(RawOrigin::Signed(caller2), s as u16, signatories2, Some(timepoint), call, false, Weight::zero())
verify {
let multisig = Multisigs::<T>::get(multi_account_id, call_hash).ok_or("multisig not created")?;
assert_eq!(multisig.approvals.len(), 2);
@@ -143,13 +143,13 @@ benchmarks! {
// before the call, get the timepoint
let timepoint = Multisig::<T>::timepoint();
// Create the multi, not storing
Multisig::<T>::as_multi(RawOrigin::Signed(caller).into(), s as u16, signatories, None, call.clone(), false, 0)?;
Multisig::<T>::as_multi(RawOrigin::Signed(caller).into(), s as u16, signatories, None, call.clone(), false, Weight::zero())?;
assert!(!Calls::<T>::contains_key(call_hash));
let caller2 = signatories2.remove(0);
// Whitelist caller account from further DB operations.
let caller_key = frame_system::Account::<T>::hashed_key_for(&caller2);
frame_benchmarking::benchmarking::add_to_whitelist(caller_key.into());
}: as_multi(RawOrigin::Signed(caller2), s as u16, signatories2, Some(timepoint), call, true, 0)
}: as_multi(RawOrigin::Signed(caller2), s as u16, signatories2, Some(timepoint), call, true, Weight::zero())
verify {
let multisig = Multisigs::<T>::get(multi_account_id, call_hash).ok_or("multisig not created")?;
assert_eq!(multisig.approvals.len(), 2);
@@ -169,20 +169,20 @@ benchmarks! {
// before the call, get the timepoint
let timepoint = Multisig::<T>::timepoint();
// Create the multi, storing it for worst case
Multisig::<T>::as_multi(RawOrigin::Signed(caller).into(), s as u16, signatories, None, call.clone(), true, 0)?;
Multisig::<T>::as_multi(RawOrigin::Signed(caller).into(), s as u16, signatories, None, call.clone(), true, Weight::zero())?;
// Everyone except the first person approves
for i in 1 .. s - 1 {
let mut signatories_loop = signatories2.clone();
let caller_loop = signatories_loop.remove(i as usize);
let o = RawOrigin::Signed(caller_loop).into();
Multisig::<T>::as_multi(o, s as u16, signatories_loop, Some(timepoint), call.clone(), false, 0)?;
Multisig::<T>::as_multi(o, s as u16, signatories_loop, Some(timepoint), call.clone(), false, Weight::zero())?;
}
let caller2 = signatories2.remove(0);
assert!(Multisigs::<T>::contains_key(&multi_account_id, call_hash));
// Whitelist caller account from further DB operations.
let caller_key = frame_system::Account::<T>::hashed_key_for(&caller2);
frame_benchmarking::benchmarking::add_to_whitelist(caller_key.into());
}: as_multi(RawOrigin::Signed(caller2), s as u16, signatories2, Some(timepoint), call, false, Weight::max_value())
}: as_multi(RawOrigin::Signed(caller2), s as u16, signatories2, Some(timepoint), call, false, Weight::MAX)
verify {
assert!(!Multisigs::<T>::contains_key(&multi_account_id, call_hash));
}
@@ -200,7 +200,7 @@ benchmarks! {
let caller_key = frame_system::Account::<T>::hashed_key_for(&caller);
frame_benchmarking::benchmarking::add_to_whitelist(caller_key.into());
// Create the multi
}: approve_as_multi(RawOrigin::Signed(caller), s as u16, signatories, None, call_hash, 0)
}: approve_as_multi(RawOrigin::Signed(caller), s as u16, signatories, None, call_hash, Weight::zero())
verify {
assert!(Multisigs::<T>::contains_key(multi_account_id, call_hash));
}
@@ -225,13 +225,13 @@ benchmarks! {
None,
call,
false,
0
Weight::zero()
)?;
let caller2 = signatories2.remove(0);
// Whitelist caller account from further DB operations.
let caller_key = frame_system::Account::<T>::hashed_key_for(&caller2);
frame_benchmarking::benchmarking::add_to_whitelist(caller_key.into());
}: approve_as_multi(RawOrigin::Signed(caller2), s as u16, signatories2, Some(timepoint), call_hash, 0)
}: approve_as_multi(RawOrigin::Signed(caller2), s as u16, signatories2, Some(timepoint), call_hash, Weight::zero())
verify {
let multisig = Multisigs::<T>::get(multi_account_id, call_hash).ok_or("multisig not created")?;
assert_eq!(multisig.approvals.len(), 2);
@@ -251,13 +251,13 @@ benchmarks! {
// before the call, get the timepoint
let timepoint = Multisig::<T>::timepoint();
// Create the multi
Multisig::<T>::as_multi(RawOrigin::Signed(caller).into(), s as u16, signatories, None, call.clone(), true, 0)?;
Multisig::<T>::as_multi(RawOrigin::Signed(caller).into(), s as u16, signatories, None, call.clone(), true, Weight::zero())?;
// Everyone except the first person approves
for i in 1 .. s - 1 {
let mut signatories_loop = signatories2.clone();
let caller_loop = signatories_loop.remove(i as usize);
let o = RawOrigin::Signed(caller_loop).into();
Multisig::<T>::as_multi(o, s as u16, signatories_loop, Some(timepoint), call.clone(), false, 0)?;
Multisig::<T>::as_multi(o, s as u16, signatories_loop, Some(timepoint), call.clone(), false, Weight::zero())?;
}
let caller2 = signatories2.remove(0);
assert!(Multisigs::<T>::contains_key(&multi_account_id, call_hash));
@@ -270,7 +270,7 @@ benchmarks! {
signatories2,
Some(timepoint),
call_hash,
Weight::max_value()
Weight::MAX
)
verify {
assert!(!Multisigs::<T>::contains_key(multi_account_id, call_hash));
@@ -288,7 +288,7 @@ benchmarks! {
let timepoint = Multisig::<T>::timepoint();
// Create the multi
let o = RawOrigin::Signed(caller.clone()).into();
Multisig::<T>::as_multi(o, s as u16, signatories.clone(), None, call, true, 0)?;
Multisig::<T>::as_multi(o, s as u16, signatories.clone(), None, call, true, Weight::zero())?;
assert!(Multisigs::<T>::contains_key(&multi_account_id, call_hash));
assert!(Calls::<T>::contains_key(call_hash));
// Whitelist caller account from further DB operations.
+2 -2
View File
@@ -257,9 +257,9 @@ pub mod pallet {
let dispatch_info = call.get_dispatch_info();
(
T::WeightInfo::as_multi_threshold_1(call.using_encoded(|c| c.len() as u32))
.saturating_add(dispatch_info.weight)
// AccountData for inner call origin accountdata.
.saturating_add(T::DbWeight::get().reads_writes(1, 1)),
.saturating_add(T::DbWeight::get().reads_writes(1, 1))
.saturating_add(dispatch_info.weight),
dispatch_info.class,
)
})]
+132 -41
View File
@@ -50,7 +50,7 @@ frame_support::construct_runtime!(
parameter_types! {
pub BlockWeights: frame_system::limits::BlockWeights =
frame_system::limits::BlockWeights::simple_max(1024);
frame_system::limits::BlockWeights::simple_max(frame_support::weights::Weight::from_ref_time(1024));
}
impl frame_system::Config for Test {
type BaseCallFilter = TestBaseCallFilter;
@@ -152,7 +152,7 @@ fn multisig_deposit_is_taken_and_returned() {
None,
OpaqueCall::from_encoded(data.clone()),
false,
0
Weight::zero()
));
assert_eq!(Balances::free_balance(1), 2);
assert_eq!(Balances::reserved_balance(1), 3);
@@ -190,7 +190,7 @@ fn multisig_deposit_is_taken_and_returned_with_call_storage() {
None,
OpaqueCall::from_encoded(data),
true,
0
Weight::zero()
));
assert_eq!(Balances::free_balance(1), 0);
assert_eq!(Balances::reserved_balance(1), 5);
@@ -221,7 +221,14 @@ fn multisig_deposit_is_taken_and_returned_with_alt_call_storage() {
let data = call.encode();
let hash = blake2_256(&data);
assert_ok!(Multisig::approve_as_multi(Origin::signed(1), 3, vec![2, 3], None, hash, 0));
assert_ok!(Multisig::approve_as_multi(
Origin::signed(1),
3,
vec![2, 3],
None,
hash,
Weight::zero()
));
assert_eq!(Balances::free_balance(1), 1);
assert_eq!(Balances::reserved_balance(1), 4);
@@ -232,7 +239,7 @@ fn multisig_deposit_is_taken_and_returned_with_alt_call_storage() {
Some(now()),
OpaqueCall::from_encoded(data),
true,
0
Weight::zero()
));
assert_eq!(Balances::free_balance(2), 3);
assert_eq!(Balances::reserved_balance(2), 2);
@@ -259,18 +266,25 @@ fn cancel_multisig_returns_deposit() {
new_test_ext().execute_with(|| {
let call = call_transfer(6, 15).encode();
let hash = blake2_256(&call);
assert_ok!(Multisig::approve_as_multi(Origin::signed(1), 3, vec![2, 3], None, hash, 0));
assert_ok!(Multisig::approve_as_multi(
Origin::signed(1),
3,
vec![2, 3],
None,
hash,
Weight::zero()
));
assert_ok!(Multisig::approve_as_multi(
Origin::signed(2),
3,
vec![1, 3],
Some(now()),
hash,
0
Weight::zero()
));
assert_eq!(Balances::free_balance(1), 6);
assert_eq!(Balances::reserved_balance(1), 4);
assert_ok!(Multisig::cancel_as_multi(Origin::signed(1), 3, vec![2, 3], now(), hash),);
assert_ok!(Multisig::cancel_as_multi(Origin::signed(1), 3, vec![2, 3], now(), hash));
assert_eq!(Balances::free_balance(1), 10);
assert_eq!(Balances::reserved_balance(1), 0);
});
@@ -288,11 +302,25 @@ fn timepoint_checking_works() {
let hash = blake2_256(&call);
assert_noop!(
Multisig::approve_as_multi(Origin::signed(2), 2, vec![1, 3], Some(now()), hash, 0),
Multisig::approve_as_multi(
Origin::signed(2),
2,
vec![1, 3],
Some(now()),
hash,
Weight::zero()
),
Error::<Test>::UnexpectedTimepoint,
);
assert_ok!(Multisig::approve_as_multi(Origin::signed(1), 2, vec![2, 3], None, hash, 0));
assert_ok!(Multisig::approve_as_multi(
Origin::signed(1),
2,
vec![2, 3],
None,
hash,
Weight::zero()
));
assert_noop!(
Multisig::as_multi(
@@ -302,7 +330,7 @@ fn timepoint_checking_works() {
None,
OpaqueCall::from_encoded(call.clone()),
false,
0
Weight::zero()
),
Error::<Test>::NoTimepoint,
);
@@ -315,7 +343,7 @@ fn timepoint_checking_works() {
Some(later),
OpaqueCall::from_encoded(call),
false,
0
Weight::zero()
),
Error::<Test>::WrongTimepoint,
);
@@ -341,7 +369,7 @@ fn multisig_2_of_3_works_with_call_storing() {
None,
OpaqueCall::from_encoded(data),
true,
0
Weight::zero()
));
assert_eq!(Balances::free_balance(6), 0);
@@ -369,7 +397,14 @@ fn multisig_2_of_3_works() {
let call_weight = call.get_dispatch_info().weight;
let data = call.encode();
let hash = blake2_256(&data);
assert_ok!(Multisig::approve_as_multi(Origin::signed(1), 2, vec![2, 3], None, hash, 0));
assert_ok!(Multisig::approve_as_multi(
Origin::signed(1),
2,
vec![2, 3],
None,
hash,
Weight::zero()
));
assert_eq!(Balances::free_balance(6), 0);
assert_ok!(Multisig::as_multi(
@@ -397,14 +432,21 @@ fn multisig_3_of_3_works() {
let call_weight = call.get_dispatch_info().weight;
let data = call.encode();
let hash = blake2_256(&data);
assert_ok!(Multisig::approve_as_multi(Origin::signed(1), 3, vec![2, 3], None, hash, 0));
assert_ok!(Multisig::approve_as_multi(
Origin::signed(1),
3,
vec![2, 3],
None,
hash,
Weight::zero()
));
assert_ok!(Multisig::approve_as_multi(
Origin::signed(2),
3,
vec![1, 3],
Some(now()),
hash,
0
Weight::zero()
));
assert_eq!(Balances::free_balance(6), 0);
@@ -426,14 +468,21 @@ fn cancel_multisig_works() {
new_test_ext().execute_with(|| {
let call = call_transfer(6, 15).encode();
let hash = blake2_256(&call);
assert_ok!(Multisig::approve_as_multi(Origin::signed(1), 3, vec![2, 3], None, hash, 0));
assert_ok!(Multisig::approve_as_multi(
Origin::signed(1),
3,
vec![2, 3],
None,
hash,
Weight::zero()
));
assert_ok!(Multisig::approve_as_multi(
Origin::signed(2),
3,
vec![1, 3],
Some(now()),
hash,
0
Weight::zero()
));
assert_noop!(
Multisig::cancel_as_multi(Origin::signed(2), 3, vec![1, 3], now(), hash),
@@ -455,7 +504,7 @@ fn cancel_multisig_with_call_storage_works() {
None,
OpaqueCall::from_encoded(call),
true,
0
Weight::zero()
));
assert_eq!(Balances::free_balance(1), 4);
assert_ok!(Multisig::approve_as_multi(
@@ -464,7 +513,7 @@ fn cancel_multisig_with_call_storage_works() {
vec![1, 3],
Some(now()),
hash,
0
Weight::zero()
));
assert_noop!(
Multisig::cancel_as_multi(Origin::signed(2), 3, vec![1, 3], now(), hash),
@@ -480,7 +529,14 @@ fn cancel_multisig_with_alt_call_storage_works() {
new_test_ext().execute_with(|| {
let call = call_transfer(6, 15).encode();
let hash = blake2_256(&call);
assert_ok!(Multisig::approve_as_multi(Origin::signed(1), 3, vec![2, 3], None, hash, 0));
assert_ok!(Multisig::approve_as_multi(
Origin::signed(1),
3,
vec![2, 3],
None,
hash,
Weight::zero()
));
assert_eq!(Balances::free_balance(1), 6);
assert_ok!(Multisig::as_multi(
Origin::signed(2),
@@ -489,7 +545,7 @@ fn cancel_multisig_with_alt_call_storage_works() {
Some(now()),
OpaqueCall::from_encoded(call),
true,
0
Weight::zero()
));
assert_eq!(Balances::free_balance(2), 8);
assert_ok!(Multisig::cancel_as_multi(Origin::signed(1), 3, vec![2, 3], now(), hash));
@@ -516,7 +572,7 @@ fn multisig_2_of_3_as_multi_works() {
None,
OpaqueCall::from_encoded(data.clone()),
false,
0
Weight::zero()
));
assert_eq!(Balances::free_balance(6), 0);
@@ -555,7 +611,7 @@ fn multisig_2_of_3_as_multi_with_many_calls_works() {
None,
OpaqueCall::from_encoded(data1.clone()),
false,
0
Weight::zero()
));
assert_ok!(Multisig::as_multi(
Origin::signed(2),
@@ -564,7 +620,7 @@ fn multisig_2_of_3_as_multi_with_many_calls_works() {
None,
OpaqueCall::from_encoded(data2.clone()),
false,
0
Weight::zero()
));
assert_ok!(Multisig::as_multi(
Origin::signed(3),
@@ -609,7 +665,7 @@ fn multisig_2_of_3_cannot_reissue_same_call() {
None,
OpaqueCall::from_encoded(data.clone()),
false,
0
Weight::zero()
));
assert_ok!(Multisig::as_multi(
Origin::signed(2),
@@ -629,7 +685,7 @@ fn multisig_2_of_3_cannot_reissue_same_call() {
None,
OpaqueCall::from_encoded(data.clone()),
false,
0
Weight::zero()
));
assert_ok!(Multisig::as_multi(
Origin::signed(3),
@@ -667,7 +723,7 @@ fn minimum_threshold_check_works() {
None,
OpaqueCall::from_encoded(call.clone()),
false,
0
Weight::zero()
),
Error::<Test>::MinimumThreshold,
);
@@ -679,7 +735,7 @@ fn minimum_threshold_check_works() {
None,
OpaqueCall::from_encoded(call.clone()),
false,
0
Weight::zero()
),
Error::<Test>::MinimumThreshold,
);
@@ -698,7 +754,7 @@ fn too_many_signatories_fails() {
None,
OpaqueCall::from_encoded(call),
false,
0
Weight::zero()
),
Error::<Test>::TooManySignatories,
);
@@ -710,9 +766,23 @@ fn duplicate_approvals_are_ignored() {
new_test_ext().execute_with(|| {
let call = call_transfer(6, 15).encode();
let hash = blake2_256(&call);
assert_ok!(Multisig::approve_as_multi(Origin::signed(1), 2, vec![2, 3], None, hash, 0));
assert_ok!(Multisig::approve_as_multi(
Origin::signed(1),
2,
vec![2, 3],
None,
hash,
Weight::zero()
));
assert_noop!(
Multisig::approve_as_multi(Origin::signed(1), 2, vec![2, 3], Some(now()), hash, 0),
Multisig::approve_as_multi(
Origin::signed(1),
2,
vec![2, 3],
Some(now()),
hash,
Weight::zero()
),
Error::<Test>::AlreadyApproved,
);
assert_ok!(Multisig::approve_as_multi(
@@ -721,10 +791,17 @@ fn duplicate_approvals_are_ignored() {
vec![1, 3],
Some(now()),
hash,
0
Weight::zero()
));
assert_noop!(
Multisig::approve_as_multi(Origin::signed(3), 2, vec![1, 2], Some(now()), hash, 0),
Multisig::approve_as_multi(
Origin::signed(3),
2,
vec![1, 2],
Some(now()),
hash,
Weight::zero()
),
Error::<Test>::AlreadyApproved,
);
});
@@ -741,7 +818,14 @@ fn multisig_1_of_3_works() {
let call = call_transfer(6, 15).encode();
let hash = blake2_256(&call);
assert_noop!(
Multisig::approve_as_multi(Origin::signed(1), 1, vec![2, 3], None, hash, 0),
Multisig::approve_as_multi(
Origin::signed(1),
1,
vec![2, 3],
None,
hash,
Weight::zero()
),
Error::<Test>::MinimumThreshold,
);
assert_noop!(
@@ -752,7 +836,7 @@ fn multisig_1_of_3_works() {
None,
OpaqueCall::from_encoded(call),
false,
0
Weight::zero()
),
Error::<Test>::MinimumThreshold,
);
@@ -791,7 +875,7 @@ fn weight_check_works() {
None,
OpaqueCall::from_encoded(data.clone()),
false,
0
Weight::zero()
));
assert_eq!(Balances::free_balance(6), 0);
@@ -803,7 +887,7 @@ fn weight_check_works() {
Some(now()),
OpaqueCall::from_encoded(data),
false,
0
Weight::zero()
),
Error::<Test>::MaxWeightTooLow,
);
@@ -825,14 +909,21 @@ fn multisig_handles_no_preimage_after_all_approve() {
let call_weight = call.get_dispatch_info().weight;
let data = call.encode();
let hash = blake2_256(&data);
assert_ok!(Multisig::approve_as_multi(Origin::signed(1), 3, vec![2, 3], None, hash, 0));
assert_ok!(Multisig::approve_as_multi(
Origin::signed(1),
3,
vec![2, 3],
None,
hash,
Weight::zero()
));
assert_ok!(Multisig::approve_as_multi(
Origin::signed(2),
3,
vec![1, 3],
Some(now()),
hash,
0
Weight::zero()
));
assert_ok!(Multisig::approve_as_multi(
Origin::signed(3),
@@ -840,7 +931,7 @@ fn multisig_handles_no_preimage_after_all_approve() {
vec![1, 2],
Some(now()),
hash,
0
Weight::zero()
));
assert_eq!(Balances::free_balance(6), 0);
+85 -85
View File
@@ -39,7 +39,7 @@
#![allow(unused_parens)]
#![allow(unused_imports)]
use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
use frame_support::{traits::Get, weights::{RefTimeWeight, Weight, constants::RocksDbWeight}};
use sp_std::marker::PhantomData;
/// Weight functions needed for pallet_multisig.
@@ -60,199 +60,199 @@ pub trait WeightInfo {
pub struct SubstrateWeight<T>(PhantomData<T>);
impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
fn as_multi_threshold_1(_z: u32, ) -> Weight {
(17_537_000 as Weight)
Weight::from_ref_time(17_537_000 as RefTimeWeight)
}
// Storage: Multisig Multisigs (r:1 w:1)
// Storage: unknown [0x3a65787472696e7369635f696e646578] (r:1 w:0)
fn as_multi_create(s: u32, z: u32, ) -> Weight {
(36_535_000 as Weight)
Weight::from_ref_time(36_535_000 as RefTimeWeight)
// Standard Error: 0
.saturating_add((99_000 as Weight).saturating_mul(s as Weight))
.saturating_add(Weight::from_ref_time(99_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight))
// Standard Error: 0
.saturating_add((1_000 as Weight).saturating_mul(z as Weight))
.saturating_add(T::DbWeight::get().reads(2 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight))
.saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight))
.saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight))
.saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight))
}
// Storage: Multisig Multisigs (r:1 w:1)
// Storage: Multisig Calls (r:1 w:1)
// Storage: unknown [0x3a65787472696e7369635f696e646578] (r:1 w:0)
fn as_multi_create_store(s: u32, z: u32, ) -> Weight {
(39_918_000 as Weight)
Weight::from_ref_time(39_918_000 as RefTimeWeight)
// Standard Error: 1_000
.saturating_add((95_000 as Weight).saturating_mul(s as Weight))
.saturating_add(Weight::from_ref_time(95_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight))
// Standard Error: 0
.saturating_add((2_000 as Weight).saturating_mul(z as Weight))
.saturating_add(T::DbWeight::get().reads(3 as Weight))
.saturating_add(T::DbWeight::get().writes(2 as Weight))
.saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight))
.saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight))
.saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight))
}
// Storage: Multisig Multisigs (r:1 w:1)
fn as_multi_approve(s: u32, z: u32, ) -> Weight {
(25_524_000 as Weight)
Weight::from_ref_time(25_524_000 as RefTimeWeight)
// Standard Error: 0
.saturating_add((94_000 as Weight).saturating_mul(s as Weight))
.saturating_add(Weight::from_ref_time(94_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight))
// Standard Error: 0
.saturating_add((1_000 as Weight).saturating_mul(z as Weight))
.saturating_add(T::DbWeight::get().reads(1 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight))
.saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight))
.saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight))
.saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight))
}
// Storage: Multisig Multisigs (r:1 w:1)
// Storage: Multisig Calls (r:1 w:1)
fn as_multi_approve_store(s: u32, z: u32, ) -> Weight {
(39_923_000 as Weight)
Weight::from_ref_time(39_923_000 as RefTimeWeight)
// Standard Error: 1_000
.saturating_add((91_000 as Weight).saturating_mul(s as Weight))
.saturating_add(Weight::from_ref_time(91_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight))
// Standard Error: 0
.saturating_add((2_000 as Weight).saturating_mul(z as Weight))
.saturating_add(T::DbWeight::get().reads(2 as Weight))
.saturating_add(T::DbWeight::get().writes(2 as Weight))
.saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight))
.saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight))
.saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight))
}
// Storage: Multisig Multisigs (r:1 w:1)
// Storage: Multisig Calls (r:1 w:1)
// Storage: System Account (r:1 w:1)
fn as_multi_complete(s: u32, z: u32, ) -> Weight {
(45_877_000 as Weight)
Weight::from_ref_time(45_877_000 as RefTimeWeight)
// Standard Error: 1_000
.saturating_add((146_000 as Weight).saturating_mul(s as Weight))
.saturating_add(Weight::from_ref_time(146_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight))
// Standard Error: 0
.saturating_add((2_000 as Weight).saturating_mul(z as Weight))
.saturating_add(T::DbWeight::get().reads(3 as Weight))
.saturating_add(T::DbWeight::get().writes(3 as Weight))
.saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight))
.saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight))
.saturating_add(T::DbWeight::get().writes(3 as RefTimeWeight))
}
// Storage: Multisig Multisigs (r:1 w:1)
// Storage: unknown [0x3a65787472696e7369635f696e646578] (r:1 w:0)
fn approve_as_multi_create(s: u32, ) -> Weight {
(34_309_000 as Weight)
Weight::from_ref_time(34_309_000 as RefTimeWeight)
// Standard Error: 1_000
.saturating_add((114_000 as Weight).saturating_mul(s as Weight))
.saturating_add(T::DbWeight::get().reads(2 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight))
.saturating_add(Weight::from_ref_time(114_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight))
.saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight))
.saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight))
}
// Storage: Multisig Multisigs (r:1 w:1)
// Storage: Multisig Calls (r:1 w:0)
fn approve_as_multi_approve(s: u32, ) -> Weight {
(22_848_000 as Weight)
Weight::from_ref_time(22_848_000 as RefTimeWeight)
// Standard Error: 0
.saturating_add((114_000 as Weight).saturating_mul(s as Weight))
.saturating_add(T::DbWeight::get().reads(1 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight))
.saturating_add(Weight::from_ref_time(114_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight))
.saturating_add(T::DbWeight::get().reads(1 as RefTimeWeight))
.saturating_add(T::DbWeight::get().writes(1 as RefTimeWeight))
}
// Storage: Multisig Multisigs (r:1 w:1)
// Storage: Multisig Calls (r:1 w:1)
// Storage: System Account (r:1 w:1)
fn approve_as_multi_complete(s: u32, ) -> Weight {
(63_239_000 as Weight)
Weight::from_ref_time(63_239_000 as RefTimeWeight)
// Standard Error: 1_000
.saturating_add((161_000 as Weight).saturating_mul(s as Weight))
.saturating_add(T::DbWeight::get().reads(3 as Weight))
.saturating_add(T::DbWeight::get().writes(3 as Weight))
.saturating_add(Weight::from_ref_time(161_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight))
.saturating_add(T::DbWeight::get().reads(3 as RefTimeWeight))
.saturating_add(T::DbWeight::get().writes(3 as RefTimeWeight))
}
// Storage: Multisig Multisigs (r:1 w:1)
// Storage: Multisig Calls (r:1 w:1)
fn cancel_as_multi(s: u32, ) -> Weight {
(51_254_000 as Weight)
Weight::from_ref_time(51_254_000 as RefTimeWeight)
// Standard Error: 1_000
.saturating_add((118_000 as Weight).saturating_mul(s as Weight))
.saturating_add(T::DbWeight::get().reads(2 as Weight))
.saturating_add(T::DbWeight::get().writes(2 as Weight))
.saturating_add(Weight::from_ref_time(118_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight))
.saturating_add(T::DbWeight::get().reads(2 as RefTimeWeight))
.saturating_add(T::DbWeight::get().writes(2 as RefTimeWeight))
}
}
// For backwards compatibility and tests
impl WeightInfo for () {
fn as_multi_threshold_1(_z: u32, ) -> Weight {
(17_537_000 as Weight)
Weight::from_ref_time(17_537_000 as RefTimeWeight)
}
// Storage: Multisig Multisigs (r:1 w:1)
// Storage: unknown [0x3a65787472696e7369635f696e646578] (r:1 w:0)
fn as_multi_create(s: u32, z: u32, ) -> Weight {
(36_535_000 as Weight)
Weight::from_ref_time(36_535_000 as RefTimeWeight)
// Standard Error: 0
.saturating_add((99_000 as Weight).saturating_mul(s as Weight))
.saturating_add(Weight::from_ref_time(99_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight))
// Standard Error: 0
.saturating_add((1_000 as Weight).saturating_mul(z as Weight))
.saturating_add(RocksDbWeight::get().reads(2 as Weight))
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
.saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight))
.saturating_add(RocksDbWeight::get().reads(2 as RefTimeWeight))
.saturating_add(RocksDbWeight::get().writes(1 as RefTimeWeight))
}
// Storage: Multisig Multisigs (r:1 w:1)
// Storage: Multisig Calls (r:1 w:1)
// Storage: unknown [0x3a65787472696e7369635f696e646578] (r:1 w:0)
fn as_multi_create_store(s: u32, z: u32, ) -> Weight {
(39_918_000 as Weight)
Weight::from_ref_time(39_918_000 as RefTimeWeight)
// Standard Error: 1_000
.saturating_add((95_000 as Weight).saturating_mul(s as Weight))
.saturating_add(Weight::from_ref_time(95_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight))
// Standard Error: 0
.saturating_add((2_000 as Weight).saturating_mul(z as Weight))
.saturating_add(RocksDbWeight::get().reads(3 as Weight))
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
.saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight))
.saturating_add(RocksDbWeight::get().reads(3 as RefTimeWeight))
.saturating_add(RocksDbWeight::get().writes(2 as RefTimeWeight))
}
// Storage: Multisig Multisigs (r:1 w:1)
fn as_multi_approve(s: u32, z: u32, ) -> Weight {
(25_524_000 as Weight)
Weight::from_ref_time(25_524_000 as RefTimeWeight)
// Standard Error: 0
.saturating_add((94_000 as Weight).saturating_mul(s as Weight))
.saturating_add(Weight::from_ref_time(94_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight))
// Standard Error: 0
.saturating_add((1_000 as Weight).saturating_mul(z as Weight))
.saturating_add(RocksDbWeight::get().reads(1 as Weight))
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
.saturating_add(Weight::from_ref_time(1_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight))
.saturating_add(RocksDbWeight::get().reads(1 as RefTimeWeight))
.saturating_add(RocksDbWeight::get().writes(1 as RefTimeWeight))
}
// Storage: Multisig Multisigs (r:1 w:1)
// Storage: Multisig Calls (r:1 w:1)
fn as_multi_approve_store(s: u32, z: u32, ) -> Weight {
(39_923_000 as Weight)
Weight::from_ref_time(39_923_000 as RefTimeWeight)
// Standard Error: 1_000
.saturating_add((91_000 as Weight).saturating_mul(s as Weight))
.saturating_add(Weight::from_ref_time(91_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight))
// Standard Error: 0
.saturating_add((2_000 as Weight).saturating_mul(z as Weight))
.saturating_add(RocksDbWeight::get().reads(2 as Weight))
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
.saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight))
.saturating_add(RocksDbWeight::get().reads(2 as RefTimeWeight))
.saturating_add(RocksDbWeight::get().writes(2 as RefTimeWeight))
}
// Storage: Multisig Multisigs (r:1 w:1)
// Storage: Multisig Calls (r:1 w:1)
// Storage: System Account (r:1 w:1)
fn as_multi_complete(s: u32, z: u32, ) -> Weight {
(45_877_000 as Weight)
Weight::from_ref_time(45_877_000 as RefTimeWeight)
// Standard Error: 1_000
.saturating_add((146_000 as Weight).saturating_mul(s as Weight))
.saturating_add(Weight::from_ref_time(146_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight))
// Standard Error: 0
.saturating_add((2_000 as Weight).saturating_mul(z as Weight))
.saturating_add(RocksDbWeight::get().reads(3 as Weight))
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
.saturating_add(Weight::from_ref_time(2_000 as RefTimeWeight).scalar_saturating_mul(z as RefTimeWeight))
.saturating_add(RocksDbWeight::get().reads(3 as RefTimeWeight))
.saturating_add(RocksDbWeight::get().writes(3 as RefTimeWeight))
}
// Storage: Multisig Multisigs (r:1 w:1)
// Storage: unknown [0x3a65787472696e7369635f696e646578] (r:1 w:0)
fn approve_as_multi_create(s: u32, ) -> Weight {
(34_309_000 as Weight)
Weight::from_ref_time(34_309_000 as RefTimeWeight)
// Standard Error: 1_000
.saturating_add((114_000 as Weight).saturating_mul(s as Weight))
.saturating_add(RocksDbWeight::get().reads(2 as Weight))
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
.saturating_add(Weight::from_ref_time(114_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight))
.saturating_add(RocksDbWeight::get().reads(2 as RefTimeWeight))
.saturating_add(RocksDbWeight::get().writes(1 as RefTimeWeight))
}
// Storage: Multisig Multisigs (r:1 w:1)
// Storage: Multisig Calls (r:1 w:0)
fn approve_as_multi_approve(s: u32, ) -> Weight {
(22_848_000 as Weight)
Weight::from_ref_time(22_848_000 as RefTimeWeight)
// Standard Error: 0
.saturating_add((114_000 as Weight).saturating_mul(s as Weight))
.saturating_add(RocksDbWeight::get().reads(1 as Weight))
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
.saturating_add(Weight::from_ref_time(114_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight))
.saturating_add(RocksDbWeight::get().reads(1 as RefTimeWeight))
.saturating_add(RocksDbWeight::get().writes(1 as RefTimeWeight))
}
// Storage: Multisig Multisigs (r:1 w:1)
// Storage: Multisig Calls (r:1 w:1)
// Storage: System Account (r:1 w:1)
fn approve_as_multi_complete(s: u32, ) -> Weight {
(63_239_000 as Weight)
Weight::from_ref_time(63_239_000 as RefTimeWeight)
// Standard Error: 1_000
.saturating_add((161_000 as Weight).saturating_mul(s as Weight))
.saturating_add(RocksDbWeight::get().reads(3 as Weight))
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
.saturating_add(Weight::from_ref_time(161_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight))
.saturating_add(RocksDbWeight::get().reads(3 as RefTimeWeight))
.saturating_add(RocksDbWeight::get().writes(3 as RefTimeWeight))
}
// Storage: Multisig Multisigs (r:1 w:1)
// Storage: Multisig Calls (r:1 w:1)
fn cancel_as_multi(s: u32, ) -> Weight {
(51_254_000 as Weight)
Weight::from_ref_time(51_254_000 as RefTimeWeight)
// Standard Error: 1_000
.saturating_add((118_000 as Weight).saturating_mul(s as Weight))
.saturating_add(RocksDbWeight::get().reads(2 as Weight))
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
.saturating_add(Weight::from_ref_time(118_000 as RefTimeWeight).scalar_saturating_mul(s as RefTimeWeight))
.saturating_add(RocksDbWeight::get().reads(2 as RefTimeWeight))
.saturating_add(RocksDbWeight::get().writes(2 as RefTimeWeight))
}
}