mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-14 12:11:09 +00:00
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:
@@ -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.
|
||||
|
||||
@@ -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,
|
||||
)
|
||||
})]
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user