File tree Expand file tree Collapse file tree
pallets/pallet-bonded-coins/src Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1428,8 +1428,10 @@ pub mod pallet {
14281428 Error :: <T >:: NothingToRefund
14291429 ) ;
14301430
1431- let has_holders = pool_details
1432- . bonded_currencies
1431+ // cloning here lets us avoid cloning the pool details later
1432+ let bonded_currencies = pool_details. bonded_currencies . clone ( ) ;
1433+
1434+ let has_holders = bonded_currencies
14331435 . iter ( )
14341436 . any ( |asset_id| T :: Fungibles :: total_issuance ( asset_id. clone ( ) ) > FungiblesBalanceOf :: < T > :: zero ( ) ) ;
14351437 // no token holders to refund
@@ -1440,6 +1442,18 @@ pub mod pallet {
14401442 new_pool_details. state . start_refund ( ) ;
14411443 Pools :: < T > :: set ( & pool_id, Some ( new_pool_details) ) ;
14421444
1445+ // reset team on currencies to avoid unexpected burns etc.
1446+ let pool_account = pool_id. clone ( ) . into ( ) ;
1447+ for asset_id in bonded_currencies {
1448+ T :: Fungibles :: reset_team (
1449+ asset_id,
1450+ pool_account. clone ( ) ,
1451+ pool_account. clone ( ) ,
1452+ pool_account. clone ( ) ,
1453+ pool_account. clone ( ) ,
1454+ ) ?;
1455+ }
1456+
14431457 Self :: deposit_event ( Event :: RefundingStarted { id : pool_id } ) ;
14441458
14451459 Ok ( n_currencies)
You can’t perform that action at this time.
0 commit comments