diff --git a/substrate/frame/identity/src/benchmarking.rs b/substrate/frame/identity/src/benchmarking.rs index b7a81956a55c5044d49a126c8f354fef951802f8..87d577c4d8e88b420760924812f18a9238c5d8f0 100644 --- a/substrate/frame/identity/src/benchmarking.rs +++ b/substrate/frame/identity/src/benchmarking.rs @@ -62,6 +62,12 @@ fn add_sub_accounts<T: Trait>(who: T::AccountId, s: u32) -> Result<Vec<(T::Accou let sub_account = account::<T>("sub", i); subs.push((sub_account, data.clone())); } + + // Set identity so `set_subs` does not fail. + let _ = T::Currency::make_free_balance_be(&who, BalanceOf::<T>::max_value()); + let info = create_identity_info::<T>(1); + Identity::<T>::set_identity(who_origin.clone().into(), info)?; + Identity::<T>::set_subs(who_origin.into(), subs.clone())?; return Ok(subs) @@ -147,19 +153,8 @@ benchmarks! { let caller = account::<T>("caller", 0); let caller_origin: <T as frame_system::Trait>::Origin = RawOrigin::Signed(caller.clone()).into(); - let _ = T::Currency::make_free_balance_be(&caller, BalanceOf::<T>::max_value()); - - // Create their main identity - let info = create_identity_info::<T>(1); - Identity::<T>::set_identity(caller_origin, info)?; - }: _(RawOrigin::Signed(caller), { - let mut subs = Module::<T>::subs(&caller); - // Generic data to be used. - let data = Data::Raw(vec![0; 32]); - // Create an s+1 sub account to add - subs.push((account::<T>("sub", s + 1), data)); - subs - }) + let subs = Module::<T>::subs(&caller); + }: _(RawOrigin::Signed(caller), subs) clear_identity { let caller = account::<T>("caller", 0);