Skip to content

Commit b1084e7

Browse files
clangenbactions-userggwpez
authored
migrate pallet-recovery to benchmark V2 syntax (#6299)
Part of: * #6202 --------- Co-authored-by: GitHub Action <[email protected]> Co-authored-by: Oliver Tale-Yazdi <[email protected]>
1 parent b326540 commit b1084e7

File tree

2 files changed

+72
-89
lines changed

2 files changed

+72
-89
lines changed

prdoc/pr_6299.prdoc

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
title: migrate pallet-recovery to benchmark V2 syntax
2+
doc:
3+
- audience: Runtime Dev
4+
description: |-
5+
migrate pallet-recovery to benchmark V2 syntax
6+
crates:
7+
- name: pallet-recovery
8+
bump: patch

substrate/frame/recovery/src/benchmarking.rs

+64-89
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ use super::*;
2121

2222
use crate::Pallet;
2323
use alloc::{boxed::Box, vec, vec::Vec};
24-
use frame_benchmarking::v1::{account, benchmarks, whitelisted_caller};
24+
use frame_benchmarking::v2::*;
2525
use frame_support::traits::{Currency, Get};
2626
use frame_system::RawOrigin;
2727
use sp_runtime::traits::Bounded;
@@ -103,85 +103,79 @@ fn insert_recovery_account<T: Config>(caller: &T::AccountId, account: &T::Accoun
103103
<Recoverable<T>>::insert(&account, recovery_config);
104104
}
105105

106-
benchmarks! {
107-
as_recovered {
106+
#[benchmarks]
107+
mod benchmarks {
108+
use super::*;
109+
110+
#[benchmark]
111+
fn as_recovered() {
108112
let caller: T::AccountId = whitelisted_caller();
109113
let recovered_account: T::AccountId = account("recovered_account", 0, SEED);
110114
let recovered_account_lookup = T::Lookup::unlookup(recovered_account.clone());
111-
let call: <T as Config>::RuntimeCall = frame_system::Call::<T>::remark { remark: vec![] }.into();
115+
let call: <T as Config>::RuntimeCall =
116+
frame_system::Call::<T>::remark { remark: vec![] }.into();
112117

113118
Proxy::<T>::insert(&caller, &recovered_account);
114-
}: _(
115-
RawOrigin::Signed(caller),
116-
recovered_account_lookup,
117-
Box::new(call)
118-
)
119119

120-
set_recovered {
120+
#[extrinsic_call]
121+
_(RawOrigin::Signed(caller), recovered_account_lookup, Box::new(call))
122+
}
123+
124+
#[benchmark]
125+
fn set_recovered() {
121126
let lost: T::AccountId = whitelisted_caller();
122127
let lost_lookup = T::Lookup::unlookup(lost.clone());
123128
let rescuer: T::AccountId = whitelisted_caller();
124129
let rescuer_lookup = T::Lookup::unlookup(rescuer.clone());
125-
}: _(
126-
RawOrigin::Root,
127-
lost_lookup,
128-
rescuer_lookup
129-
) verify {
130+
131+
#[extrinsic_call]
132+
_(RawOrigin::Root, lost_lookup, rescuer_lookup);
133+
130134
assert_last_event::<T>(
131-
Event::AccountRecovered {
132-
lost_account: lost,
133-
rescuer_account: rescuer,
134-
}.into()
135+
Event::AccountRecovered { lost_account: lost, rescuer_account: rescuer }.into(),
135136
);
136137
}
137138

138-
create_recovery {
139-
let n in 1 .. T::MaxFriends::get();
140-
139+
#[benchmark]
140+
fn create_recovery(n: Linear<1, { T::MaxFriends::get() }>) {
141141
let caller: T::AccountId = whitelisted_caller();
142142
T::Currency::make_free_balance_be(&caller, BalanceOf::<T>::max_value());
143143

144144
// Create friends
145145
let friends = generate_friends::<T>(n);
146-
}: _(
147-
RawOrigin::Signed(caller.clone()),
148-
friends,
149-
n as u16,
150-
DEFAULT_DELAY.into()
151-
) verify {
146+
147+
#[extrinsic_call]
148+
_(RawOrigin::Signed(caller.clone()), friends, n as u16, DEFAULT_DELAY.into());
149+
152150
assert_last_event::<T>(Event::RecoveryCreated { account: caller }.into());
153151
}
154152

155-
initiate_recovery {
153+
#[benchmark]
154+
fn initiate_recovery() {
156155
let caller: T::AccountId = whitelisted_caller();
157156
T::Currency::make_free_balance_be(&caller, BalanceOf::<T>::max_value());
158157

159158
let lost_account: T::AccountId = account("lost_account", 0, SEED);
160159
let lost_account_lookup = T::Lookup::unlookup(lost_account.clone());
161160

162161
insert_recovery_account::<T>(&caller, &lost_account);
163-
}: _(
164-
RawOrigin::Signed(caller.clone()),
165-
lost_account_lookup
166-
) verify {
162+
163+
#[extrinsic_call]
164+
_(RawOrigin::Signed(caller.clone()), lost_account_lookup);
165+
167166
assert_last_event::<T>(
168-
Event::RecoveryInitiated {
169-
lost_account: lost_account,
170-
rescuer_account: caller,
171-
}.into()
167+
Event::RecoveryInitiated { lost_account, rescuer_account: caller }.into(),
172168
);
173169
}
174170

175-
vouch_recovery {
176-
let n in 1 .. T::MaxFriends::get();
177-
171+
#[benchmark]
172+
fn vouch_recovery(n: Linear<1, { T::MaxFriends::get() }>) {
178173
let caller: T::AccountId = whitelisted_caller();
179174
let lost_account: T::AccountId = account("lost_account", 0, SEED);
180175
let lost_account_lookup = T::Lookup::unlookup(lost_account.clone());
181176
let rescuer_account: T::AccountId = account("rescuer_account", 0, SEED);
182177
let rescuer_account_lookup = T::Lookup::unlookup(rescuer_account.clone());
183178

184-
185179
// Create friends
186180
let friends = add_caller_and_generate_friends::<T>(caller.clone(), n);
187181
let bounded_friends: FriendsOf<T> = friends.try_into().unwrap();
@@ -212,23 +206,15 @@ benchmarks! {
212206
// Create the active recovery storage item
213207
<ActiveRecoveries<T>>::insert(&lost_account, &rescuer_account, recovery_status);
214208

215-
}: _(
216-
RawOrigin::Signed(caller.clone()),
217-
lost_account_lookup,
218-
rescuer_account_lookup
219-
) verify {
209+
#[extrinsic_call]
210+
_(RawOrigin::Signed(caller.clone()), lost_account_lookup, rescuer_account_lookup);
220211
assert_last_event::<T>(
221-
Event::RecoveryVouched {
222-
lost_account: lost_account,
223-
rescuer_account: rescuer_account,
224-
sender: caller,
225-
}.into()
212+
Event::RecoveryVouched { lost_account, rescuer_account, sender: caller }.into(),
226213
);
227214
}
228215

229-
claim_recovery {
230-
let n in 1 .. T::MaxFriends::get();
231-
216+
#[benchmark]
217+
fn claim_recovery(n: Linear<1, { T::MaxFriends::get() }>) {
232218
let caller: T::AccountId = whitelisted_caller();
233219
let lost_account: T::AccountId = account("lost_account", 0, SEED);
234220
let lost_account_lookup = T::Lookup::unlookup(lost_account.clone());
@@ -264,25 +250,20 @@ benchmarks! {
264250

265251
// Create the active recovery storage item
266252
<ActiveRecoveries<T>>::insert(&lost_account, &caller, recovery_status);
267-
}: _(
268-
RawOrigin::Signed(caller.clone()),
269-
lost_account_lookup
270-
) verify {
253+
254+
#[extrinsic_call]
255+
_(RawOrigin::Signed(caller.clone()), lost_account_lookup);
271256
assert_last_event::<T>(
272-
Event::AccountRecovered {
273-
lost_account: lost_account,
274-
rescuer_account: caller,
275-
}.into()
257+
Event::AccountRecovered { lost_account, rescuer_account: caller }.into(),
276258
);
277259
}
278260

279-
close_recovery {
261+
#[benchmark]
262+
fn close_recovery(n: Linear<1, { T::MaxFriends::get() }>) {
280263
let caller: T::AccountId = whitelisted_caller();
281264
let rescuer_account: T::AccountId = account("rescuer_account", 0, SEED);
282265
let rescuer_account_lookup = T::Lookup::unlookup(rescuer_account.clone());
283266

284-
let n in 1 .. T::MaxFriends::get();
285-
286267
T::Currency::make_free_balance_be(&caller, BalanceOf::<T>::max_value());
287268
T::Currency::make_free_balance_be(&rescuer_account, BalanceOf::<T>::max_value());
288269

@@ -315,21 +296,16 @@ benchmarks! {
315296

316297
// Create the active recovery storage item
317298
<ActiveRecoveries<T>>::insert(&caller, &rescuer_account, recovery_status);
318-
}: _(
319-
RawOrigin::Signed(caller.clone()),
320-
rescuer_account_lookup
321-
) verify {
299+
300+
#[extrinsic_call]
301+
_(RawOrigin::Signed(caller.clone()), rescuer_account_lookup);
322302
assert_last_event::<T>(
323-
Event::RecoveryClosed {
324-
lost_account: caller,
325-
rescuer_account: rescuer_account,
326-
}.into()
303+
Event::RecoveryClosed { lost_account: caller, rescuer_account }.into(),
327304
);
328305
}
329306

330-
remove_recovery {
331-
let n in 1 .. T::MaxFriends::get();
332-
307+
#[benchmark]
308+
fn remove_recovery(n: Linear<1, { T::MaxFriends::get() }>) {
333309
let caller: T::AccountId = whitelisted_caller();
334310

335311
T::Currency::make_free_balance_be(&caller, BalanceOf::<T>::max_value());
@@ -353,17 +329,14 @@ benchmarks! {
353329

354330
// Reserve deposit for recovery
355331
T::Currency::reserve(&caller, total_deposit).unwrap();
356-
}: _(
357-
RawOrigin::Signed(caller.clone())
358-
) verify {
359-
assert_last_event::<T>(
360-
Event::RecoveryRemoved {
361-
lost_account: caller
362-
}.into()
363-
);
332+
333+
#[extrinsic_call]
334+
_(RawOrigin::Signed(caller.clone()));
335+
assert_last_event::<T>(Event::RecoveryRemoved { lost_account: caller }.into());
364336
}
365337

366-
cancel_recovered {
338+
#[benchmark]
339+
fn cancel_recovered() -> Result<(), BenchmarkError> {
367340
let caller: T::AccountId = whitelisted_caller();
368341
let account: T::AccountId = account("account", 0, SEED);
369342
let account_lookup = T::Lookup::unlookup(account.clone());
@@ -373,10 +346,12 @@ benchmarks! {
373346
frame_system::Pallet::<T>::inc_consumers(&caller)?;
374347

375348
Proxy::<T>::insert(&caller, &account);
376-
}: _(
377-
RawOrigin::Signed(caller),
378-
account_lookup
379-
)
349+
350+
#[extrinsic_call]
351+
_(RawOrigin::Signed(caller), account_lookup);
352+
353+
Ok(())
354+
}
380355

381356
impl_benchmark_test_suite!(Pallet, crate::mock::new_test_ext(), crate::mock::Test);
382357
}

0 commit comments

Comments
 (0)