19
19
20
20
use super :: * ;
21
21
22
- use frame_benchmarking:: v1:: { account, benchmarks, whitelist_account} ;
22
+ use frame_benchmarking:: v1:: { account, benchmarks, whitelist_account, BenchmarkError } ;
23
23
use frame_support:: {
24
24
assert_noop, assert_ok,
25
25
traits:: { Currency , EnsureOrigin , Get , OnInitialize , UnfilteredDispatchable } ,
@@ -177,7 +177,8 @@ benchmarks! {
177
177
}
178
178
179
179
emergency_cancel {
180
- let origin = T :: CancellationOrigin :: successful_origin( ) ;
180
+ let origin =
181
+ T :: CancellationOrigin :: try_successful_origin( ) . map_err( |_| BenchmarkError :: Weightless ) ?;
181
182
let ref_index = add_referendum:: <T >( 0 ) . 0 ;
182
183
assert_ok!( Democracy :: <T >:: referendum_status( ref_index) ) ;
183
184
} : _<T :: RuntimeOrigin >( origin, ref_index)
@@ -200,10 +201,13 @@ benchmarks! {
200
201
let ( ref_index, hash) = add_referendum:: <T >( 0 ) ;
201
202
assert_ok!( Democracy :: <T >:: referendum_status( ref_index) ) ;
202
203
// Place our proposal in the external queue, too.
203
- assert_ok!(
204
- Democracy :: <T >:: external_propose( T :: ExternalOrigin :: successful_origin( ) , make_proposal:: <T >( 0 ) )
205
- ) ;
206
- let origin = T :: BlacklistOrigin :: successful_origin( ) ;
204
+ assert_ok!( Democracy :: <T >:: external_propose(
205
+ T :: ExternalOrigin :: try_successful_origin( )
206
+ . expect( "ExternalOrigin has no successful origin required for the benchmark" ) ,
207
+ make_proposal:: <T >( 0 )
208
+ ) ) ;
209
+ let origin =
210
+ T :: BlacklistOrigin :: try_successful_origin( ) . map_err( |_| BenchmarkError :: Weightless ) ?;
207
211
} : _<T :: RuntimeOrigin >( origin, hash, Some ( ref_index) )
208
212
verify {
209
213
// Referendum has been canceled
@@ -215,7 +219,8 @@ benchmarks! {
215
219
216
220
// Worst case scenario, we external propose a previously blacklisted proposal
217
221
external_propose {
218
- let origin = T :: ExternalOrigin :: successful_origin( ) ;
222
+ let origin =
223
+ T :: ExternalOrigin :: try_successful_origin( ) . map_err( |_| BenchmarkError :: Weightless ) ?;
219
224
let proposal = make_proposal:: <T >( 0 ) ;
220
225
// Add proposal to blacklist with block number 0
221
226
@@ -233,7 +238,8 @@ benchmarks! {
233
238
}
234
239
235
240
external_propose_majority {
236
- let origin = T :: ExternalMajorityOrigin :: successful_origin( ) ;
241
+ let origin = T :: ExternalMajorityOrigin :: try_successful_origin( )
242
+ . map_err( |_| BenchmarkError :: Weightless ) ?;
237
243
let proposal = make_proposal:: <T >( 0 ) ;
238
244
} : _<T :: RuntimeOrigin >( origin, proposal)
239
245
verify {
@@ -242,7 +248,8 @@ benchmarks! {
242
248
}
243
249
244
250
external_propose_default {
245
- let origin = T :: ExternalDefaultOrigin :: successful_origin( ) ;
251
+ let origin = T :: ExternalDefaultOrigin :: try_successful_origin( )
252
+ . map_err( |_| BenchmarkError :: Weightless ) ?;
246
253
let proposal = make_proposal:: <T >( 0 ) ;
247
254
} : _<T :: RuntimeOrigin >( origin, proposal)
248
255
verify {
@@ -251,13 +258,15 @@ benchmarks! {
251
258
}
252
259
253
260
fast_track {
254
- let origin_propose = T :: ExternalDefaultOrigin :: successful_origin( ) ;
261
+ let origin_propose = T :: ExternalDefaultOrigin :: try_successful_origin( )
262
+ . expect( "ExternalDefaultOrigin has no successful origin required for the benchmark" ) ;
255
263
let proposal = make_proposal:: <T >( 0 ) ;
256
264
let proposal_hash = proposal. hash( ) ;
257
265
Democracy :: <T >:: external_propose_default( origin_propose, proposal) ?;
258
266
259
267
// NOTE: Instant origin may invoke a little bit more logic, but may not always succeed.
260
- let origin_fast_track = T :: FastTrackOrigin :: successful_origin( ) ;
268
+ let origin_fast_track =
269
+ T :: FastTrackOrigin :: try_successful_origin( ) . map_err( |_| BenchmarkError :: Weightless ) ?;
261
270
let voting_period = T :: FastTrackVotingPeriod :: get( ) ;
262
271
let delay = 0u32 ;
263
272
} : _<T :: RuntimeOrigin >( origin_fast_track, proposal_hash, voting_period, delay. into( ) )
@@ -269,7 +278,8 @@ benchmarks! {
269
278
let proposal = make_proposal:: <T >( 0 ) ;
270
279
let proposal_hash = proposal. hash( ) ;
271
280
272
- let origin_propose = T :: ExternalDefaultOrigin :: successful_origin( ) ;
281
+ let origin_propose = T :: ExternalDefaultOrigin :: try_successful_origin( )
282
+ . expect( "ExternalDefaultOrigin has no successful origin required for the benchmark" ) ;
273
283
Democracy :: <T >:: external_propose_default( origin_propose, proposal) ?;
274
284
275
285
let mut vetoers: BoundedVec <T :: AccountId , _> = Default :: default ( ) ;
@@ -279,7 +289,7 @@ benchmarks! {
279
289
vetoers. sort( ) ;
280
290
Blacklist :: <T >:: insert( proposal_hash, ( T :: BlockNumber :: zero( ) , vetoers) ) ;
281
291
282
- let origin = T :: VetoOrigin :: successful_origin ( ) ;
292
+ let origin = T :: VetoOrigin :: try_successful_origin ( ) . map_err ( |_| BenchmarkError :: Weightless ) ? ;
283
293
ensure!( NextExternal :: <T >:: get( ) . is_some( ) , "no external proposal" ) ;
284
294
} : _<T :: RuntimeOrigin >( origin, proposal_hash)
285
295
verify {
@@ -293,7 +303,8 @@ benchmarks! {
293
303
for i in 0 .. T :: MaxProposals :: get( ) {
294
304
add_proposal:: <T >( i) ?;
295
305
}
296
- let cancel_origin = T :: CancelProposalOrigin :: successful_origin( ) ;
306
+ let cancel_origin = T :: CancelProposalOrigin :: try_successful_origin( )
307
+ . map_err( |_| BenchmarkError :: Weightless ) ?;
297
308
} : _<T :: RuntimeOrigin >( cancel_origin, 0 )
298
309
299
310
cancel_referendum {
@@ -313,7 +324,8 @@ benchmarks! {
313
324
// Launch external
314
325
LastTabledWasExternal :: <T >:: put( false ) ;
315
326
316
- let origin = T :: ExternalMajorityOrigin :: successful_origin( ) ;
327
+ let origin = T :: ExternalMajorityOrigin :: try_successful_origin( )
328
+ . map_err( |_| BenchmarkError :: Weightless ) ?;
317
329
let proposal = make_proposal:: <T >( r) ;
318
330
let call = Call :: <T >:: external_propose_majority { proposal } ;
319
331
call. dispatch_bypass_filter( origin) ?;
0 commit comments