@@ -27,7 +27,10 @@ use frame_benchmarking::v1::{account, whitelist_account};
27
27
use frame_election_provider_support:: SortedListProvider ;
28
28
use frame_support:: {
29
29
assert_ok, ensure,
30
- traits:: { Currency , Get } ,
30
+ traits:: {
31
+ fungible:: { Inspect , Mutate , Unbalanced } ,
32
+ Get ,
33
+ } ,
31
34
} ;
32
35
use frame_system:: RawOrigin as RuntimeOrigin ;
33
36
use pallet_nomination_pools:: {
@@ -67,7 +70,7 @@ fn create_funded_user_with_balance<T: pallet_nomination_pools::Config>(
67
70
balance : BalanceOf < T > ,
68
71
) -> T :: AccountId {
69
72
let user = account ( string, n, USER_SEED ) ;
70
- T :: Currency :: make_free_balance_be ( & user, balance) ;
73
+ T :: Currency :: set_balance ( & user, balance) ;
71
74
user
72
75
}
73
76
@@ -148,8 +151,7 @@ impl<T: Config> ListScenario<T> {
148
151
) ;
149
152
150
153
// Burn the entire issuance.
151
- let i = CurrencyOf :: < T > :: burn ( CurrencyOf :: < T > :: total_issuance ( ) ) ;
152
- sp_std:: mem:: forget ( i) ;
154
+ CurrencyOf :: < T > :: set_total_issuance ( Zero :: zero ( ) ) ;
153
155
154
156
// Create accounts with the origin weight
155
157
let ( pool_creator1, pool_origin1) =
@@ -206,7 +208,7 @@ impl<T: Config> ListScenario<T> {
206
208
207
209
let joiner: T :: AccountId = account ( "joiner" , USER_SEED , 0 ) ;
208
210
self . origin1_member = Some ( joiner. clone ( ) ) ;
209
- CurrencyOf :: < T > :: make_free_balance_be ( & joiner, amount * 2u32 . into ( ) ) ;
211
+ CurrencyOf :: < T > :: set_balance ( & joiner, amount * 2u32 . into ( ) ) ;
210
212
211
213
let original_bonded = T :: Staking :: active_stake ( & self . origin1 ) . unwrap ( ) ;
212
214
@@ -254,7 +256,7 @@ frame_benchmarking::benchmarks! {
254
256
whitelist_account!( joiner) ;
255
257
} : _( RuntimeOrigin :: Signed ( joiner. clone( ) ) , max_additional, 1 )
256
258
verify {
257
- assert_eq!( CurrencyOf :: <T >:: free_balance ( & joiner) , joiner_free - max_additional) ;
259
+ assert_eq!( CurrencyOf :: <T >:: balance ( & joiner) , joiner_free - max_additional) ;
258
260
assert_eq!(
259
261
T :: Staking :: active_stake( & scenario. origin1) . unwrap( ) ,
260
262
scenario. dest_weight
@@ -289,7 +291,7 @@ frame_benchmarking::benchmarks! {
289
291
// transfer exactly `extra` to the depositor of the src pool (1),
290
292
let reward_account1 = Pools :: <T >:: create_reward_account( 1 ) ;
291
293
assert!( extra >= CurrencyOf :: <T >:: minimum_balance( ) ) ;
292
- CurrencyOf :: <T >:: deposit_creating ( & reward_account1, extra) ;
294
+ let _ = CurrencyOf :: <T >:: mint_into ( & reward_account1, extra) ;
293
295
294
296
} : _( RuntimeOrigin :: Signed ( claimer) , T :: Lookup :: unlookup( scenario. creator1. clone( ) ) , BondExtra :: Rewards )
295
297
verify {
@@ -309,27 +311,27 @@ frame_benchmarking::benchmarks! {
309
311
let reward_account = Pools :: <T >:: create_reward_account( 1 ) ;
310
312
311
313
// Send funds to the reward account of the pool
312
- CurrencyOf :: <T >:: make_free_balance_be ( & reward_account, ed + origin_weight) ;
314
+ CurrencyOf :: <T >:: set_balance ( & reward_account, ed + origin_weight) ;
313
315
314
316
// set claim preferences to `PermissionlessAll` so any account can claim rewards on member's
315
317
// behalf.
316
318
let _ = Pools :: <T >:: set_claim_permission( RuntimeOrigin :: Signed ( depositor. clone( ) ) . into( ) , ClaimPermission :: PermissionlessAll ) ;
317
319
318
320
// Sanity check
319
321
assert_eq!(
320
- CurrencyOf :: <T >:: free_balance ( & depositor) ,
322
+ CurrencyOf :: <T >:: balance ( & depositor) ,
321
323
origin_weight
322
324
) ;
323
325
324
326
whitelist_account!( depositor) ;
325
327
} : claim_payout_other( RuntimeOrigin :: Signed ( claimer) , depositor. clone( ) )
326
328
verify {
327
329
assert_eq!(
328
- CurrencyOf :: <T >:: free_balance ( & depositor) ,
330
+ CurrencyOf :: <T >:: balance ( & depositor) ,
329
331
origin_weight + commission * origin_weight
330
332
) ;
331
333
assert_eq!(
332
- CurrencyOf :: <T >:: free_balance ( & reward_account) ,
334
+ CurrencyOf :: <T >:: balance ( & reward_account) ,
333
335
ed + commission * origin_weight
334
336
) ;
335
337
}
@@ -383,7 +385,7 @@ frame_benchmarking::benchmarks! {
383
385
T :: Staking :: active_stake( & pool_account) . unwrap( ) ,
384
386
min_create_bond + min_join_bond
385
387
) ;
386
- assert_eq!( CurrencyOf :: <T >:: free_balance ( & joiner) , min_join_bond) ;
388
+ assert_eq!( CurrencyOf :: <T >:: balance ( & joiner) , min_join_bond) ;
387
389
388
390
// Unbond the new member
389
391
Pools :: <T >:: fully_unbond( RuntimeOrigin :: Signed ( joiner. clone( ) ) . into( ) , joiner. clone( ) ) . unwrap( ) ;
@@ -403,7 +405,7 @@ frame_benchmarking::benchmarks! {
403
405
} : _( RuntimeOrigin :: Signed ( pool_account. clone( ) ) , 1 , s)
404
406
verify {
405
407
// The joiners funds didn't change
406
- assert_eq!( CurrencyOf :: <T >:: free_balance ( & joiner) , min_join_bond) ;
408
+ assert_eq!( CurrencyOf :: <T >:: balance ( & joiner) , min_join_bond) ;
407
409
// The unlocking chunk was removed
408
410
assert_eq!( pallet_staking:: Ledger :: <T >:: get( pool_account) . unwrap( ) . unlocking. len( ) , 0 ) ;
409
411
}
@@ -426,7 +428,7 @@ frame_benchmarking::benchmarks! {
426
428
T :: Staking :: active_stake( & pool_account) . unwrap( ) ,
427
429
min_create_bond + min_join_bond
428
430
) ;
429
- assert_eq!( CurrencyOf :: <T >:: free_balance ( & joiner) , min_join_bond) ;
431
+ assert_eq!( CurrencyOf :: <T >:: balance ( & joiner) , min_join_bond) ;
430
432
431
433
// Unbond the new member
432
434
pallet_staking:: CurrentEra :: <T >:: put( 0 ) ;
@@ -447,8 +449,7 @@ frame_benchmarking::benchmarks! {
447
449
} : withdraw_unbonded( RuntimeOrigin :: Signed ( joiner. clone( ) ) , joiner_lookup, s)
448
450
verify {
449
451
assert_eq!(
450
- CurrencyOf :: <T >:: free_balance( & joiner) ,
451
- min_join_bond * 2u32 . into( )
452
+ CurrencyOf :: <T >:: balance( & joiner) , min_join_bond * 2u32 . into( )
452
453
) ;
453
454
// The unlocking chunk was removed
454
455
assert_eq!( pallet_staking:: Ledger :: <T >:: get( & pool_account) . unwrap( ) . unlocking. len( ) , 0 ) ;
@@ -485,7 +486,7 @@ frame_benchmarking::benchmarks! {
485
486
Zero :: zero( )
486
487
) ;
487
488
assert_eq!(
488
- CurrencyOf :: <T >:: free_balance ( & pool_account) ,
489
+ CurrencyOf :: <T >:: balance ( & pool_account) ,
489
490
min_create_bond
490
491
) ;
491
492
assert_eq!( pallet_staking:: Ledger :: <T >:: get( & pool_account) . unwrap( ) . unlocking. len( ) , 1 ) ;
@@ -515,7 +516,7 @@ frame_benchmarking::benchmarks! {
515
516
516
517
// Funds where transferred back correctly
517
518
assert_eq!(
518
- CurrencyOf :: <T >:: free_balance ( & depositor) ,
519
+ CurrencyOf :: <T >:: balance ( & depositor) ,
519
520
// gets bond back + rewards collecting when unbonding
520
521
min_create_bond * 2u32 . into( ) + CurrencyOf :: <T >:: minimum_balance( )
521
522
) ;
@@ -527,7 +528,7 @@ frame_benchmarking::benchmarks! {
527
528
let depositor_lookup = T :: Lookup :: unlookup( depositor. clone( ) ) ;
528
529
529
530
// Give the depositor some balance to bond
530
- CurrencyOf :: <T >:: make_free_balance_be ( & depositor, min_create_bond * 2u32 . into( ) ) ;
531
+ CurrencyOf :: <T >:: set_balance ( & depositor, min_create_bond * 2u32 . into( ) ) ;
531
532
532
533
// Make sure no Pools exist at a pre-condition for our verify checks
533
534
assert_eq!( RewardPools :: <T >:: count( ) , 0 ) ;
@@ -782,7 +783,7 @@ frame_benchmarking::benchmarks! {
782
783
let ed = CurrencyOf :: <T >:: minimum_balance( ) ;
783
784
let ( depositor, pool_account) = create_pool_account:: <T >( 0 , origin_weight, Some ( commission) ) ;
784
785
let reward_account = Pools :: <T >:: create_reward_account( 1 ) ;
785
- CurrencyOf :: <T >:: make_free_balance_be ( & reward_account, ed + origin_weight) ;
786
+ CurrencyOf :: <T >:: set_balance ( & reward_account, ed + origin_weight) ;
786
787
787
788
// member claims a payout to make some commission available.
788
789
let _ = Pools :: <T >:: claim_payout( RuntimeOrigin :: Signed ( claimer) . into( ) ) ;
@@ -791,15 +792,29 @@ frame_benchmarking::benchmarks! {
791
792
} : _( RuntimeOrigin :: Signed ( depositor. clone( ) ) , 1u32 . into( ) )
792
793
verify {
793
794
assert_eq!(
794
- CurrencyOf :: <T >:: free_balance ( & depositor) ,
795
+ CurrencyOf :: <T >:: balance ( & depositor) ,
795
796
origin_weight + commission * origin_weight
796
797
) ;
797
798
assert_eq!(
798
- CurrencyOf :: <T >:: free_balance ( & reward_account) ,
799
+ CurrencyOf :: <T >:: balance ( & reward_account) ,
799
800
ed + commission * origin_weight
800
801
) ;
801
802
}
802
803
804
+ adjust_pool_deposit {
805
+ // Create a pool
806
+ let ( depositor, _) = create_pool_account:: <T >( 0 , Pools :: <T >:: depositor_min_bond( ) * 2u32 . into( ) , None ) ;
807
+
808
+ // Remove ed freeze to create a scenario where the ed deposit needs to be adjusted.
809
+ let _ = Pools :: <T >:: unfreeze_pool_deposit( & Pools :: <T >:: create_reward_account( 1 ) ) ;
810
+ assert!( & Pools :: <T >:: check_ed_imbalance( ) . is_err( ) ) ;
811
+
812
+ whitelist_account!( depositor) ;
813
+ } : _( RuntimeOrigin :: Signed ( depositor) , 1 )
814
+ verify {
815
+ assert!( & Pools :: <T >:: check_ed_imbalance( ) . is_ok( ) ) ;
816
+ }
817
+
803
818
impl_benchmark_test_suite!(
804
819
Pallet ,
805
820
crate :: mock:: new_test_ext( ) ,
0 commit comments