Store dispatch info of calls locally in weight calculation (#7849)

* utility

* sudo

* more

* recovery

* better formatting
This commit is contained in:
Shawn Tabrizi
2021-01-08 12:04:46 -04:00
committed by GitHub
parent a4032b1dfb
commit 1d73b011a9
4 changed files with 66 additions and 47 deletions
+10 -7
View File
@@ -223,13 +223,16 @@ decl_module! {
/// - DB Weight: None
/// - Plus Call Weight
/// # </weight>
#[weight = (
T::WeightInfo::as_multi_threshold_1(call.using_encoded(|c| c.len() as u32))
.saturating_add(call.get_dispatch_info().weight)
// AccountData for inner call origin accountdata.
.saturating_add(T::DbWeight::get().reads_writes(1, 1)),
call.get_dispatch_info().class,
)]
#[weight = {
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)),
dispatch_info.class,
)
}]
fn as_multi_threshold_1(origin,
other_signatories: Vec<T::AccountId>,
call: Box<<T as Config>::Call>,